Problème script

Bonjour à tous,

Je suis nouveau sur Debian et sur ce forum :slightly_smiling: 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 :slight_smile:

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é :confused:
Si vous avez des idées je suis preneur :slightly_smiling:

Merci Arthur.

# aptitude install dos2unix $ dos2unix /CHEMIN/VERS/TON/FICHIER
À l’avenir, essaye d’utiliser un éditeur qui respecte les fins de lignes Unix plutôt qu’un machin qui convertit tes fins de lignes à la sauce Windows sans te prévenir.

Bon bien problème résolue pour le moment, j’ai changer l’interpréteur de commande pour :

Merci quand même :slightly_smiling:

En fait merci pour votre programme, il est vrai que cela venait de ça :slightly_smiling:

Merci à toi :slightly_smiling:

Tu aurais mieux fait de placer ce fil dans la section ad hoc, càd “programmation”.
Penses-y la prochaine fois si c’est encore une histoire de program.