Willkommen Gast
Du bist nicht angemeldet, um alle Funktionen des Forums zu nutzen musst du dich registrieren und anmelden. Die Registrierung ist natürlich völlig kostenlos und kann jeder Zeit wiederrufen werden.

Aktuelle Zeit: 6. Sep 2010 20:06

Gameserver Startscript

Ein Script um einen Gameserver bequem zu starten und wieder zu stoppen.



Um einen Gameserver bequem zu zu starten und zu stoppen, kann man ein kleines Script benutzen das den Startvorgang und vor allem das stoppen vereinfacht. Außedem hat man mit diesem Script die Möglichkeit den Status des Servers abzufragen und so zu sehen ob der Server gerade läuft oder nicht.


Das Script

Code: Alles auswählen
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin

# Hier anpassen
#
DIR=/pfad/zum/server        # Der Pfad zum Server
DAEMON=serverdatei        # Datei die den Server startet
NAME=servername            # Beliebiger Name für den Server
PARAMS="-game cstrike"  # Parameter mit den der Server gestartet werden soll
DESC="Counter Strike Gameserver" # Beschreibung des Gameservers
#
# Ab hier nichts mehr ändern

case "$1" in
start)
   echo "Starting: $NAME"
   if [ -e $DIR ];
   then
    cd $DIR
   screen -d -m -S $NAME ./$DAEMON
   else echo "No such directory: $DIR!"
   fi
   ;;

stop)
   if [[ `screen -ls |grep $NAME` ]]
   then
       echo -n "Stopping: $NAME"
       kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
       echo " ... done."
   else
       echo "Coulnd't find a running $DESC"
   fi
   ;;

restart)
   if [[ `screen -ls |grep $NAME` ]]
   then
       echo -n "Stopping: $NAME"
       kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
       echo " ... done."
   else
       echo "Coulnd't find a running $DESC"
   fi
   
   echo -n "Starting: $NAME"
   cd $DIR
   screen -m -d -S $NAME ./$DAEMON $PARAMS
   echo " ... done."
   ;;

status)
   screen -ls | grep -wq "$NAME" && echo "$NAME is UP" || echo "$NAME is DOWN"
   ;;

*)
   echo "Usage: $0 {start|stop|status|restart}"
   exit 1
   ;;
esac

exit 0

Speichert das Script nachdem ihr es angepasst habt unter einem beliebigen Namen ab.


Script anpassen

Das Script sollte eigentlich für jeden Gameserver oder allgemain für jedes Programm das über die Shell gestartet wird funktionieren, man muss nur ganz oben ein paar Kleinichkeiten anpassen.

DIR=/pfad/zum/server
Hier muss der komplette Pfad zum Server angegeben werden

DAEMON=serveradtei
Hier muss die Datei die den Server startet angegeben werden

NAME=servername
Hier kann man dem Server einen beliebigen Namen geben der nur für die Ausgabe des Scripts benutzt wird

DESC=beschreibung
Hier kann derr Server oder Dienst eine Beschreibung erhalten

Script benutzen

Das Script lässt sich ganz einfach über Parameter steuern

script.sh start
Startet den Server

script.sh stop
Stoppt den Server

script.sh restart
Stoppt den Server und startet ihn danach gleich wieder neu

script.sh status
Gibt aus ob der Server läuft oder nicht


Bemerkungen

Wenn der Server nicht über das Script gestartet wurde funktioniert das prüfen des Status nicht und es wird immer ausgegeben das der Server nicht läuft.

Das Script startet den Server in einem screen, weitere Informationen zu screen gibt es in artikel/gnu-screen.html

Speichere das Script unter Windows nur mit einem Editor der Unix Zeilenumbrüche unterstützt, z.B. Notepad++
Veröffentlicht am: 14. Nov 2007 13:20
von: Tobi
Artikeltyp: Script
Zugriffe: 3065
Bewertung: 0/5 (0 Bewertungen)

[ Thema anzeigen ]

Werbung



Ähnliche Artikel


Zurück zu Gameserver unter Linux