Länder
Weitere Looki-Spiele

Dedicated Server

Source Dedicated Server unter Linux einrichten

"So, und wie geht das jetzt?" - Dies ist wohl der erste Gedanke eines jeden frisch gebackenen Admins, nachdem man die Logindaten vom Provider für den neuen Server bekommen hat. Immer mehr Clans entscheiden sich heutzutage für einen Linux Rootserver um hier die Clanwebsite, den TS2 oder Ventrilo Server und natürlich den Gameserver zu installieren.
Macht Sinn, schließlich sind die meisten Root-Server schon von Haus aus mit einem Webserver inclusive PHP und MySQL und einem FTP-Server zum hochladen von Dateien ausgestattet und es bedarf nur noch der Installation des Game- beziehungsweise Voiceservers. Trotzdem sollte man nicht vergessen, welch mächtiges Werkzeug man mit solch einer Maschiene in der Hand hat.

Doch gerade wenn man vorher noch nie mit Linux gearbeitet hat kann es Anfangs zu frustmomenten kommen, weil man im Internet nicht das passende Tutorial für die eigenen Vorhaben findet. Darum bieten wir euch jetzt ein einfaches und unkompliziertes Tutorial, das euch Schritt für Schritt an den fertig installierten Gameserver heranführt.

Inhaltsverzeichnis

  • Verwende Hard- und Software
  • Verbindung zum Server
  • Installation
  • Konfiguration
  • Serverstart
  • Verwendete Hard- und Software

  • Root oder V-Server unter Linux mit SSH und FTP Zugang
  • PuTTY
  • hldsupdatetool
  • screen
  • Einen FTP Clienten wie Filezilla FTP
  • Verbindung zum Server

    Zuerst müsst ihr per SSH auf den Linux Server verbinden. Hierzu empfiehlt sich das beliebte SSH Tool PuTTY, das unter der Adresse http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html kostenlos verfügbar ist.

    Startet PuTTY mit einem Doppelklick auf die putty.exe, gebt unter "Host Name (or IP Adress)" die Adresse eures Servers ein und klickt unten auf "Open".

    Hier müsst ihr jetzt eure Linux Benutzerdaten eingeben. Zuerst den Benutzernamen (standartmäßig 'root'), dann mit [Enter] bestätigen. Nun das Passwort. Achtung! Nicht wundern, Putty zeigt euch aus Sicherheitsgründen nicht an, dass ihr etwas eingegeben habt. Lasst euch davon nicht irritieren und gebt das Passwort ein.


    Nun befindet ihr euch in eurem Linux Heimverzeichnis von dem aus ihr nun arbeiten werdet.
    Achtung! Wenn ihr derzeit mit dem Benutzer 'root' angemeldet seid, solltet ihr aus Sicherheitsgründen einen neuen Benutzer für den Gameserver anlgen, damit ein eventueller Angreifer, der über den Gameserver ins System eindringt nur Zugriff auf die Dateien des neuen Benutzers hat, nicht jedoch auf Systemdateien.
    Dazu erstellen wir einen neuen Benutzer mit dem Befehl:

    useradd -u 100 -d /home/'USERNAME' -m 'USERNAME'

    Nun müssen wir den Platzhalter 'USERNAME' noch durch den gewünschten Benutzernamen ersetzen, zum Beispiel gameadmin. Der Befehl lautet dann

    useradd -c -u 100 -d /home/gameadmin -m gameadmin
    Zu letzt müssen wir dem neu erstellten Benutzer noch ein Passwort zuweisen. Der Befehl um einem User ein Passwort zu setzen lautet

    passwd 'USERNAME'

    In unserem Fall also

    passwd gameadmin

    Man wird nun nach dem Passwort gefragt, welches man nach der Eingabe noch einmal bestätigen muss.

    Das PuTTY kann jetzt mit dem Befehl logout geschlossen werden und muss neu gestartet werden. Verwendet diesmal aber die Benutzerdaten des neu angelegten Users, in unserem Fall gameadmin.

    Installation

    Als erstes erstellt man sich einen neuen Ordner für die Installation.
    Der Befehl hierfür lautet

    mkdir 'ORDNERNAME'

    in unserem Fall empfieht sich

    mkdir srcds

    Zur Installation benötigen wir natürlich eine Setup-Datei. Diese brauchen wir nicht erst auf unseren Computer runterladen um sie dann wieder auf den Server hochzuladen, sondern können sie ganz bequem von der Herstellerwebsite kopieren.
    Um eine Datei aus dem Internet in das derzeitige Verzeichnis zu kopieren dient der Befehl

    wget 'URL'

    bei uns also

    wget http://storefront.steampowered.com/download/hldsupdatetool.bin

    Noch dürfen wir die Datei allerdings nicht ausführen. Wir müssen uns erst die Berechtigung dazu verschaffen, was wir mit dem Befehl

    chmod u=rwx 'DATEINAME'

    für unser Beispiel also

    chmod u=rwx hldsupdatetool.bin

    erledigen.
    Nun führen wir die Installationsdatei mit dem Befehl

    ./hldsupdatetool.bin

    aus und erklähren und mit den AGB's einverstanden indem wir mit yes bestätigen.
    Das hldsupdatetool hat uns nun Steam auf den Server kopiert.
    Steam müssen wir jetzt zunächst aktualisieren, was wir mit dem Befehl

    ./steam

    erledigen. Der Updatevorgang kann ein paar Minuten dauern, ihr braucht euch also nicht zu wundern, wenn scheinbar nichts passiert. Fehler werden unter Linux IMMER mit einer Fehlermeldung protokilliert, wenn gar nichts passiert wurde oder wird euer Befehl ausgeführt.
    Mit Steam können wir nun die Serverdaten von den Contentservern kopieren. Wir erledigen dies mit dem Befehl

    ./steam -command update -game "SPIELNAME" -dir "INSTALATIONSVERZEICHNIS"

    Die erste Variable "SPIELNAME" müsst ihr durch den Namen eures Spiels ersetzen. Hierbei stehen euch folgende Spiele zur Auswahl:

  • "cstrike" (Counter-Strike 1.6)
  • "czero" (Coutner-Strike: Condition Zero)
  • "dmc" (Deathmatch Classic)
  • "dod" (Day of Defeat)
  • "ricochet" (Ricochet)
  • "gearbox" (müsste Opposing Force sein)
  • "tfc" (Team Fortress Classic)
  • "valve" (weiß ich nicht)
  • "Counter-Strike Source" (Counter-Strike Source)
  • "hl2mp" (Half-Life 2 Deathmatch)
  • "dods" (Day of Defeat: Source)
  • "darkmessiah" (Dark Messiah of Might and Magic)
  • "redorchestra" (Red Orchestra)
  • "ship" (The Ship)
  • "sin" (Sin Episodes)

  • In diesem Tutorial beziehe ich mich auf Counter-Strike Source, der Befehl lautet also bis hier hin

    ./steam -command update -game "Counter-Strike Source" -dir "INSTALATIONSVERZEICHNIS"

    Für die nächste Variable "INSTALATIONSVERZEICHNIS" müssen wir uns mit der Ordnerstruktur unter Linux vertraut machen.
    Wenn ihr euch mit PuTTY unter eurem Benutzer einloggt, landet ihr im Heimverzeichnes des Benutzers. Dieses befindet sich normalerweise im Ordner /home, wir haben beim Anlegen des Benutzers das Heimverzeichnes gleich nach ihm benannt, das macht die Orientierung einfacher.
    Das Heimverzeichnis des Benutzers gameadmin ist also /home/gameadmin. Für die Installation haben wir bereits den Ordner srcds angelegt, dessen kompletter Pfad lautet damit /home/gameadmin/srcds. Diesen Pfad fügen wir jetzt in den Steam Befehl ein:

    ./steam -command update -game "Counter-Strike Source" -dir /home/gameadmin/srcds

    Fertig! Jetzt dürft ihr euch erstmal eine ganze Weile mit Warten beschäftigen, denn die Dateien werden jetzt aus dem Internet auf euren Server kopiert.
    Übrigens, im Falle eines Steam-Updates könnt ihr euren Server mit diesem Befehl auch wieder auf den neusten Stand bringen.

    Konfiguration

    Für die Konfiguration des Servers benögtigt ihr einen FTP Server der bei den meisten Root-Servern schon vom Provider vorinstalliert wird.

    Verbindet per FTP auf eueren Server und benutzt als Login-Daten euren Linux Account. Ihr landet dann in eurem Heimverzeichnis und seht vor euch die eben benutzten Dateinen und den Ordner srcds. Jetzt müsst ihr in den Ordner srcds/cstrike/cfg wechseln.
    Nun erstellt ihr euch auf eurem PC eine neue Textdatei, die ihr in autoexec.cfg umbenennt.
    In dieser Datei müsst ihr nun folgendes einfügen:

    rcon_password "RCONPASSWORT"
    hostname "SERVERNAME"

    "RCONPASSWORT" müsst ihr jetzt durch euer rcon-Passwort ersetzen, mit dem ihr den Server später steuern könnt. "SERVERNAME" ist der Name eueres Servers im Serverbrowser, wenn ihr Leerzeichen verwendet müsst ihr den Servernamen in Anführungszeichen setzen. Jetzt könnt ihr die Datei abspeichern und in das Verzeichnes srcds/cstrike/cfg hochladen.

    Serverstart

    Um den Server zu starten müsst ihr wieder mit PuTTY und eurem neuen Useraccount auf den Server verbinden. Wechselt nun in das Verzeichnis srcds in eurem Heimverzeichnis. Um unter Linux das Verzeichnis zu wechseln lautet der Befehl

    cd 'ORDNERNAME'

    Achtung! Hier gibt es jetzt zwei Möglichkeiten. Entweder ihr wollt in einen Unterordner des derzeitigen Verzeichnisses, dann reicht einfach der Befehl

    cd 'Unterordner'

    wollt ihr jedoch in einen anderen Ordner wechseln müsst ihr den kompletten Ordnerpfad mit vorausgestelltem "/" einfügen. Um in den Ordner home/gameserveradmin zu kommen lautet also unabhängig vom derzeitigen Verzeichnis der Befehl

    cd /home/gameserveradmin

    Befindet man sich allerdings schon im Ordner /home/gameadmin reicht also der Befehl cd srcds

    um in den Serverordner zu kommen.

    Jetzt wollen wir aber endlich den Server starten. Die Syntax für den Serverstart lautet

    ./srcds_run -game 'SPIELORDNER' +ip 'SERVERIP' +port 'SERVERPORT' +map 'MAPNAME' +maxplayers 'MAXIMALE_SPIELERZAHL' -tickrate 'TICKRATE'

    "SPIELORDNER" steht für den Unterordner von srcds der das jeweilige Spiel beinhaltet, für Counter-Strike Source also cstrike.
    "SERVERIP" ist die IP Adresse eures Servers
    "SERVERPORT" ist der Port über den man den Server erreichen soll, der Standartport für CSS ist 27015
    "MAPNAME" ist die Startmap, also z.B. de_dust2
    "MAXIMALE_SPIELERZAHL" ist die Maximale Spielerzahl auf dem Gameserver, 16 ist oft ein guter Wert
    "TICKRATE" ist die Anzahl an Veränderungen die der Server pro Sekunde berechnen kann. Dieser Wert sollte von der Geschwindigkeit der Server-CPU abhänging gemacht werden. Ein 3GHz Xeon Prozessor schafft locker die maximale Tickrate 100. Zur Auswahl stehen 33, 66 und 100. Je höher dieser Wert ist, desto besser ist das Spielgefühl auf dem Server.

    wenn euer Server also zum Beispiel die IP 123.123.123.123 hat sieht das ganze dann so aus:

    ./srcds_run -game cstrike +ip 123.123.123.123 +port 27015 +map de_dust2 +maxplayers 16 -tickrate 100

    Nun werdet ihr feststellen, dass der Server automatisch beendet wird, wenn man PuTTY schließt.
    Um das zu verhindern musst du den Befehl "screen" vor den Startbefehl setzen. Der Entgültige Befehl zum Serverstart ist also:

    screen ./srcds_run -game cstrike +ip 123.123.123.123 +port 27015 +map de_dust2 +maxplayers 16 -tickrate 100

    Jetzt ist der Server gestartet und ihr könnt drauf verbinden.

    Viel Spaß nun mit euerem neuen Server!
    (Cluster: nd44 - Sprache: de)