pour résumé au start le script crée un fichier pid purge les logs et lance le serveur, au restart il stop le serveur (s'il tourne encor) purge les log et démarre un nouveau serveur, et stop il tue le PID du serveur en cours.
maintenant si cela n'est toujours pas adapté personnellement je ne pourrais plus rien pour toi

bon courage
Code: Select all
#!/bin/bash
#
OPTION= /title=SMStorm /dedicated_cfg=dedicated_cfg.txt /game_settings=MatchSettings/SMStormRoyal.txt
start() {
if [ -e "ManiaPlanetServer.pid" ]
then
PID=$(cat "ManiaPlanetServer.pid")
if ps -p $PID > /dev/null
then
echo "Server ManiaPlanetServer(pid:$PID) : already running !"
fi
else
cd Logs/
rm *
cd ..
./ManiaPlanetServer $OPTION
ps aux | grep "ManiaPlanetServer" | grep -v "grep" | awk '{ print $2 }' > "ManiaPlanetServer.pid"
echo "Server ManiaPlanetServer : started !"
fi
}
stop() {
if [ -e "ManiaPlanetServer.pid" ]
then
PID=$(cat "ManiaPlanetServer.pid")
kill -9 $PID
rm "ManiaPlanetServer.pid"
fi
echo -n "Stopping Server : "
if [ -e "ManiaPlanetServer.pid" ]
then
PID=$(cat "ManiaPlanetServer.pid")
kill -9 $PID
rm "ManiaPlanetServer.pid"
echo "Server ManiaPlanetServer : stopped"
else
echo "Server ManiaPlanetServer : already stopped"
fi
}
status() {
if [ -e "ManiaPlanetServer.pid" ]
then
PID=$(cat "ManiaPlanetServer.pid")
if ps -p $PID > /dev/null
then
echo "Server ManiaPlanetServer(pid:$PID) : running"
else
echo "Server ManiaPlanetServer : stopped"
fi
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
restartall)
stop 1
stop 2
stop 3
start 1
start 2
start 3
;;
*)
echo "Usage: {start|stop|restart|status}"
exit 1
;;
esac
exit 0