#!/bin/sh
## Ce script aura pour vocation de tourner en crontab toutes les minutes
## Au cas ou le serveur planterait
## Machine dédié sans autres screens
## Fonction clean all
function clean_all() {
killall -9 screen
killall -9 q3ded
}
# Fonction redémarrage
function restart_sv() {
cd /usr/local/games/quake3
/usr/bin/screen -dmS serveur ./start
}
# Vérification d'activité du process
PROCESS_CHECK=`ps auxxw | grep q3ded`
PROCESS_CHECK_STATUS=$?
# Si le process est absent
if [ "$PROCESS_CHECK_STATUS" == "1" ] ; then
clean_all
restart_sv
fi
# On vérifie si le screen est présent
SCREEN_CHECK=`ps auxxw | grep "SCREEN -dmS serveur"`
SCREEN_CHECK_STATUS=$?
# Si le screen est manquant
if [ "$SCREEN_CHECK_STATUS" == "1" ] ; then
# On kill tout avant de restart
clean_all
restart_sv
fi
# On vérifie le plugin admin
ADMIN_MOD_CHECK=`ps auxxw | grep server_linux`
ADMIN_MOD_CHECK_STATUS=$?
# Si le process du plug admin n'est pas lancé
if [ "$ADMIN_MOD_CHECK_STATUS" == "1" ] ; then
# On le stop (on sait jamais)/ démarre
cd /opt/teamspeak/
/opt/teamspeak/teamspeak2-server_startscript stop
/opt/teamspeak/teamspeak2-server_startscript start
fi
## END