Ist das HowTo Hilfreich gewesen? 0
How-To zum Aufsetzen eines DoD-Servers
In diesem How-To möchte ich euch zeigen, wie man einen bzw. mehrere DoD 1.3 Server mit Steam aufsetzt. Ich gehe davon aus, dass gewisse Grundkenntnisse in Linux vorhanden sind, und dass ein eigener Benutzer angelegt wurde, unter dem der Game-Server läuft (Für die Newbies: Man startet NIEMALS Anwendungs-Programme oder Server als root!). Wie ein eigener Benutzer angelegt wird (als root) erfahrt ihr in diesem Thread.
Ich werde in diesem How-To verschiedene Variablen verwenden, diese wären:
{user} = Benutzername des Gameservers
{steam_dir} = Verzeichnisname von Steam
~ = Home-Verzeichnis des Benutzers. Es kann so verwendet werden, steht für Linux selber für /home/{user}
1. Installieren von Steam und herunterladen des Spiels
Falls es noch nicht geschehen ist, dann loggt euch mit eurem Benutzernamen über SSH in euren Server ein (Bzw: wenn es sich um einen Server bei euch zuhause handelt, dann halt normal in der console).
Als erstes legen wir ein Verzeichnis für den Gameserver an, ich hab es in diesem Fall "steam" (im folgenden mit {steam_dir} variabel) genannt, also
Im nächsten Schritt laden wir das Steam-Tool herunter:
was wir im nächsten Schritt auch direkt starten um Steam zu installieren
Solltet Ihr eine Fehlermeldung bekommen müßt Ihr zuvor "ncompress" installieren, was aber standartmäßig drauf sein sollte.
Nun sollte der Inhalt des Verzeichnisses ungefähr so aussehen:
-rwxr-xr-x 1 jwm users 3,4M 14. Jan 12:38 hldsupdatetool.bin
-rw-r--r-- 1 jwm users 3,4K 7. Apr 2005 readme.txt
-rwxr-xr-x 1 jwm users 7,5M 18. Nov 08:36 steam
-r-xr-xr-x 1 jwm users 350K 16. Nov 06:28 test1.so
-r-xr-xr-x 1 jwm users 443K 16. Nov 06:28 test2.so
-r-xr-xr-x 1 jwm users 8,0M 16. Nov 06:28 test3.so
Die .bin-Datei könnt Ihr getrost löschen oder ignorieren, sie hat keinerlei Funktion mehr.
Im nächsten Schritt wird steam zu einer ausführbaren Datei gemacht und dann DoD heruntergeladen und zwar so:
In 95% der Fälle wird nun erst einmal das Steam-Programm selber auf den neusten Stand der Dinge gebracht und Steam selber dann beendet. Sollte dem so sein, dann führt einfach den letzten Befehl erneut aus und ladet euch dann DoD herunter (Das kann auch mit 100MBit ne Weile dauern, kocht euch also in der Zeit nen Kaffee). Es wird dabei jede Datei angezeigt, welche von Steam geladen wird. Am Ende landet Ihr wieder in der console und habt nun ein neues Verzeichnis in Eurem {steam_dir} mit dem Namen "dod".
Um zu schaun, ob alles sauber installiert wurde führen wir einfach mal folgenden Befehl aus:
Dadurch wird der erste unkonfigurierte Server gestartet und am Ende solltet Ihr sogar darauf connecten können (Natürlich mit eurem Spiele-PC). mit "quit" wird dieser Server wieder beendet.
2. Konfiguration und starten mit screen
Konfiguriert wird der Server hauptsächlich über die Datei "server.cfg" die sich im "~/{steam_dir}/dod/" befindet. Editieren kann man diese Datei mit
In der Konfiguration gibt es sehr viele Variablen, die man einstellen kann, welche aber nicht in der server.cfg vorhanden sind. Die wichtigstens schreibe ich hier nun auf:
hostname "x" Name des Servers in der Serverliste
rcon_password "x" RCON-Passwort zum Ingame-Administrieren des Servers
Achtet darauf, dass ihr nicht dasselbe Passwort nehmt, wie der Root oder der Benutzer, der den gameserver startet!
mp_fadetoblack (0|1) Bildschirm beim Tod schwärzen
mp_friendlyfire (0|1) Teambeschuß aktivieren
mp_timelimit x Zeitdauer einer Runde in Minuten
mp_fraglimit x Nachdem eine Person x Frags gemacht hat ist die Runde beendet
Hier folgen nun die Limit der Klassen im Spiel. Es ist Sinnvoll hier bei den MGs und bei den Snipern einschränkungen zu machen, da man sich sonst einen sehr feinen Campingplatz baut auf dem niemand lange zocken wird!
mp_limitaxisfg42 2 FG42 Standbein
mp_limitaxisfg42s 1 FG42 Sniper
mp_limitaxisk43 5
mp_limitaxiskar 7 Kar98
mp_limitaxismg34 1
mp_limitaxismg42 1 Axen-MG
mp_limitaxismp40 5
mp_limitaxismp44 5
mp_limitaxispschreck -1 Axen Panzerschreck
mp_limitaxisscopedkar 1 Axen-Sniper
mp_limitallies30cal 1 Allies MG
mp_limitalliesbar 4
mp_limitalliesbazooka -1 Allies Bazooka
mp_limitalliescarbine 2
mp_limitalliesgarand 7
mp_limitalliesgreasegun 3
mp_limitalliesmortar -1
mp_limitalliesspring 1 Allies Sniper
mp_limitalliesthompson 4
mp_limitbritassault 5
mp_limitbritlight 5
mp_limitbritmg 5 Briten MG
mp_limitbritsniper 1 Briten Marksman
mp_limitbritpiat -1 Brieten Piat (Panzerschreck)
mp_limitbritmortar -1
Alles anzeigen
Gespeichert wird in vi indem man auf [ESC] drückt und dann eingibt und mit [ENTER] abschickt.
Wenn man nun die grundlegende Konfiguration fertig hat, kann man den Server wieder starten, jedoch besteht das Problem, dass der Server beendet wird, sobald man seine console schließt (bei der Art, wie wir vorhin den Server gestartet haben). Daher verwendet man in der Regel "Screen" um den Server in einem eigenen Terminal zu starten.
Der Screen-Befehl wird folgendermaßen verwendet:
Dadurch wird das gewünschte Programm im Hintergrund geladen und ist über den Namen "name" wieder erreichbar. Für unseren Server sieht das ganze dann so aus:
Dabei zu beachten ist, dass man sich im {steam_dir} befinden. möchte man von irgentwo den gameserver starten, muß man den gesamten pfad zum {steam_dir} angeben, kann es aber auch mit "~/{steam_dir}/steam" abkürzen.
Des weiteren kann man dem Server schon hier viele Parameter mitgeben, zum Beispiel, welche Map als erstes geladen werden soll oder wie viele Slots der Server haben soll. Ein Teil der Variablen sind folgende:
-game dod Sagt dem Server, welcher Server gestartet werden soll, in unserem Fall dod
-maxplayers xx Wieviele Slots soll der Server haben
+map dod_anzio Startmap festlegen
-autoupdate Gibt dem Server die Anweisung, bei einem Crash neu zu starten und bei Verfügbaren Updates diese einzuspielen
-port 27015 Gibt dem Server die Anweisung auf dem Port x zu laufen, wobei ohne Angabe der Port 27015 verwendet wird. In der Regel laufen Server zwischen 27000 und 27050
+log on Sagt dem Server, dass er die Logs speichern soll. Ist sehr brauchbar, wenn man ein Statistik-Programm laufen lassen will.
-pingboost (0|1|2) Startet die Server eigene Routine, den Ping ein bißchen stabiler und niedrieger zu halten, wobei allerdings die CPU ein wenig mehr gefordert wird
+servercfgfile xx.cfg Gibt an, welche .cfg Datei der Server verwenden soll. Sehr hilfreich, wenn man mehrere Server starten will (dazu später mehr)
Achtet darauf, das - bzw. das + mit zu schreiben, da es ohne nicht als Parameter erkannt wird.
Hier nun ein Beispiel, für einen Server, der 20 Slots haben soll:
screen -AmdS public ./steam -game dod -maxplayers 20 +map dod_anzio -autoupdate -pingboost 2 +log on
Um jetzt in das Terminal hereinzukommen schreiben wir
In der Console vom DoD-Server können wir nun alles sehen, was der Server so ausgibt, können aber auch Befehle eingeben. Mit quit wird der Server wieder beendet. Um die Console zu verlassen ohne den Server zu beenden drücken wir [STRG]+[A]+[D] und kommen somit wieder in unsere Shell. Von Außen kann man den Server mit folgendem Befehl sauber beenden:
Dabei wird der befehl "quit" in das Terminal gesendet und der DoD-Server setzt diesen dann um indem er sauber herunterfährt (Es fährt nur der DoD-Server herunter, nicht der Server selber).
3. Mehrere Server starten
To be continued...