Benutzer-Werkzeuge

Webseiten-Werkzeuge


installation:dedicated_server_standalone:script

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

installation:dedicated_server_standalone:script [2009/02/03 01:32]
DeaD_EyE
installation:dedicated_server_standalone:script [2012/10/18 20:37] (aktuell)
fluxX [Konfigurationsdateien]
Zeile 3: Zeile 3:
  
 ===== Linux ===== ===== Linux =====
-FIXME +  * {{:installation:dedicated_server_standalone:start-script-1.2.9.tar.gz|Start,Stop und Restartscript mit Konfigdateien (v1.2.9)}} \\ <code># 1.2.9 
-//Inhalt folgt//+# -fixed setprio 
 +# +sleep 2 between restart command 
 +# +new configexample 
 +
 +# 1.2.8 
 +# -no bugs found 
 +
 +# 1.2.8Beta 
 +
 +# +added support for screenlogs 
 +# +new config var; screen_log=1 -> logging 
 +# +new config var; screen_logfile -> filename 
 +
 +# 1.2.7 
 +# -stored all functions in $script_dir/script_functions/*.func 
 +
 +# 1.2.6 
 +# -updated status to use load_config 
 +# -updated function status with a returncode 
 +# +added watchdog, which loads in the same screen with a new window 
 +#  the var run_watchdog in the startscript loads the watchdog 
 +# +top shows now all child processes of the screen 
 +
 + 
 +# 1.2.5-1 
 +# -status wasn't working</code> 
 + 
 +  * {{:installation:dedicated_server_standalone:start-script-1.2.5.tar.gz|Start,Stop und Restartscript mit Konfigdateien (v1.2.5)}} \\ <code># +color messages 
 +# +run_script_<before|after> supports now arguments 
 +# -better error detection 
 +# -fixed a bug with chown of the wrapper as root</code> 
 +  * {{:installation:dedicated_server_standalone:start-script-1.2.4.tar.gz|Start,Stop und Restartscript mit Konfigdateien (v1.2.4)}} 
 +Das Script basiert auf Konfigurationsdateien. Die Konfigdateien müssen mit der ASCII-Zeichenkodierung im UNIX-Format((Steuerzeichen LF am Zeilenende.)) gespeichert werden. Als Editor unter Windows ist [[http://notepad-plus.sourceforge.net/de/|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.\\ \\  
 +Seit Version 1.2.7 kann mit ''./run.sh top <congigname>'' die Auslastung eines Server angezeigt werden. Es werden dann im Programm ''top'' alle Child-Prozesse des Screens aufgeführt. Eine weitere Funktion ist run_watchdog. Für Admins die selber scripten, können so einen Prozess im screen des Servers starten. Eine wichtige interne Änderung des Scripts ist noch, dass alle Funktionen in Dateien ausgelagert sind. 
 + 
 +==== Konfigurationsdateien ==== 
 +Über die Dateien können für jeden Server einzeln verschiedene Einstellungen vorgenommen werden: 
 +^Variable  ^Beschreibung| 
 +|screen_name=  |Name des Screens.  | 
 +|screen_log=  |1 schaltet den Screen-Log ein, 0 deaktivert den Screen-Log.| 
 +|screen_logfile=  |Pfad zur Logdatei, die vom Screen erstellt werden soll. Das Verzeichnis muss existieren.| 
 +|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_watchdog=  |Pfad zu einem Script((wenn Parameter übergeben werden sollen, muss mit Anführungszeichen gequotet werden)), welches im Screen des Servers ausgeführt wird. Es wird automatisch ein neues Fenster im Screen erstellt, welche die ID 1 hat und watchdog heißt. Mit Strg+a Leertaste kann zum nächsten Fenster gewechselt werden. Für weitere Informationen sollten die manpages zu screen gelesen werden.  | 
 +|run_script_before=  |Pfad zu einem Script((wenn Parameter übergeben werden sollen, muss mit Anführungszeichen gequotet werden)), 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=  |Pfad zu einem Script((wenn Parameter übergeben werden sollen, muss mit Anführungszeichen gequotet werden)), 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 soll((muss über limits.conf dem User vorher erlaubt werden)).  | 
 +|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.((z.B. "FPS=1000")) | 
 + 
 +==== Priorität ==== 
 +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: 
 +<code>echo "USERNAME - rtprio 99" >> /etc/security/limits.conf</code> 
 + 
 +==== Download und Installation ==== 
 +<code>wget http://sourceserver.info/wiki/_media/installation/dedicated_server_standalone/start-script-1.2.7.tar.gz 
 +tar -xzf start-script-1.2.7.tar.gz</code> 
 +==== Abkürzungen für die Shell ==== 
 +Da mit der Zeit das Eintippen von ''./run.sh start foo'' recht nervig ist, kann man auch Abkürzungen für die einzelnen Aktionen anlegen. 
 +Dazu muss lediglich die Datei ''.bashrc'', welche sich im Homeverzeichnis des Users befindet, angelegt bzw. bearbeitet werden. 
 + 
 +=== Beispiel === 
 +<code> 
 +echo -e "\E[31;40m 
 ++--------------------------------------------------------------+ 
 +|                                                              | 
 +|                                                              | 
 +| gtop <config>      - CPU Auslastung der Childprozesse        | 
 +|                      des Screens                             | 
 +| gstatus <config>   - Serverstatus anzeigen                   | 
 +| gstart <config>    - Server starten                          | 
 +| gstop <config>     - Server stoppen                          | 
 +| grestart <config>  - Server restarten                        | 
 +| glist              - eingerichtete Server anzeigen           | 
 +|                                                              | 
 ++--------------------------------------------------------------+" 
 +tput sgr0 
 + 
 +gtop () { ~/run.sh top $@; } 
 +gget () { ~/run.sh get $@; } 
 +gstart () { ~/run.sh start $@; } 
 +gstop () { ~/run.sh stop $@; } 
 +grestart () { ~/run.sh restart $@; } 
 +gstatus () { ~/run.sh status $@; } 
 +glist () { ~/run.sh list; } 
 +</code> 
 +Da Variablen übergeben werden, kann man in diesem Fall nicht mit ''alias'' arbeiten. Stattdessen habe ich Funktionen verwendet. 
 +== Verwendung == 
 +  * Austlastung von warserver1 anzeigen => ''gtop warserver1'' 
 +  * Warserver 1 neustarten => ''grestart warserver1'' 
 +  * In den Screen von warserver1 wechseln => ''gget warserver1'' 
 +  * Konfigdateien auflisten => ''glist'' 
 ===== Windows ===== ===== Windows =====
-  * {{:installation:dedicated_server_standalone:update_restart_script.bat|Update- und Autorestart-Script}}+  * {{:installation:dedicated_server_standalone:update_restart_script.bat|Update- und Autorestart-Script}} - Die Batchdatei kann mehrmals kopiert und gleichzeitig für mehrere unterschiedliche Server verwendet werden.
   * {{:installation:dedicated_server_standalone:srcdsfpsboost.zip|srcdsfpsboost.zip}} verändert durch einen einfachen Funktionsaufruf den Windows-Kernel-Timer, welches dann mehr als 64 FPS ermöglicht. Der Quellcode ist im Archiv mit enthalten und kann selber kompiliert werden.   * {{:installation:dedicated_server_standalone:srcdsfpsboost.zip|srcdsfpsboost.zip}} verändert durch einen einfachen Funktionsaufruf den Windows-Kernel-Timer, welches dann mehr als 64 FPS ermöglicht. Der Quellcode ist im Archiv mit enthalten und kann selber kompiliert werden.
 +  * {{http://brainless.us/downloads.aspx?cid=9|High Resolution Timer Service}} installiert einen Dienst um den Kernel-Timer von Windows auf 1000HZ zu stellen. Der Sourcecode ist mit enthalten.
installation/dedicated_server_standalone/script.1233621128.txt.bz2 · Zuletzt geändert: 2009/10/24 13:48 (Externe Bearbeitung)