Generic Gameserver Restart Script

  • Hallo Gameserver Admins,


    ich habe mal ein Script zum automatischen Restarten eines Gameservers gebaut.
    Als Gameserver sollte praktisch jeder in Frage kommen.
    Schauts euch halt mal an, vielleicht könnt ihr es gebrauchen oder habt Verbesserungsvorschläge.


    Das Script läuft als Cronjob, beispielsweise jede Minute.


    1. Folgende Zeile in der Shell eingeben:

    Code
    echo "* * * * * root /meinGameserver/check.sh" >> /etc/crontab


    2. Ein Verzeichnis namens "logfiles" in /meinGameserver erstellen.


    3. Mit vi eine Datei namens check.sh in /meinGameserver mit folgendem Inhalt erstellen (als Beispiel dient hier Battlefield2):


    Das Script is so ausgelegt, dass es die Anzahl der Prozesse zählt, mit denen der Gameserver läuft. Entspricht die Anzahl nicht dem Soll (im Script die Variable PROCCOUNT), so wartet das Script eine Zeit (Variable WAIT) und zählt dann nochmal die Anzahl der Prozesse. Wenn auch dann diese Anzahl nicht dem Soll entspricht, wird der Gameserver gekillt und neu gestartet. Wozu dieser Aufwand? Ich gehe davon aus, dass sich auch im Regelbetrieb die Anzahl der Prozesse ändern kann, beispielsweise, wenn ein Mapchange erfolgt. Deshalb die Wartezeit. Andererseits gehe ich davon aus, dass ein Gameserver nicht sauber läuft, wenn nicht die Sollstärke an Childprozessen erfüllt wird. Ich bin mir nicht wirklich sicher, ob das Sinn macht, um Kommentare wird gebeten...


    Wenn man die Toleranzzeit von 30 Sekunden erhöht, sollte man natürlich berücksichtigen, dass die Intervallzeit beim Cronjob auch entsprechend erhöht wird, damit sich die Crons nicht überlappen.

Jetzt mitmachen!

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