PS : Dans ce post, je considère que vous êtes dans le dossier contenant les exécutables de votre serveur.
1) Créer le programme de lancement
• Cette étape est techniquement inutile mais elle est préférable. Cela permet juste de mieux clarifier les fichiers dans le cas où vous auriez plusieurs arguments à mettre pour votre serveur. Si jamais vous sautez cette étape, pensez bien à remplacer "sh startm" par "./mangos-worldd", même chose pour realmd (en changeant "worldd" par "realmd")
Créez un fichier nommé "startm" contenant ceci :
Code :
./mangos-worldd
Code :
./mangos-realmd
2) Créer le restarter
Créez un fichier nommé "restarter-worldd" et mettez ceci :
Code :
#! /bin/bash
while true
do
PID=$(pidof mangos-worldd)
if (( PID < 1 ))
then
sh startm
echo "Le serveur a crashé."
echo "Redémarrage..."
fi
sleep 5
done
Créez un fichier nommé "restarter-realmd" et mettez ceci :
Code :
#! /bin/bash
while true
do
PID=$(pidof mangos-realmd)
if (( PID < 1 ))
then
sh startr
echo "Le serveur a crashé."
echo "Redémarrage..."
fi
sleep 5
done
Il faut ensuite permettre au système d'exploitation d’exécuter ces fichiers (merci à et65 pour le rappel) :
Code :
chmod 755 restarter-*
Explications : Tant que le programme sera lancé, votre machine vérifiera toutes les 5 secondes si le serveur est en marche ou pas. Si il ne l'est pas, elle le lance. Pratique, isn't it ?
3) Lancer le restarter
Exécutez ceci dans un terminal :
Code :
screen -AdmS mangos ./restarter-worldd
screen -AdmS realmd ./restarter-realmd
Et voilà ! Votre restarter est maintenant lancé et votre serveur peut crasher en paix !
PS : Vous pouvez voir l'état du serveur monde en faisant "screen -r mangos" (ou "screen -r realmd" pour voir l'état du serveur de connexion); CTRL A+D pour en sortir.