Zitat von darnouar
Ja natürlich ist es möglich! Du kannst z.B einen Crontab machen der jedes Mal um 0400 die Kiste mit "shutdown -r now" neu startet. Du musst aber auch ein Script bauen, welches die Gameserver dann hinunterfährt (Besser sauber beenden, als garnicht!), und schließlich wieder hochfährt.
MayBe Usefull (Cronjob und so)
Als kleine Anmerkung am Rande:
Es wird der start-stop-daemon verwendet da einige Spiele in der Lage sind sich mit PID Files handeln zu lassen, was bei Valve Games nicht geht da der "Daemon" srcds_run nichts weiter als ein Script ist dass den eigentlichen Daemon in einem anderen Prozess spawned.
Deswegen nochmal erneut der Umweg durch "killall"
Bei anderen Games geht das Ganze aber wunderbar ohne ein killall o.Ä.
#!/bin/bash
#
# start/stop Script
DAEMON=/home/cssw1/srcds_run
DIR=/home/cssw1
PARAMETERS="-game cstrike +ip xxx.xxx.xxx.xxx +port 27015 +maxplayers 15 +map de_dust2 -tickrate 100 +fps_max 600 -tv_relay xxx.xxx.xxx.xxx:27020 -autoupdate"
USER=cssw1
SRVNAME="CS:S War 1"
if ! [ -x $DAEMON ]; then
exit 1
fi
stop_srv() {
sudo -u $USER killall srcds_run > /dev/null 2>&1
sudo -u $USER killall srcds_i686 > /dev/null 2>&1
}
start_srv() {
sudo -u $USER start-stop-daemon --chdir $DIR --start --quiet --exec $DAEMON -- $PARAMETERS > /dev/null 2>&1 &
}
case "$1" in
start)
start_srv
echo ""$SRVNAME" Server gestartet"
;;
stop)
stop_srv
echo ""$SRVNAME" Server gestoppt"
;;
restart)
stop_srv
echo ""$SRVNAME" Server gestoppt..."
i=0
while [ $i -le 9 ]
do
echo -n ""$i"-"
sleep 1
i=$[$i+1]
done
echo -n "10: "
start_srv
echo ""$SRVNAME" Server neugestartet"
;;
*)
echo "Usage: ./<scriptname>.sh {start|stop|restart}"
exit 1
;;
esac
exit 0
Alles anzeigen