Dies ist eine alte Version des Dokuments!
Das Starten, Stoppen, Neustarten und Updaten eines Servers lässt sich mit Hilfe von Shell-Scripts bzw. Batchdateien erledigen. Das bearbeiten dieses Artikels ist aus Sicherheitsgründen nur Mitgliedern der Gruppe wiki
, Moderatoren und Administratoren gestattet.
# +color messages # +run_script_<before|after> supports now arguments # -better error detection # -fixed a bug with chown of the wrapper as root
Das Script basiert auf Konfigurationsdateien. Die Konfigdateien müssen mit der ASCII-Zeichenkodierung im UNIX-Format1) gespeichert werden. Als Editor unter Windows ist Notepad++ zu empfehlen. Dadurch, dass der Daemon und die Parameter beliebig verändert werden können, eignet sich das Script auch für andere Server als den Source Dedicated Server
. Jeder Server hat seine eigene Konfigurationsdatei im Verzeichnis ./startscript/
. Server können in Listen zusammengefasst werden. So ist es möglich mehrere Server mit einem Befehl gleichzeitig zu starten, stoppen, neustarten oder den Status auszugeben. Die Listen sind in ./startscript/lists/
enthalten. Soll eine Liste verwendet werden, muss ein @
vor dem Listennamen stehen. Die Befehle start, stop, restart, status akzeptieren mehrere Argumente. So ist es möglich mehrere Server für eine Aktion auszuwählen. Auch mehrere Listen können für eine Aktionen zugleich verwendet werden.
Über die Dateien können für jeden Server einzeln verschiedene Einstellungen vorgenommen werden:
Variable | Beschreibung |
---|---|
screen_name= | Name des Screens. |
daemon_user= | User, mit dem der Daemon gestartet wird, wenn das Script als root ausführt wird. |
daemon_dir= | Pfad zum Daemon. |
daemon= | Dateiname des Daemons. |
parameter= | Eigene Startparameter des Daemons. |
daemon_wrapper= | Dateiname des Wrappers, welcher automatisch erstellt wird. |
run_script_before= | Name des Scripts, welches vor dem Daemon gestartet werden soll. Wenn die Variable nicht gesetzt wird, wird auch nichts vor dem Start des Daemons ausgeführt. |
run_script_after= | Name des Scripts, welches nach dem Daemon gestartet werden soll. Wenn die Variable nicht gesetzt wird, wird auch nichts nach dem Start des Daemons ausgeführt. |
loop= | 0 = Kein automatischer Restart des Daemons 1 = Restart des Daemons nach einem Absturz. |
cpu= | An welchen CPU-Kern der Server gebunden werden soll. Wird die Variable leer gelassen, wird taskset nicht verwendet. |
prio= | Mit welcher Priorität der Prozess laufen soll2). |
preload_lib= | Es kann eine Library vorausgeladen werden. Drei freie Preload_Libs von anderen Entwicklern sind enthalten. |
preload_lib_parm= | Zusätzlich kann noch ein zusätzlicher Parameter für die Preload-Lib angegeben werden.3) |
Damit der User, mit dem der GameServer gestartet wird, auch die Berechtigung hat, die Priorität festzulegen, muss die limits.conf bearbeitet werden.
Mit folgendem Code, kann man dem angegeben User die maximal zulässige Priorität unter Debian Lenny zuweisen:
echo "USERNAME - rtprio 99" >> /etc/security/limits.conf
wget http://sourceserver.info/wiki/_media/installation/dedicated_server_standalone/start-script-1.2.5.tar.gz tar -xzf start-script-1.2.5.tar.gz