Voyons comment installer un script stop-start-reboot serveur Counter-Strike: Source et Counter-Strike 2.
Avec ce script vous pourrez stopper, démarrer, redémarrer (reboot) votre serveur de jeux.
Je vous donnerai également la méthode pour reboot votre serveur tous les jours à heure fixe et démarrer automatiquement si votre serveur dédié vient à être reboot.
Pour commencer, sachez que je reprends les exemples donnés sur l’installation d’un serveur CSS et CS2 avec les mêmes chemins que sur le serveur dédié donc n'oubliez pas d'adapter les lignes.
Installation
Le serveur est installé dans
pour CSS
Code : Tout sélectionner
/home/papy/css/serveur1Code : Tout sélectionner
/home/papy/cs2/serveur1Pour CSS
Code : Tout sélectionner
nano /etc/init.d/cssserv1.shCode : Tout sélectionner
nano /etc/init.d/cs2serv1.shPour CSS
Code : Tout sélectionner
#!/bin/sh
### BEGIN INIT INFO
# Provides: cssserv1.sh
# Required-Start: $network $local_fs $remote_fs dbus
# Required-Stop: $network $local_fs $remote_fs dbus
# Should-Start: $mysql
# Should-Stop: $mysql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: serveur 1 css
# Description: script start - stop et restart serveur 1 css.
### END INIT INFO
#############################################
## Début des variables ##
#############################################
# Nom de l'utilisateur
SRCDS_USER="papy"
# Nom du screen
SRCDS_NAME="cssserv1"
# Binaire du serveur
SRCDS_BIN="./srcds_run"
# Repertoire du serveur
SRCDS_PATH="/home/papy/css/serveur1/"
# Options de lancement
SRCDS_OPTS="-game cstrike \
-tickrate 66 \
+maxplayers 24 \
+map de_dust2 \
-port 27015"
#############################################
## Fin des variables ##
#############################################
usage() {
echo "Usage: ${SRCDS_NAME} (stop|start|restart)"
exit 2
}
if [ -z $1 ]; then
usage
fi
srcds_start() {
OWD=`pwd`
cd $SRCDS_PATH
su ${SRCDS_USER} -c "screen -AmdS ${SRCDS_NAME} ${SRCDS_BIN} ${SRCDS_OPTS}"
cd $OWD
echo "Démarrage du serveur 1 css"
}
srcds_stop() {
su ${SRCDS_USER} -c "screen -dr ${SRCDS_NAME} -X quit"
echo "Arrêt du serveur 1 css"
}
srcds_restart() {
srcds_stop
srcds_start
echo "Serveur 1 css reboot"
}
case $1 in
stop)
srcds_stop
;;
start)
srcds_start
;;
restart)
srcds_restart
;;
*)
usage
esac
exit 0modifier le nom du fichier du script en mettant celui que vous avez choisis
Code : Tout sélectionner
# Provides: cssserv1.shCode : Tout sélectionner
# Short-Description: serveur 1 css
# Description: script start - stop et restart serveur 1 css.Code : Tout sélectionner
SRCDS_USER="papy"Code : Tout sélectionner
SRCDS_NAME="cs2serv1"Code : Tout sélectionner
SRCDS_PATH="/home/papy/css/serveur1/"Donc en fonction du serveur que vous voulez faire vous devez mettre les bonnes infos.
Vous constaterez qu’à la fin de chaque ligne il y a un espace et \. Il n’y a que sur la dernière option que vous n’en mettez pas et par contre il y a un " donc faites bien attention. Si vous ajoutez ou retirez des options faites très attention à ceci.
Code : Tout sélectionner
# Options de lancement
SRCDS_OPTS="-game cstrike \
-tickrate 66 \
+maxplayers 24 \
+map de_dust2 \
-port 27015"Lorsque le fichier est terminé et après avoir vérifié que tout est bon vous pouvez le fermer en faisant le manipulation de touche suivante ctrl + x ensuite la touche « o » ou « y » selon si vous avez mis en FR (o = oui) ou en EN (y = yes=) et pour finir la touche Entrée.
Je vous montre maintenant pour CS2 mais sans revenir sur tout le détails, vous devrez faire la même chose. Voici le script
Code : Tout sélectionner
#!/bin/sh
### BEGIN INIT INFO
# Provides: cs2serv1.sh
# Required-Start: $network $local_fs $remote_fs dbus
# Required-Stop: $network $local_fs $remote_fs dbus
# Should-Start: $mysql
# Should-Stop: $mysql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: serveur 1 cs2
# Description: script start - stop et restart serveur 1 cs2.
### END INIT INFO
#############################################
## Début des variables ##
#############################################
# Nom de l'utilisateur
SRCDS_USER="papy"
# Nom du screen
SRCDS_NAME="cs2serv1"
# Binaire du serveur
SRCDS_BIN="./cs2"
# Repertoire du serveur
SRCDS_PATH="/home/papy/cs2/serveur1/game/bin/linuxsteamrt64/"
# Options de lancement
SRCDS_OPTS="-dedicated \
+game_alias casual \
+game_mode 0 \
+game_type 0 \
-usercon \
-maxplayers 16 \
+map de_dust2 \
-port 27015 \
-secure \
+sv_setsteamaccount XXXXXXXXXXXXXXXXXXXXXXXX"
#############################################
## Fin des variables ##
#############################################
usage() {
echo "Usage: ${SRCDS_NAME} (stop|start|restart)"
exit 2
}
if [ -z $1 ]; then
usage
fi
srcds_start() {
OWD=`pwd`
cd $SRCDS_PATH
su ${SRCDS_USER} -c "screen -AmdS ${SRCDS_NAME} ${SRCDS_BIN} ${SRCDS_OPTS}"
cd $OWD
echo "Démarrage du serveur 1 cs2"
}
srcds_stop() {
su ${SRCDS_USER} -c "screen -dr ${SRCDS_NAME} -X quit"
echo "Arrêt du serveur 1 cs2"
}
srcds_restart() {
srcds_stop
srcds_start
echo "Serveur 1 cs2 reboot"
}
case $1 in
stop)
srcds_stop
;;
start)
srcds_start
;;
restart)
srcds_restart
;;
*)
usage
esac
exit 0maintenant vous changez les droits d’accès au fichier avec la commande
Code : Tout sélectionner
pour CSS
chmod 755 /etc/init.d/cssserv1.sh
pour CS2
chmod 755 /etc/init.d/cs2serv1.shCode : Tout sélectionner
cd /usr/sbinCode : Tout sélectionner
pour CSS
ln -s /etc/init.d/cssserv1.sh cssserv1
pour CS2
ln -s /etc/init.d/cs2serv1.sh cs2serv1Lorsque vous serez connecté sur votre serveur dédié il vous suffira de taper
- cssserv1 ou cs2serv1 start = pour démarrer votre serveur.
- cssserv1 ou cs2serv1 restart = pour redémarrer votre serveur. (reboot)
- cssserv1 ou cs2serv1 stop = pour stopper votre serveur.
Voyons maintenant le démarrage automatique du serveur en cas de reboot du serveur dédié.
Démarrage automatique du serveur en cas de reboot du serveur dédié
Pour se faire vous tapez
Code : Tout sélectionner
cd /etc/init.d/Code : Tout sélectionner
pour CSS
update-rc.d cssserv1.sh defaults
pour CS2
update-rc.d cs2serv1.sh defaultsCode : Tout sélectionner
pour CSS
update-rc.d -f cssserv1.sh remove
pour CS2
update-rc.d -f cs2serv1.sh removeReboot journalier
Si vous voulez redémarrer tous les jours votre serveur (conseillé) il faut que crontab soit installé sur votre serveur dédié.
S’il n’est pas déjà installé faites-le avec la commande suivante
Code : Tout sélectionner
apt install cron -yCode : Tout sélectionner
crontab -eVous allez tout en bas et vous mettez cette ligne
Code : Tout sélectionner
pour CSS
30 7 * * * /etc/init.d/cssserv1.sh restart
pour CS2
30 7 * * * /etc/init.d/cs2serv1.sh restartPour mieux comprendre le fonctionnement et les possibilités :
je pars de la gauche vers la droite donc vous compterez les *
- 30 = ce sont les minutes de 0 à 59.
- 7 = ce sont les heures de 0 à 23.
- * = c’est le jour du mois entre 1 et 31.
- * = c’est le mois de l’année entre 1 et 12.
- * = c’est le jour de la semaine qui va de 0 (dimanche) à 6.
- /etc/init.d/cssserv1.sh ou /etc/init.d/cs2serv1.shrestart = la commande qui sera exécuté.
Exemples :
Vous voulez reboot votre serveur 1 fois par semaine le lundi à 7h30, dans ce cas la ligne sera
Code : Tout sélectionner
pour CSS
30 7 * * 1 /etc/init.d/cssserv1.sh restart
pour CS2
30 7 * * 1 /etc/init.d/cs2serv1.sh restartCode : Tout sélectionner
pour CSS
30 7 * * 1,5 /etc/init.d/cssserv1.sh restart
pour CS2
30 7 * * 1,5 /etc/init.d/cs2serv1.sh restartVotre script stop-start-reboot serveur Counter-Strike:Source ou Counter-Strike 2 est installé. Désormais toute cette partie est automatisée.
