Page 1 of 3
Multi processus SM sous linux
Posted: 15 Jun 2013, 10:26
by shadowgaming
Bonjour,
a chaque fois que je redémarre mon serveur shootmania il me créer un autre processus dans mes processus linux, est il possible d'avoir une commande stop afin de kill le processus avant qu'il en démarre un autre ?
Cordialement
Re: Multi processus SM sous linux
Posted: 15 Jun 2013, 10:29
by shadowgaming
voici la ma commande de lancement :
./ManiaPlanetServer /game_settings=MatchSettings/SMStormElite.txt /dedicated_cfg=$SERVERCONFIG /title=SMStormElite@nadeolabs
Re: Multi processus SM sous linux
Posted: 15 Jun 2013, 11:59
by TMarc
tu devrais te créer un petit script qui cherche le processus en marche actuellement, puis tu le kill.
la liste des processus actifs:
ps -aux | grep maniaplanetserver
ou semblable (ça fait 10 ans que je n'ai plus touché à linux

)
Re: Multi processus SM sous linux
Posted: 15 Jun 2013, 14:00
by shadowgaming
il n'y a aucune commande pour stoper le serveur ?
Re: Multi processus SM sous linux
Posted: 15 Jun 2013, 17:28
by TMarc
si, il y a une requête xml rpc pour le shutdown.
Mais il te faut un controlleur de serveur
https://github.com/maniaplanet/document ... r/basic.md
Re: Multi processus SM sous linux
Posted: 15 Jun 2013, 20:38
by shadowgaming
oui j'ai sa mais il y a aucune commande de stop pour linux ?
Re: Multi processus SM sous linux
Posted: 15 Jun 2013, 22:36
by TMarc
ben, dans certains scritps de serveurs, il y a certainement un bouton ou un lien qui déclanche l'arrêt du serveur,
mais c'est à voir avec le script de serveur.
Essaye de trouver en cherchant dans les forums sur TM.
Re: Multi processus SM sous linux
Posted: 16 Jun 2013, 09:51
by P1n0u
Il y a déjà eu des scripts de démarrage de fait, mais je te passe le mien qui est un peu modifié.
Tu devra démarré ton serveur avec le script pour qu'il sache le fermer
les options sont (start, stop, restart et status)
personnellement je renomme en plus l'executable "ManiaPlanetServer" en "Elite1", "Elite2"... afin d'avoir au premier coup d'oeil dans la liste des processus une vision claire des différent serveur qui sont sur la même machine.
Code: Select all
#!/bin/bash
#
SRV_PATH=/home/maniaplanet/
PID_PATH=/home/maniaplanet/
OPTION= /title=SMStorm /dedicated_cfg=dedicated_cfg.txt /game_settings=MatchSettings/SMStormRoyal.txt
start() {
if [ -e "$PID_PATH/ManiaPlanetServer.pid" ]
then
PID=$(cat "$PID_PATH/ManiaPlanetServer.pid")
if ps -p $PID > /dev/null
then
echo "Server ManiaPlanetServer(pid:$PID) : already running !"
fi
else
cd $SRV_PATH/Logs/
rm *
cd $SRV_PATH
./ManiaPlanetServer $OPTION
ps aux | grep "ManiaPlanetServer" | grep -v "grep" | awk '{ print $2 }' > "$PID_PATH/ManiaPlanetServer.pid"
echo "Server ManiaPlanetServer : started !"
fi
}
stop() {
if [ -e "$PID_PATH/ManiaPlanetServer.pid" ]
then
PID=$(cat "$PID_PATH/ManiaPlanetServer.pid")
kill -9 $PID
rm "$PID_PATH/ManiaPlanetServer.pid"
fi
echo -n "Stopping Server : "
if [ -e "$PID_PATH/ManiaPlanetServer.pid" ]
then
PID=$(cat "$PID_PATH/ManiaPlanetServer.pid")
kill -9 $PID
rm "$PID_PATH/ManiaPlanetServer.pid"
echo "Server ManiaPlanetServer : stopped"
else
echo "Server ManiaPlanetServer : already stopped"
fi
}
status() {
if [ -e "$PID_PATH/ManiaPlanetServer.pid" ]
then
PID=$(cat "$PID_PATH/ManiaPlanetServer.pid")
if ps -p $PID > /dev/null
then
echo "Server ManiaPlanetServer(pid:$PID) : running"
else
echo "Server ManiaPlanetServer : stopped"
fi
fi
}
if [ -d $PID_PATH ]
then
echo -n ""
else
mkdir $PID_PATH
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
Re: Multi processus SM sous linux
Posted: 16 Jun 2013, 11:01
by shadowgaming
merci, moi il me faudrait uniquement la commande pour stopper le serveur ou le processus linux, je suis directeur d'une société de location de serveurs de jeux, les commandes de start et de reboot marche mais quand un client reboot, cela me créer un autre processus linux
Re: Multi processus SM sous linux
Posted: 16 Jun 2013, 11:33
by P1n0u
Enchanté Msieur le directeur
Vous effectuez le reboot par qu'elle methode ?
Regardez dans mon shell, il y a tout pour retrouver un nouveau PID.
exemple :
Code: Select all
ps aux | grep "ManiaPlanetServer" | grep -v "grep" | awk '{ print $2 }' > "$PID_PATH/ManiaPlanetServer.pid"
me retourne le PID et le note dans le fichier "ManiaPlanetServer.pid"