Bonjour à tous,
Je suis nouveau sur Debian et sur ce forum
Mais j’ai déjà des problèmes, j’ai créer mon premier script bash, qui sert à créer des serveur Counter-Strike : Source.
Tout marcher très bien, mais j’ai voulue l’amélioré avec Notepad++ sur mon PC, et la je sais pas si c’est lié mais ça marche plus, enfin voila mon script :
[code]#!/bin/sh
Installation automatisé d’un serveur Counter-Strike Source
By Tutur ! Avec l’aide de Nagaiika
Couleur Script
VERT="\033[1;32m"
NORMAL="\033[0;39m"
ROUGE="\033[1;31m"
ROSE="\033[1;35m"
BLEU="\033[1;34m"
BLANC="\033[0;02m"
BLANCLAIR="\033[1;08m"
JAUNE="\033[1;33m"
CYAN="\033[1;36m"
Demande à l’utiliataeur
echo -e “$CYAN” "---- Début du scrip ---- “”$NORMAL"
sleep 2;
read -p 'Dossier du serveur : ’ dossier
read -p 'Nombres de slots : ’ slot
read -p 'Map : ’ map
read -p 'Port du serveur : ’ port
read -p 'Voulez-vous créez un compte FTP ?(o/n) ’ ftp
read -p 'Est-ce les bons paramètres ? (o/n) : ’ parametres
Test des paramètres
if [ $parametres == ‘o’ ]
then
echo 'Progression des opérations’
else
echo 'Reprise du script au début…'
exec $0
fi
Création du dossier
echo -e “$CYAN” “---- Création des dossiers ----”"$NORMAL"
sleep 2;
cd /serveurs
if [ -e $dossier ]
then
echo “$ROUGE” “Un dossier du même nom existe déjà” "$NORMAL"
read -p 'Donnez un nouveau nom au serveur : ’ dossier
mkdir $dossier
else
mkdir $dossier
fi
Creation du compte FTP
echo -e “$CYAN” “---- Création du FTP ----”"$NORMAL"
sleep 2;
if [ $ftp == ‘o’ ]
then
adduser $dossier --home /serveurs/$dossier --no-create-home
usermod -s /bin/false $dossier
chown -R $dossier:$dossier /serveurs/$dossier
/etc/init.d/proftpd reload
fi
Instalation de Counter Strike Source
echo -e “$CYAN” “---- Instalation du jeu ----” "$NORMAL"
cd /serveurs/$dossier
wget http://www.steampowered.com/download/hldsupdatetool.bin;
sleep 1;
chmod +x /serveurs/$dossier/hldsupdatetool.bin;
./hldsupdatetool.bin <<< “yes”;
sleep 1;
chmod +x steam;
./steam;
sleep 2;
./steam -command update -game ‘Counter-Strike Source’
./steam -command update -game ‘Counter-Strike Source’ -verify_all
Lancement du screen
echo -e “$CYAN” “---- Lancement du screen (30sec) ----” "$NORMAL"
cd /serveurs/$dossier/css
screen -dmS $dossier ./srcds_run -game cstrike +map $map +maxplayers $slot -autoupdate -console -port $port -ip ...** -tickrate 66 +sv_lan 0 +fps_max 70
sleep 30;
echo -e “$CYAN” “---- Reboot du screen (30sec) ----” "$NORMAL"
screen -dr $dossier -X quit
screen -dmS $dossier ./srcds_run -game cstrike +map $map +maxplayers $slot -autoupdate -console -port $port -ip ...** -tickrate 66 +sv_lan 0 +fps_max 70
sleep 30;
Ajout du serveur dans le demarrage automatique de Debian
echo -e “$CYAN” “---- Ajout du serveur dans le demarrage automatique de Debian ----” “$NORMAL"
echo ‘#!/bin/bash’ >> /etc/init.d/$dossier.sh
echo ‘##########################################’ >> /etc/init.d/$dossier.sh
echo ‘## Script Et Configuration Par Nagaiika ##’ >> /etc/init.d/$dossier.sh
echo ‘##########################################’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘###############################################’ >> /etc/init.d/$dossier.sh
echo ‘## Script de Lancement des Serveurs de Jeux ##’ >> /etc/init.d/$dossier.sh
echo ‘###############################################’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘() {’ >> /etc/init.d/$dossier.sh
echo ’ echo “-----------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ’ echo “Usage:(stop|start|restart|update)”’ >> /etc/init.d/$dossier.sh
echo ’ echo “-----------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ’ exit 2’ >> /etc/init.d/$dossier.sh
echo ‘}’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘if [ -z $1 ]; then’ >> /etc/init.d/$dossier.sh
echo ‘usage’ >> /etc/init.d/$dossier.sh
echo ‘fi’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘srcds_start() {’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo “Lancement du serveur : Début de la séquence”’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo "Commande de lancement : [’$dossier’ START]”’ >> /etc/init.d/$dossier.sh
echo ‘cd /serveurs/’$dossier’/css; screen -dmS ‘$dossier’ ./srcds_run -game cstrike +map ‘$map’ +maxplayers ‘$slot’ -autoupdate -console -port ‘$port’ -ip ...** -tickrate 66 +sv_lan 0 +fps_max 70’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo “Lancement du serveur : Fin de la séquence”’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘}’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘srcds_stop() {’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo “Arrêt du serveur : Début de la séquence”’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo "Commande de lancement : [’$dossier’ STOP]"’ >> /etc/init.d/$dossier.sh
echo ‘screen -dr ‘$dossier’ -X quit’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo “Arrêt du serveur : Fin de la séquence”’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘}’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘srcds_restart() {’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo “Reboot du serveur : Début de la séquence”’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘srcds_stop’ >> /etc/init.d/$dossier.sh
echo ‘sleep 5’ >> /etc/init.d/$dossier.sh
echo ‘srcds_start’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo “Reboot du serveur : Fin de la séquence”’ >> /etc/init.d/$dossier.sh
echo ‘echo “------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘}’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘srcds_update() {’ >> /etc/init.d/$dossier.sh
echo ‘echo “---------------------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo “Reboot du serveur avec mise a jour : Debut de la sequence”’ >> /etc/init.d/$dossier.sh
echo ‘echo “---------------------------------------------------------------------”‘
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘## Arrêt du serveur ##’ >> /etc/init.d/$dossier.sh
echo ‘srcds_stop’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘## Mise à jour ##’ >> /etc/init.d/$dossier.sh
echo ‘cd /serveurs/’$dossier’ && ./steam -command update -game “Counter-Strike Source” -dir css’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘echo “---------------------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘echo “Reboot du serveur avec mise a jour : Fin de la sequence”’ >> /etc/init.d/$dossier.sh
echo ‘echo “---------------------------------------------------------------------”’ >> /etc/init.d/$dossier.sh
echo ‘}’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘case $1 in’ >> /etc/init.d/$dossier.sh
echo ’ start)’ >> /etc/init.d/$dossier.sh
echo ’ srcds_start’ >> /etc/init.d/$dossier.sh
echo ’ ;;’ >> /etc/init.d/$dossier.sh
echo ’ stop)’ >> /etc/init.d/$dossier.sh
echo ’ srcds_stop’ >> /etc/init.d/$dossier.sh
echo ’ ;;’ >> /etc/init.d/$dossier.sh
echo ’ restart)’ >> /etc/init.d/$dossier.sh
echo ’ srcds_restart’ >> /etc/init.d/$dossier.sh
echo ’ ;;’ >> /etc/init.d/$dossier.sh
echo ’ *)’ >> /etc/init.d/$dossier.sh
echo ‘’ >> /etc/init.d/$dossier.sh
echo ‘esac’ >> /etc/init.d/$dossier.sh
echo ‘exit 0’ >> /etc/init.d/$dossier.sh
chmod +x /etc/init.d/$dossier.sh
cd /etc/init.d
update-rc.d $dossier.sh start defaults
echo “alias “$dossier"start=’/etc/init.d/”$dossier”.sh start’" >> /root/.bashrc
echo “alias “$dossier"stop=’/etc/init.d/”$dossier”.sh stop’" >> /root/.bashrc
echo “alias “$dossier"restart=’/etc/init.d/”$dossier”.sh restart’" >> /root/.bashrc
echo “alias “$dossier"update=’/etc/init.d/”$dossier”.sh update’" >> /root/.bashrc
FIN
echo -e “$CYAN” “---- FIN ----” "$NORMAL"
cd /serveurs
echo -e “$ROUGE” ""
echo -e 'Le serveur Counter-Strike : Source à bien été installé. La screen du serveur est ‘$dossier’'
echo -e 'Le port est ‘$port’'
echo -e 'Votre map choisie : ‘$map’'
echo -e 'Nombre de slot : ‘$slot’'
echo -e 'Alias créer :'
echo -e ’ Start : '$dossier’start’
echo -e ’ Stop : '$dossier’stop’
echo -e ’ Restart : '$dossier’restart’
echo -e ’ Update : ‘$dossier’update’
if [ $ftp == ‘o’ ]
then
echo -e 'Un compte FTP à été créer, voici les information : '
echo -e ’ IP : ...**'
echo -e ’ ID : ‘$dossier’'
echo -e ’ Mot de pass définie par vos soins’
else
echo 'Aucun compte FTP à été créer’
fi
echo -e “$NORMAL”
echo “Merci d’avoir utiliser le script, créer par votre Dieu : ARTHUR :D”[/code]
Mais il me renvoie ceci :
> root@Arthur[**.***.**.***]:/serveurs# . install.sh
: commande introuvable
: commande introuvable
: commande introuvable
: commande introuvable
: commande introuvable
---- Début du scrip ----
: commande introuvable
Dossier du serveur : 123
» : identifiant non valable
Nombres de slots : 123
» : identifiant non valable
Map : 123
» : identifiant non valable
Port du serveur : 123
» : identifiant non valable
Voulez-vous créez un compte FTP ?(o/n) 123
» : identifiant non valable
Est-ce les bons paramètres ? (o/n) : n
» : identifiant non valable
: commande introuvable
: commande introuvable
-bash: install.sh: line 219: Erreur de syntaxe : fin de fichier prématurée
Donc je tient à préciser que les couleurs fonctionne, j’ai vérifié 
Si vous avez des idées je suis preneur 
Merci Arthur.