Server alle 24h automatisch neustarten...

  • Da vorallem die Source Server mit größer werdender Laufzeit unnötigerweise immer mehr Resourcen belegen und sich der in/out auch immer weiter reduziert, hätte ich gerne, dass die Server täglich morgens um 4 Uhr angehalten und wieder gestartet werden. Wie lässt sich sowas am einfachsten realisieren? OS ist Debian 3.1.


    Der Benutzer, unter dem die Prozesse laufen ist "game", und gestartet wird immer mit:


    cd ~/halflife/source/
    screen -A -m -d -S css1 ./srcds_run -game"Counter-Strike Source" -port 1337 +map de_dust -tickrate 100 +exec hostname1.cfg
    screen -A -m -d -S css2 ./srcds_run -game"Counter-Strike Source" -port 27015 +map de_dust -tickrate 100 +exec hostname2.cfg
    cd ~/halflife/hl1/
    screen -A -m -d -S cs1 ./hlds_run -game cstrike +map de_dust -port 30000 +maxplayers 16



    ...was ich bis jetzt immer gefunden habe, sind nur Scripte, die prüfen, ob der Server noch läuft und ihn bei Absturz wieder starten. Sowas brauch ich aber nicht, zumal das vom srcds_run script ja übernommen wird....

  • Zitat von bwar

    Dann machste dir ein Script, was die Server stop und wieder startet.
    Danach editierst du nen Cornjob, der immer um 4Uhr das Script ausführt.


    Ist ja nett, dass du meinen ersten Post nochmal wiederholst ;)
    Mit einer konkreten/praktischen Lösung könnte ich jedoch wesentlich mehr anfangen :D

  • Code
    #startscript
    ./srcds_run -game blub blub &
    ./srcds_run -game blub blub &
    ./srcds_run -game blub blub &
    ./srcds_run -game blub blub &


    Code
    #stop
    killall srcds


    Code
    #crontab
    3 * * * * /Pfad/zum/script/
  • Eigentlich dachte ich, dass ich mittlerweile mit Linux klar komme. Jedoch hat sich soeben das Gegenteil bewiesen...


    Ich möchte gerne einen Crontab machen, der jede Nacht um 4:00 meine 4 cs:s server neustartet. Crontabs usw. sind nicht das Problem. Das Problem ist viel banaler...



    Einer meiner Server ist z.B. im Ordner "/home/meinuser/hl2/css1/" installiert.


    Bis jetzt startete ich den server manuell mit dem file "start_fm1.sh", welches sich im ordner "css1" befindet. das file beinhaltet folgende zeile:

    Code
    ./srcds_run -console -game cstrike -port 27015 +ip 85.10.210.82 +map surf_skyworld +maxplayers 24 -tickrate 66 +exec server_fm1.cfg



    wenn ich nun aber einen cronjob machen will, kann ich ja nicht mehr "./srcds_run" benutzen, sondern muss den pfad so angeben: "~/hl2/css1/srcds_run" ODER?



    Zu testzwecken hab ich ein file erstellt in "/home/meinuser/" mit dem namen "test.sh". es beinhaltet die folgende zeile:

    Code
    ~/hl2/css1/srcds_run -console -game "Counter-Strike Source" -port "27015" +ip "85.10.210.82" +map "surf_skyworld" +maxplayers "24" -tickrate "66" +exec "server_fm1.cfg"



    wenn ich mich nun in "/home/meinuser/" befinde und mein "test.sh" ausführe mit "./test.sh", bekomme ich folgende fehlermeldung:

    Zitat

    Invalid game type 'Counter-Strike' sepecified.
    Mon Jan 9 16:26:56 CET 2006: Server Failed


    Die selbe meldung kommt auch, wenn ich "-game Counter-Strike Source" durch "-game cstrike" ersetze.


    Der Fehlermeldung nach zu beurteilen, stimmt alles mit den Pfadangaben. Aber warum findet er dann "cstrike" nicht??? Muss ich da auch noch nen pfad angeben, wo er das findet? etwa so: "-game ~/hl2/meinuser/css1/cstrike"?



    Ich blick echt nicht mehr durch und wäre sehr dankbar um Hilfe! Habe extra alles überausführlich dokumentiert =)


    THX!

  • hab auch lange nach so was suchen müssen ... vllt hilft dir ja meine lösung in verbindung mit oben beschriebenen dateien schon weiter


    im netz hab ich ein fertiges cs-start-script runtergeladen (irgendwo aus nem forum)


    das brauchste dir ja nur kopieren und entsprechend anpassen
    bei mir heisst die datei server-start.sh und kann mit


    Code
    ./server-start.sh start #gestartet
    ./server-start.sh stop # gestopt
    ./server-start.sh restart # restartet


    manuell ausgeführt werden


    damit ich aber nicht jeden morgen um 04:00 in der früh aufstehen muss, um den/die server neu zu starten ... hab ich dafür nen cron angelegt
    der dann so aussieht


    Code
    * 04 * * * cd /pfad/zur/datei; ./server-start.sh start


    und das dann für mich macht :wink:


    denk das dir schon was einfallen wird, wie du den server stopst und wieder startest


    GL&HF

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!