Bonjour à tous,
Je recherche un tuto pour gérer via un page php, le lancement, reboot, update, stop pour un serveur left4dead.
j'ai deja le script server.sh, mais le soucis je doit me connecter a putty pour executer ces cmd.
J'aimerai que le panel soit héberger sur un site web en dehors du serveur.
le script:
Code :
#!/bin/sh
#############################################
## Script de lancement des serveur ##
#############################################
#############################################
## Début des variables ##
#############################################
# Nom de l'utilisateur
SRCDS_USER="mon_user"
# Nom du screen
SRCDS_NAME="l4d-server01"
# Binaire du serveur
SRCDS_BIN="./srcds_run"
# Repertoire du serveur
SRCDS_PATH="/home/mon_user/server_l4d/l4d/"
# Options de lancement
SRCDS_OPTS="-game left4dead \
+maxplayers 8 \
+map l4d_hospital01_apartment \
+ip 000.000.000.000 \
-port 27025 "
# Ligne de commande pour l'update
STEAM_UPDATE="./steam -game left4dead -command update"
#############################################
## Fin des variables ##
#############################################
usage() {
echo "---------------------------------------------------------------------"
echo "Usage: ${SRCDS_NAME} (stop|start|restart|update|patch)"
echo "---------------------------------------------------------------------"
exit 2
}
if [ -z $1 ]; then
usage
fi
srcds_start() {
echo "---------------------------------------------------------------------"
echo "Lancement du serveur : Debut de la sequence"
echo "---------------------------------------------------------------------"
OWD=`pwd`
cd $SRCDS_PATH
su ${SRCDS_USER} -c "screen -AmdS ${SRCDS_NAME} ${SRCDS_BIN} ${SRCDS_OPTS}"
cd $OWD
echo "---------------------------------------------------------------------"
echo "Lancement du serveur : Fin de la sequence"
echo "---------------------------------------------------------------------"
}
srcds_stop() {
echo "---------------------------------------------------------------------"
echo "Arret du serveur : Debut de la sequence"
echo "---------------------------------------------------------------------"
su ${SRCDS_USER} -c "screen -dr ${SRCDS_NAME} -X quit"
echo "---------------------------------------------------------------------"
echo "Arret du serveur : Fin de la sequence"
echo "---------------------------------------------------------------------"
}
srcds_restart() {
echo "---------------------------------------------------------------------"
echo "Reboot du serveur : Debut de la sequence"
echo "---------------------------------------------------------------------"
srcds_stop
srcds_start
echo "---------------------------------------------------------------------"
echo "Reboot du serveur : Fin de la sequence"
echo "---------------------------------------------------------------------"
}
srcds_update() {
echo "---------------------------------------------------------------------"
echo "Reboot du serveur avec mise a jour : Debut de la sequence"
echo "---------------------------------------------------------------------"
srcds_stop
OWD=`pwd`
cd $SRCDS_PATH
su ${SRCDS_USER} -c "${STEAM_UPDATE}"
cd $OWD
srcds_patch
srcds_start
echo "---------------------------------------------------------------------"
echo "Reboot du serveur avec mise a jour : Fin de la sequence"
echo "---------------------------------------------------------------------"
}
srcds_patch () {
echo "---------------------------------------------------------------------"
echo "Lancement du patch pour Gameinfo.txt : Debut de la sequence"
echo "---------------------------------------------------------------------"
echo "Resultat :"
${SRCDS_PATH}dod/gameinfopatch.sh
echo "Copie du fichier motd.bak en motd.txt"
rm -f ${SRCDS_PATH}dod/motd.txt
cp ${SRCDS_PATH}dod/motd.bak ${SRCDS_PATH}dod/motd.txt
echo "Attribution des droits"
chown ${SRCDS_USER} ${SRCDS_PATH}dod/motd.txt
chown ${SRCDS_USER} ${SRCDS_PATH}dod/gameinfo.txt
echo "---------------------------------------------------------------------"
echo "Fin du patch pour Gameinfo.txt : Fin de la sequence"
echo "---------------------------------------------------------------------"
}
case $1 in
stop)
srcds_stop
;;
start)
srcds_start
;;
restart)
srcds_restart
;;
update)
srcds_update
;;
patch)
srcds_patch
;;
*)
usage
esac
exit 0
merci de vos réponse.