ChrisMD
Haudegen
Ich muss ja einem helfen (der noch weniger Ahnung von Debian hat als ich) einen Rootserver am laufen zu halten. Ist ja auch kein Problem aber man macht sich ja gern die Arbeit leichter.
Auf counter-strike.de gabs fertige Startupscripte.
Die hab ich auch unter SuSE benutzt wo sie wunderbar laufen.
Aber auf der frischen Sarge Installation hab ich damit Probleme.
Erstens kennt er die Option su -l nicht. Ok dacht ich mir entfern halt das l dann sollte es ja auch gehen, scheint es dann auch.
Jetzt hab ich aber das Problem dass das Script nicht "merkt" das der Server schon läuft. Das Script startet ihn zwar, gibt aber bei Status aus das er ja DOWN wäre bzw. ich kann nicht stoppen da es behauptet man könne einen Server der DOWN ist ja nicht stoppen.
Was muss ich dran ändern das oben genanntes nicht mehr auftritt?
Am besten wärs wenn mir einer ein Script machen könnte das diese Aufgabe erledigt aber etwas simpler ist und auch abwärtskompatibel.
Aber muss ja nich unbedingt sein wenn ich weiß was daran falsch ist.
Das Script sieht wie folgt aus:
Auf counter-strike.de gabs fertige Startupscripte.
Die hab ich auch unter SuSE benutzt wo sie wunderbar laufen.
Aber auf der frischen Sarge Installation hab ich damit Probleme.
Erstens kennt er die Option su -l nicht. Ok dacht ich mir entfern halt das l dann sollte es ja auch gehen, scheint es dann auch.
Jetzt hab ich aber das Problem dass das Script nicht "merkt" das der Server schon läuft. Das Script startet ihn zwar, gibt aber bei Status aus das er ja DOWN wäre bzw. ich kann nicht stoppen da es behauptet man könne einen Server der DOWN ist ja nicht stoppen.
Was muss ich dran ändern das oben genanntes nicht mehr auftritt?
Am besten wärs wenn mir einer ein Script machen könnte das diese Aufgabe erledigt aber etwas simpler ist und auch abwärtskompatibel.
Aber muss ja nich unbedingt sein wenn ich weiß was daran falsch ist.
Das Script sieht wie folgt aus:
Code:
# !!!!!!!!!!!!!! CHANGE THIS TO THE USER YOU USE FOR YOUR SERVER !!!!!!!!!!!!!!!
CS_USER=server
# You must be logged in as this user (not by su!) to re-attach the screen!
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# # DON'T FORGET TO CHANGE THE PATH TO YOUR NEEDS!
DIR=~server/srcds_war1
DAEMON=srcds_run
# LAN-server:
#PARAMS="-game cstrike -nomaster -insecure +sv_lan 1 +maxplayers 16 +map de_dust"
# Internet-server:
PARAMS="-game cstrike +map de_dust2 +maxplayers 12 -port 27015 -tickrate 100 -autoupdate"
NAME=srcds_war1
start() {
echo "Starting $NAME"
if [ -e $DIR ];
then
su $CS_USER -l -c "cd $DIR ; screen -d -m -S $NAME ./$DAEMON $PARAMS"
echo " ... done."
else echo "No such directory: $DIR!"
fi
}
stop () {
if [[ `su $CS_USER -l -c "screen -ls" | grep $NAME` ]]
then
echo -n "Stopping $NAME"
kill $(su $CS_USER -l -c "screen -ls" | awk -F . "\$2 ~ /$NAME.*/ {print \$1}" | awk '{print $1}')
echo " ... done."
else
echo "$NAME could not be found. Probably not running."
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
su $CS_USER -l -c "screen -ls" | grep $NAME > /dev/null
CHECK=$?
[ $CHECK -eq 0 ] && echo "$NAME is UP" || echo "$NAME is DOWN"
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0