Archiv verlassen und diese Seite im Standarddesign anzeigen : CS:S Server ab 3 uhr restarten
Hallöchen,
kann mir jemand ma helfen wie ich nen CS:S Server ab einer bestimmten Zeit wie zB 3 uhr früh zum selber restarten bekomme?
weil möchte ihn net immer von hand aus restarten lassen.
mfg
Du musst nur n Script schreiben, wass dem Prozess kill und wieder neu startet, das wird dann mit Crontab um 3.00 ausgeführt und er startet neu, ganz einfach...
:o thx aber leider hab ich keine ahnung von den scripten bzw weiss net ma selber wie ich eins schreiben muss! Gibs irgendwo beispiele?
Unter /etc/init.d gibt es eine große Anzahl an Scripten, und mit Google findet man zig Anleitungen dazu.
Hilfe zu cron gibts per 'man 5 crontab'.
http://213.202.214.115/downloads/cs.sh
Anstelle von hlds_boost musst du halt die normale Startdatei nutzen.
Das Script ist selbsterklährend. ;)
thx @ suxxess! Hab es ma umgeschrieben aber wie meinst du das anstelle von hlds_boost soll ich die startdatei nehmen? ^^ Wenn ich das script im ausführen will kommt immer "-bash: ./cs.sh: cannot execute binary file" :o
MMhh sorry wenn ich mich so blöd anstelle aber bin noch in der Lernphase von Linux
edit:
Hab es jetzt so umgeschrieben und bekomm nun nen Fehla von Server obwohl die Datei im verzeichniss liegt!
./cs.sh
: Datei oder Verzeichnis nicht gefunden
Hier ma das script von mir
#! /bin/sh
#scriptquelle : http://www.linuxforen.de
NAME=css
DESC="Counter-Strike Source"
PARAMS="-binary ./srcds_run -game cstrike +maxplayers 20 +map de_dust2 +ip XXXXXXXX +port 27015 -tickrate 66"
DIR=/srv/www/htdocs/web1/games/
SCRIPT=srcds_run
DAEMON=$DIR/$SCRIPT
case "$1" in
start)
echo "Starte $DESC: $NAME"
cd $DIR
screen -d -m -S $NAME $DAEMON $PARAMS
;;
stop)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n "Stoppe $DESC: $NAME"
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... Server gestoppt."
else
echo "Konnte keinen laufenden Server mit PID -- $DESC -- nicht finden"
fi
;;
restart)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n "Stoppe $DESC: $NAME"
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... Server gestoppt ... Kommando Start wird ausgeführt"
else
echo "Konnte keinen laufenden Server mit PID -- $DESC -- nicht finden ... Kommando Start wird ausgeführt"
fi
echo -n "Starte $DESC: $NAME"
cd $DIR
screen -d -m -S $NAME $DAEMON $PARAMS
echo " ... Server gestartet."
;;
*)
echo "Usage: $0 Parameter eingeben {start|stop|restart}"
exit 1
;;
esac
exit 0
Erstmal ausführbar machen:
1) chmod 755 cs.sh
Das Script funktioniert folgendermasen
./cs.sh start
./cs.sh restart
./cs.sh stop
(Die Startbefehle hättest du auch angezeigt bekommen wenn du die Rechte richtig gesetzt hättest, daher hab ich sie oben nicht dazugeschrieben.)
Ich hab das mal kurz selber für Source ausprobiert:
Es sollte so lauten:
PARAMS="+maxplayers 20 +map de_dust2 +ip XXXXXXXX +port 27015 -tickrate 66 +exec server.cfg" (Das sollte eigentlich reichen, es sei denn die Angabe der zu verwendeten bin Datei funktioniert auch bei Source)
DIR=/srv/www/htdocs/web1/games (das "/" weg)
SCRIPT=srcds_run
mmh hab den die rechte von 755 gegeben aber es kommt immer noch der fehla
bash: ./cs.sh: cannot execute binary file
masteryoda1047
08.09.05, 22:03
wieso binary file?? das ist doch ein skript, hast du vielleicht steuerzeichen beim kopieren des skripts rein bekommen?
twelvemoons
09.09.05, 13:48
Ich starte meinen cs Server täglich um 6:30 Uhr neu, in dem ich ein rcon quit an den server über ein kommandozeilen tool (http://kkrcon.sourceforge.net/) sende. Wichtig ist, dass der server mit -autoupdate gestartet wurde. Das ganze ist natürlich über cron automatisierbar.
Eike
Ich hab doch geschrieben das es ein Script für einen CS 1.6 Server war. Wenn Source den -binary Befehl nicht kennt dann muss der natürlich da rausgenommen werden.
#! /bin/sh
#scriptquelle : http://www.linuxforen.de
NAME=css
DESC="Counter-Strike Source"
PARAMS="+maxplayers 20 +map de_dust2 +ip XXXXXXXX +port 27015 -tickrate 66"
DIR=/srv/www/htdocs/web1/games/
SCRIPT=srcds_run
DAEMON=$DIR/$SCRIPT
case "$1" in
start)
echo "Starte $DESC: $NAME"
cd $DIR
screen -d -m -S $NAME $DAEMON $PARAMS
;;
stop)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n "Stoppe $DESC: $NAME"
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... Server gestoppt."
else
echo "Konnte keinen laufenden Server mit PID -- $DESC -- nicht finden"
fi
;;
restart)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n "Stoppe $DESC: $NAME"
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... Server gestoppt ... Kommando Start wird ausgeführt"
else
echo "Konnte keinen laufenden Server mit PID -- $DESC -- nicht finden ... Kommando Start wird ausgeführt"
fi
echo -n "Starte $DESC: $NAME"
cd $DIR
screen -d -m -S $NAME $DAEMON $PARAMS
echo " ... Server gestartet."
;;
*)
echo "Usage: $0 Parameter eingeben {start|stop|restart}"
exit 1
;;
esac
exit 0
MfG Suxxess
linuxNightmare
14.09.05, 20:17
geht der script auch so
#! /bin/sh
#scriptquelle : http://www.linuxforen.de
NAME=bf2.toxic
DESC="Battlefield 2 Toxic"
PARAMS="./start.sh"
DIR=srv/www/htdocs/web0/html/toxic/bf2-Team.Toxic
SCRIPT=start.sh
DAEMON=$DIR/$SCRIPT
case "$1" in
start)
echo "Starte $DESC: $NAME"
cd $DIR
screen -A -d -m -S $NAME $DAEMON $PARAMS
;;
stop)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n "Stoppe $DESC: $NAME"
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... Server gestoppt."
else
echo "Konnte keinen laufenden Server mit PID -- $DESC -- nicht finden"
fi
;;
restart)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n "Stoppe $DESC: $NAME"
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... Server gestoppt ... Kommando Start wird ausgeführt"
else
echo "Konnte keinen laufenden Server mit PID -- $DESC -- nicht finden ... Kommando Start wird ausgeführt"
fi
echo -n "Starte $DESC: $NAME"
cd $DIR
screen -d -m -S $NAME $DAEMON $PARAMS
echo " ... Server gestartet."
;;
*)
echo "Usage: $0 Parameter eingeben {start|stop|restart}"
exit 1
;;
esac
exit 0
Die start.sh führt er unten ja schon aus daher brauchst du das nicht nochmal als Parameter. Und bei "Dir" noch ein "/" ran.
#! /bin/sh
#scriptquelle : http://www.linuxforen.de
NAME=bf2.toxic
DESC="Battlefield 2 Toxic"
PARAMS=""
DIR=srv/www/htdocs/web0/html/toxic/bf2-Team.Toxic/
SCRIPT=start.sh
linuxNightmare
15.09.05, 15:56
aber da kommt der fehler
h159278:/ # sh ./bf2.toxic.sh start
./bf2.toxic.sh: line 1: #!: command not found
Starte Battlefield 2 Toxic: bf2.toxic :confused:
Warum muss der CSS Server denn so oft neu gestartet werden?
Ich hab das jetzt mal getestet und er beendet bei BF2 den Server sofort wieder wenn er gestartet wurde. :(
Naja ich habs mal etwas umgeschrieben und etwas vereinfacht.
http://213.202.214.115/downloads/bf2.sh
Die bf2.sh muss ins selbe Verzeichnis wie die start.sh. Aber damit sollte es dann gehen. :cool:
linuxNightmare
16.09.05, 15:36
danke dafür erstmal aber es ging ja eigenlich mir darum das ich nich das ganze verzeichniss schei.. eingeben muss
Dann änder einfach den Pfad im Script.
linuxNightmare
17.09.05, 07:38
ok danke Suxxess
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.