Steam Dedicated Server
Hier erklären wir Ihnen den Steam Dedicated Server, auch HLDS (Half-Life Dedicated Server) Updatetool genannt.
Dies ist eine Grundsatzanleitungen für alle Spiele die über den Steamservice betrieben werden.
In den Spieleanleitungen wird nicht näher auf die einzelnen Befehle, sondern nur auf die spielpezifischen Vorgänge eingegangen.
Das HLDS Updatetool dient dazu die gewünschten Spiele auf den Server zu laden, aktuell zu halten und zu verwalten. Zum eigentlichen Start ist das Tool später nicht mehr nötig, sollte jedoch nicht gelöscht werden da es für Akualisierungen ggf. noch gebraucht wird.
Eine Übersicht aller Anleitungen für Spiele des Steamnetzwerkes haben wir in der Kategorie Steam zusammengefasst.
Inhaltsverzeichnis
Vorbereitungen
Um einen vServer als Spiele- bzw. Gameserver einzusetzen sollte dieser nicht parallel als Web- oder Datenbankserver dienen, daher richten wir zunächst ein reines System ein.
Da es sich hierbei um mehrere Schritte handelt haben wir diese auf der Seite Vorbereitungen für den Gameserverbetrieb zusammengefasst.
Dort wird unter anderem auch das Anlegen eines neuen Users, das Einrichten der deutschen Systemsprache, sowie die Installation von 32bit Libraries erläutert.
Download & Entpacken des HLDS Updatetools
- Hinweis: Wir befinden uns als der User gameserver in dessen Homeverzeichnis /home/gameserver, siehe Vorbereitungen für den Gameserverbetrieb.
Das HLDS Upatetool erhält man direkt über www.Steampowered.com.
wget http://storefront.steampowered.com/download/hldsupdatetool.bin
Da die Binary nur ca. 3,4 Megabyte groß ist, sollte der Download sehr schnell ablaufen.
Beispiel:
HTTP Anforderung gesendet, warte auf Antwort... 200 OK Länge: 3513408 (3,4M) [application/octet-stream] In »hldsupdatetool.bin« speichern. 100%[======================================>] 3.513.408 9,61M/s in 0,3s 2009-01-20 11:39:01 (9,61 MB/s) - »hldsupdatetool.bin« gespeichert [3513408/3513408]
Um den Steamclient zu entpacken müssen wir das heruntergeladene Binaryfile nun ausführbar machen und danach ein mal starten.
chmod u+x hldsupdatetool.bin
- Hinweis: Wir können die Eingabe abkürzen in dem wir nur chmod u+x hlds eingeben und dann die Tab Taste drücken. Der Dateiname wird damit automatisch vervollständigt.
./hldsupdatetool.bin
- Hinweis: Wir können die Eingabe abkürzen in dem wir nur ./hlds eingeben und dann die Tab Taste drücken. Der Dateiname wird damit automatisch vervollständigt.
Bei dem entpacken des Steam Clients, durch das Ausführen der HLDS Binary, müssen wir die Lizenzbestimmungen mit der Eingabe von yes akzeptieren.
Die Lizenzbestimmungen können zusätzlich auf Deutsch unter der Adresse http://store.steampowered.com/subscriber_agreement/german/ nachgelesen werden.
Starten und aktualisieren des Steam Clients
Damit der soeben entpackte Steam Client auf die neuste Version geupdatet wird, führen wir diesen nun ein mal normal aus.
./steam
Beispielausgabe:
Checking bootstrapper version ... Getting version 34 of Steam HLDS Update Tool Downloading. . . . . . . . . . . Steam Linux Client updated, please retry the command
- Hinweis: Unter Umständen kann es dazu kommen das der Updatevorgang an der Stelle Checking bootstrapper version ... hängen bleibt, brechen Sie den Vorgang dann mit der tastenkombination Strg+C ab und starten Sie den Steam Client erneut.
Erläuterung des Steam Clients
Mithilfe des Steam Clients können wir nun von einigen Spielen, die bei Steam verfügbar sind, dedicated Server einrichten.
Die Eingaben erfolgen nach diesem Muster:
steam -command <Kommando> [Parameter] [Option]
Kommandos
update
Installation oder Aktualisierung eines Spiels.
Anwendung:
./steam -command update
list
Auflisten aller verfügbaren Spiele und deren Installationsnamen für den Parameter game.
Anwendung:
./steam -command list
Liste
- Stand 20.Januar 2009
- Source Engine Spiele
- "Counter-Strike Source" - Counter-Strike:Source
- "ageofchivalry" - Play Age of Chivalry
- "diprip" - D.I.P.R.I.P.
- "dods" - Day of Defeat:Source
- "esmod" - Empires Mod
- "garrysmod" - Garrys Mod 9 - Garrys Mod 10
- "hl2mp" - Half-Life 2 Multiplayer
- "insurgency" - Insurgency: Modern Infantry Combat
- "l4d_full" - Left 4 Dead - alle Spieldateien
- "left4dead" - Left 4 Dead - nötigste Spieldateien
- "synergy" - Synergy
- "tf" - Team Fortress 2
- "zps" - Zombie Panic! Source
- HL1 Engine Spiele
- "cstrike" - Counter-Strike (1.6)
- "cstrike_beta" - Counter-Strike (1.6) Beta
- "czero" - Counter-Strike: Condition Zero
- "dmc" - (Half-Life 1) Deathmatch Classic
- "dod" - Day of Defeat
- "gearbox" - (Half-Life) Opposing Force Multiplayer
- "ricochet" - Ricochet
- "tfc" - Team Fortress Classic
- "valve" - Half-Life Deathmatch
- Drittanbieter Spiele
- "ageofchivalry" - Play Age of Chivalry
- "darkmessiah" - Dark Messiah
- "diprip" - D.I.P.R.I.P.
- "esmod" - Empires Mod
- "garrysmod" - Garrys Mod 9 - Garrys Mod 10
- "insurgency" - Insurgency: Modern Infantry Combat
- "marenostrum" - Mare Nostrum
- "redorchestra" - Red Orchestra: Ostfront 41-45 kaufen
- "ship" - The Ship
- "sin" - SiN Episodes: Emergence
- "synergy" - Synergy
- "tshb" - ThreadSpace: Hyperbol
- "zps" - Zombie Panic! Source
version
Ausgabe der Version des Steam Clienten sowie aller installierten Spiele.
Anwendung:
./steam -command version
Parameter
game
Angabe welches Spiel installiert oder aktualisiert werden soll.
Anwendung:
./steam -command update -game "spielname"
dir
In welchen Ordner das Spiel installiert werden soll, bzw. welcher Spieleordner aktualisiert werden soll.
Anwendung:
./steam -command update -game "spielname" -dir "ordnername"
- Hinweis: Der Ordner muss in beiden Fällen bereits existieren, für jedes zu installierende Spiel sollte ein extra Ordner erstellt werden. Einen Ordner legen Sie mit mkdir ordnername an.
Optionen
verify_all
Prüfen ob alle Dateien vorhanden, aktuell & ok sind.
Anwendung:
./steam -command update -game "spielname" -dir "ordnername" -verify_all
- Hinweis: Dies kann je nach größe des Spiels und Leistung des Servers einige Minuten dauern.
retry
Falls das Netzwerk überlastet ist klappt die Installation oder ein Update nicht. Mit diesem Parameter wird der Befehl alle 30 Sekunden erneut ausgeführt, sollte das Netzwerk nicht erreichbar sein.
Anwendung:
./steam -command update -game "spielname" -dir "ordnername" -retry
Beispiel anhand von Counter-Strike:Source
mkdir css1
./steam -command update -game "Counter-Strike Source" -dir "css1"
Ausgabe:
Checking bootstrapper version ... Updating Installation No installation record found at css1 No installation record found at css1 No installation record found at css1 No installation record found at css1 No installation record found at css1 Checking/Installing 'Counter-Strike Source Shared Content' version 69 0.57% css1\cstrike\bin\server.dll 1.96% css1\cstrike\bin\server_i486.so 1.96% css1\cstrike\cfg\buypresetsdefault_ct.vdf
Zunächst schaut der Steam Client ob eine Installation des gewünschten Spiels im angegebenen Ordner existiert, falls nicht beginnt automatisch der Download von einem der vielen Content Server des Steamnetzwerks.