Dieser Artikel wurde archiviert, da er - oder Teile daraus - nur noch unter einer älteren Ubuntu-Version nutzbar ist. Diese Anleitung wird vom Wiki-Team weder auf Richtigkeit überprüft noch anderweitig gepflegt. Zusätzlich wurde der Artikel für weitere Änderungen gesperrt.
Für die GoldSrc und Source-Engine-Spiele von Valve und einige Third-Party-Spiele, die ebenfalls über steampowered.com vertrieben werden, besteht die Möglichkeit einen dedizierten Server (engl.: Dedicated Server, kurz: DS) unter Linux zu betreiben. In Aktion tritt dabei der kostenlose closed-source "Steam Linux Client". Dessen Installation und der Betrieb des Servers sollen in dieser Anleitung betrachtet werden.
Für alle die nicht den Server betreiben, sondern die Spiele unter Linux spielen wollen, geht es hier weiter:
Verlässliche Informationen zur benötigten Hardware gibt es nicht. Das ist zum einen abhängig von der verwendeten Engine. Die Source-Engine in ihrer neuesten Version von 2007 benötigt natürlich etwas mehr Power als die Spiele unter der älteren HL1-Engine von 1998. Auch die gespielten Modifikationen, die gespielten Maps und die Anzahl der Spieler beeinflussen die Geschwindigkeit des Servers. Ausschlaggebend für die Leistung des Servers sind CPU, Arbeitsspeicher, Festplatte und Internetanbindung. Die Grafikkarte ist irrelevant, da keine Grafikinformationen vom Server berechnet werden. Für einen HL1-Server kann man mit einer 1GHz CPU und 256MB Arbeitsspeicher schon etwas anfangen. Für einen Source-Server sollte man dagegen mindestens eine 2GHz CPU und 1GB Arbeitsspeicher einplanen. Eine schnelle Festplatte sorgt zum Beispiel dafür, dass Maps schneller geladen werden. Sollen besonders viele Spieler ein Match machen können, sollte man viel Arbeitsspeicher einplanen.
Vor der Installation des Steam Clients muss ein Rechner als dedizierter Spiele-Server entsprechend vorbereitet werden [1]. Es empfiehlt sich für den dedizierten Server einen neuen Benutzer anzulegen [2] (hier: "gameserver"), der keine Administrationsrechte besitzt. Alle weiteren Schritte erfolgen unter dem neuen Benutzernamen.
Im Homeverzeichnis des Benutzers "gameserver" muss ein neues Verzeichnis erstellt werden, welches zukünftig alle mit dem Server in Verbindung stehenden Dateien beherbergt. Da sich die Dateien und Ordner der beiden Spiel-Engines stark ähneln empfiehlt es sich beide nicht zu mischen. Alle weiteren Schritte werden in dem jeweiligen Ordner vorgenommen, in den noch gewechselt werden muss.
ENTWEDER: Der Ordner für alle Source-Engine-Spiele (Counter-Strike: Source, Day of Defeat: Source, Team Fortress 2,...) sollte srcds heißen.
mkdir srcds # Ordner für Source-Spiele anlegen cd srcds # in den Ordner wechseln
ODER: Für alle HL1-Engine-Spiele sollte der Ordner hlds heißen.
mkdir hlds # Ordner für HL1-Spiele anlegen cd hlds # in den Ordner wechseln
Im entsprechenden Verzeichnis lädt man das Installationsprogramm hldsupdatetool herunter. Dieses muss ausführbar gemacht [3] und dann ausgeführt werden. Während der Installation müssen die Lizenzbedingungen durch die Eingabe von "yes" akzeptiert werden.
wget http://www.steampowered.com/download/hldsupdatetool.bin # Installationsprogramm herunterladen chmod +x hldsupdatetool.bin # Installationsprogramm ausführbar machen ./hldsupdatetool.bin # Installationsprogramm ausführen ./steam # Steam Linux Client auf den neuesten Stand bringen
Für Ubuntu-64-bit müssen erst die 32-bit-Bibliotheken installiert werden.
apt-get install ia32-libs
Ein Wiederholen des letzten Befehls zeigt nun die weiteren Installationsmöglichkeiten.
./steam
Ausgabe:
Checking bootstrapper version ... Use: steam -command <command> [parameters] [flags] Commands: update: Install or update HLDS parameters: -game <game> - Game name: use 'list' to see available games -dir <installdir> - HLDS Install dir (if dir not specified, will use value from last run of tool) flags: -verify_all - Verify all HLDS files are up to date -retry - Automatically retry every 30 seconds if the Steam Network is busy -remember_password - Remember password (if a username is supplied) For example: steam -command update -game cstrike -dir /hlds version: View installed versions list: View available games Optional parameters for all commands: -username <username> - Steam account username (only needed to access limited content) -password <password> - Steam account password (only needed to access limited content)
Der Steam Linux Client wird mit
./steam -command update -verify_all
aktualisiert. Der jeweilige Versionsstand kann ebenfalls angezeigt werden.
./steam -command version
Zunächst kann man sich einen Überblick über die Spiele verschaffen.
./steam -command list
Die Installation des Wunschkandidaten kann nun erfolgen. Man sollte nur darauf achten, sich je nach Engine im richtigen Verzeichnis zu befinden.
./steam -command update -game <game> -dir .
Der Parameter <game>
ist je nach Spiel entsprechend zu ersetzen (Anführungszeichen beibehalten!). Die Dateien werden bei der Installation aus dem Internet heruntergeladen. Dieser Vorgang kann je nach Downloadbandbreite eine ganze Weile dauern.
Spiel | <game> |
Source-Spiele | |
Counter-Strike: Source | "Counter-Strike Source" |
Day of Defeat: Source | "dods" |
Team Fortress 2 | "tf" |
Half-Life 2: Deathmatch | "hl2mp" |
Garrys Mod | "garrysmod" |
HL1-Spiele | |
Counter-Strike | "cstrike" |
Couter-Strike Condition Zero | "czero" |
Deathmatch Classic | "dmc" |
Day of Defeat | "dod" |
Gearbox | "gearbox" |
Ricochet | "ricochet" |
Team Fortress Classic | "tfc" |
Außerdem stehen noch weitere Spiele-Server laut Auflistung zur Verfügung. Diese sind sogenannte Third-Party-Spiele, das heißt Spiele die nicht von Valve sondern von anderen Entwicklern stammen, aber ebenfalls über Steam vertrieben werden. Dazu gehören etwa "Dark Messiah", "Garrys Mod" oder "Red Orchestra".
Der Befehl für die Aktualisierung der Spiel-Dateien ist der gleiche wie der für die Installation, man kann sich aber die Angabe des Installationsordners sparen.
./steam -command update -game <game>
Die Entwickler von Valve-Software bringen regelmäßige Updates heraus und im Steam-Client für Windows ist eine Art Update-Zwang integriert. Deshalb sollte auch der Spiele-Server immer auf dem neuesten Stand gehalten werden, das gilt besonders vor anstehenden LAN-Parties.
ENTWEDER: Ein erster Probelauf des Source-Servers wird gestartet durch
./srcds_run <Parameter>
wobei je nach Spiel andere Parameter zu wählen sind. (Un)Sinnigerweise wird der Parameter -game <game>
mit anderen Flaggen bestückt, als beim Installations-/Aktualisierungsbefehl.
Spiel | Parameter |
Couter-Strike: Source | -game cstrike +map de_dust +maxplayers 16 |
Day of Defeat: Source | -game dod +map dod_jagd +maxplayer 24 |
Team Fortress 2 | -game tf +map cp_dustbowl +maxplayers 32 |
Half-Life 2: Deathmatch | -game hl2mp +map dm_resistance +maxplayers 20 |
Es gibt noch eine Reihe weiterer Parameter die angehängt werden können. Einige wenige sollen hier noch kurz erklärt werden.
Parameter | Erklärung |
-console | Server mit Konsole starten (zeigt Infos zum laufenden Spiel) |
-autoupdate | Automatische Aktualisierung der Spieldateien vor Start des Servers |
-ip xxx.xxx.xxx.xxx | Bei mehreren zur Verfügung stehenden IPs, wird die dadurch eingestellte IP genutzt |
-port xxxxx | Legt den Port fest, über welchen das Spiel laufen soll. In der Regel wählt man den Port 27015 |
-secure | Server wird mit dem Valve-Cheatschutz gestartet |
-insecure | Server wird ohne Valve-Cheatschutz gestartet |
+sv_lan x | Für x=1 wird ein LAN-Server gestartet, für x=0 ein Internet-Server der sich am Steam-Master-Server anmeldet |
-nomaster | Keine Anmeldung am Steam-Master-Server |
+servercfgfile myserver.cfg | Datei myserver.cfg als Serverkonfigurationsdatei laden |
+mapcyclefile mymapcycle.txt | Datei mymapcycle.txt als Map-Cycle-Datei laden |
+motdfile mymotd.txt | Datei mymotd.txt als "message of the day" laden |
Weitere Erklärungen gibt es unter Source Dedicated Server .
ODER: Ein HL1-Server wird gestartet mit
./hlds_run <Parameter>
Die Parameter sehen beispielsweise so aus:
Spiel | Parameter |
Couter-Strike | -game cstrike +map de_dust +maxplayers 16 |
Counter-Strike Condition Zero | -game czero +map de_dust_cz +maxplayers 16 |
Day of Defeat | -game dod +map dod_avalanche +maxplayer 24 |
Die weiteren optionalen Parameter gleichen denen des Source-Servers und sind unter http://developer.valvesoftware.com/wiki/Command_Line_Options#Half-Life_Dedicated_Server zu finden.
Je nachdem mit welchen Parametern der Server gestartet wurde, sollte er nun im LAN oder online sichtbar sein. Beim ersten Start wird allerdings ein Standardname für den Server vergeben. Man muss die Liste aller Onlineserver schon genau durchsuchen um ihn wiederzufinden. Es besteht aber auch die Möglichkeit sich im Spiel direkt über die IP auf den Server zu verbinden.
Für den Dauerbetrieb ist es sinnvoll einen Server mittels Screen im Hintergrund zu starten [4]. Das würde für einen "Counter-Strike: Source"-Server beispielweise so aussehen:
screen -A -m -d -S css ./srcds_run -console -game cstrike +map de_dust +maxplayers 16 -autoupdate -port 27015
Außerdem unverzichtbar ist die Konfiguration des Servers.
Bei geeigneten Hardwarevoraussetzungen kann man auch mehrere Spiele gleichzeitig starten. Diese sollten dann allerdings über verschiedene Ports laufen. Der Standardport ist UDP 27015. Folgende Befehle starten einen "Counter-Strike: Source"-Server für 16 Spieler und einen "Day of Defeat: Source"-Server für 24 Spieler, jeweils im Hintergrund.
screen -A -m -d -S css ./srcds_run -console -game cstrike +map de_dust +maxplayers 16 -autoupdate -port 27015 screen -A -m -d -S dods ./srcds_run -console -game dods +map dod_jagd +maxplayers 24 -autoupdate -port 27035
Sollen mehrere Instanzen des gleichen Spiels aber mit verschiedenen Konfigurationen laufen, dann sollte Gebrauch von den oben genannten Parametern (+serverconfigfile ...
) gemacht werden.
Bevor der Server im Dauerbetrieb eingesetzt wird, sollte er konfiguriert werden. Dazu gehört im Wesentlichen die Erstellung einer Server-Konfigurationsdatei server.cfg im cfg-Verzeichnis des jeweiligen Spiels. Die Datei enthält unter anderem Name und Einstellungen des Servers, sowie Einstellungen zu den Maps. Weiterhin gibt es mittlerweile zahlreiche Plugins, die zum Einen den Betrieb und die Steuerung des Servers erleichtern, dem Admin die In-Game-Steuerung, zum Anderen neue Spiel-Modi, etwa einen Zombie-Mod für "Counter-Strike: Source" hinzufügen. Um den Server noch abwechslungreicher und attraktiver zu gestalten, kann man von verschiedenen Internetseiten sogenannte Custom-Maps, also von anderen Fans der Spiele gestaltete Maps heruntergeladen und zusätzlich zu den Standard-Maps des Entwicklers installieren. Eine umfangreiche Erklärung zur Konfiguration der Server gehört allerdings nicht hier ins Wiki, die folgenden paar Links sollten aber weiterhelfen:
Source-Spiele allgemein
http://www.srcds.com/ - Webseite zum Source Dedicated Server
http://developer.valvesoftware.com/ - Entwicklerwebseite von Valve
http://mani-admin-plugin.com/ - Das Mani-Admin-Plugin erleichtert die Bedienung eines dedizierten Source-Servers
http://www.sourcemm.net/ - Der Metamod:Source ist ein ganzes Framework für zahlreiche Plugins für Source-Server
http://www.sourcemod.net/ - Sourcemod kann mit Metamod:Source geladen werden und unterstützt ebenso zahlreiche weitere Plugins für Source-Server
http://www.sourceserver.info/ - Deutschsprachige Anlaufstelle für allerlei Themen rund um Source-Server
Counter-Strike: Source
http://counter-strike.de/content/server/ - Die Server-Sektion von http://www.counter-strike.de
Day of Defeat: Source
Team Fortress 2
TF2 Wiki - Wikiseite rund um Team Fortress 2, auch mit Informationen zum dedizierten Server
http://www.tfportal.de - Deutsche Seite über alle Team Fortress Varianten, unter anderem mit Informationen zur Serverkonfiguration
HL1-Spiele allgemein
http://hlds101.com - Installation und Konfiguration von HLDS
Counter-Strike
Day of Defeat
Team Fortress Classic
Wer noch weitere Seiten kennt, kann diese gerne hinzufügen!
Im Grunde genommen sind Spiele wie etwa "Counter-Strike" oder "Day of Defeat" selbst schon Modifikationen des Single-Player-Spiels "Half-Life" bzw. des Nachfolgers "Half-Life 2". Mittlerweile werden diese erfolgreichen und vor einiger Zeit noch kostenlosen Mods aber von Valve selbst entwickelt und kostenpflichtig vertrieben. Es gibt aber immer noch viele interessante und frei verfügbare Mods und bei einigen auch eine Server-Variante. Die Valve-Statistik zeigt neben den Valve-Spielen auch einige andere erfolgreiche Modifikationen und enthält auch die Links zu den entsprechenden Webseiten (etwas weiter unten auf View HL1 and Source engine mod stats klicken). Meist muss man sich von der Mod-Webseite ein komprimiertes Archiv herunterladen und dieses in das srcds- oder hlds-Verzeichnis entpacken, wieder basierend darauf, welche Engine die Modifikation benutzt. Der Start erfolgt dann wie bei den anderen Spielen wobei der Parameter <game>
durch den Namen des entpackten Archivs ersetzt wird. Über die weiteren Startparameter muss man sich im Einzelfall informieren, da sie zum Teil von den oben genannten abweichen. Weitere Modifikationen und jeweils eine Beurteilung findet man unter http://www.moddb.com/ .
Steam - Mit exzellent bewerteter Artikel über Steam in der deutschen Wikipedia
http://www.holarse-linuxgaming.de - Das größte deutschsprachige Linuxspiele-Portal auch mit Informationen zur Installation eines dedizierten Servers
Diese Revision wurde am 13. April 2012 09:02 von frustschieber erstellt.