All pastes #752566 Raw Edit

Jemand

public text v1 · immutable
#752566 ·published 2007-10-28 14:51 UTC
rendered paste body
CS 1.6 Linux Server Setup

    * Installation
    * Internet-Server
    * LAN-Server
    * Das Feintuning
    * Mögliche Probleme und ihre Lösung
    * Startscript für den Server
    * Linux Links

Installation
    Zu Beginn einige Sicherheitsfragen. Prinzipiell sollte man unter Linux Programme nur dann als "root" starten, wenn dies zwingend notwenig ist. Einen Half-life Server sollte man immer als "normaler" User ausführen!
    Außerdem gab es bei diversen Servern Angriffe, die entweder das System von aussen lahm legen konnten oder einem lokalen Benutzer root-Rechte zusichern, beides ist natürlich nicht gewünscht ...
    Am sinnvollsten ist es, für den Server einen eigenen User anzulegen (z.B. hlds) und den Server in dessen Heimatverzeichnis zu installieren.
    In diesem Tutorial ist der User jwm, sein Home liegt in /home/jwm/, den Server installieren wir nach /home/jwm/hlds/

    Wir loggen uns also als jwm direkt am Server oder über ssh ein und erstellen in unserem Home-Dir ein Verzeichnis namens hlds:
    mkdir hlds
    Nun wechseln wir mit cd hlds in dieses Verzeichnis. Um nun den Server zu installieren benötigen wir das HLDS-Updatetool.
    Am einfachsten bekommen wir es mit:
    wget http://storefront.steampowered.com/download/hldsupdatetool.bin
    Wir machen das heruntergeladene Tool mit chmod u+x hldsupdatetool.bin ausführbar.
    Jetzt einmal das Tool ausführen und die EULA mit "yes" beantworten:
    ./hldsupdatetool.bin.
    Achtung: solltet ihr eine Fehlermeldung beim Entpacken bekommen: ncompress muss installiert sein!
    Alternativ könnt ihr auch gzip verlinken: ln -s /usr/bin/gzip /usr/bin/uncompress (dies müsst ihr als root eingeben!).
    Ein Listing eures Verzeichnisses sollte nun in etwa 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

    Nun kann die Installation beginnen und wir brauchen jetzt nur noch die Serverdateien. Dabei ist die Verfahrensweise bei einem Update einer vorhandenen Installation oder einer kompletten Neuinstallation gleich.
    Wir rufen steam auf:

    ./steam -command update -game cstrike -dir /home/jwm/hlds

    Eventuell muss der Steam-Installer sich noch updaten, dann muss man es dannach noch einmal aufrufen.

    Alternativ kann man sich auch dieses Script von mercury nehmen, anpassen und verwenden - dann muss man sich die Befehle nicht merken :)

    Läuft der Server zufriedenstellend und ist die Einrichtung abgeschlossen kann man auch -autoupdate in der Kommandozeile hinzufügen. Dies bewirkt zum einen ein automatisches updaten des Servers sowie einen automatischen Neustart des Servers nach einem Crash.
    Euer Rechner sollte jetzt (je nach Art eurer Internetanbindung und wie ausgelastet Steam ist) einige Zeit mit dem Download beschäftigt sein. Wenn er alles heruntergeladen hat, können wir einen Probestart versuchen (ich gehe weiterhin davon aus, dass wir uns in /home/jwm/hlds befinden)

Internet-Server

    Wir starten den CS-Server mit den folgenden Befehlen:

    ./hlds_run -game cstrike +maxplayers 12 +map de_dust

    Dies startet einen Counter-Strike Server für maximal 12 Spieler mit der map de_dust. Falls alles geklappt hat, sollte irgendwann

    Auto detecting CPU
    Using AMD Optimised binary.
    Auto-restarting the server on crash

    Console initialized.
    Protocol version 47
    Exe version 1.1.2.5/Stdio (cstrike)
    Exe build: 20:06:30 Mar 7 2006 (3421)
    STEAM Auth Server
    Server IP address 192.168.1.4:27015
    Adding master server 207.173.177.11:27010
    Adding master server 69.28.151.162:27010
    Connection to Steam servers successful.
    VAC secure mode is activated.

    erscheinen, d.h. der Server hat sich bei STEAM angemeldet, die Anti-Cheat-Dateien von Valve geladen und ist erreichbar.
    Eventuelle Fehlermeldungen wie:

    scandir failed ...
    couldn't exec language.cfg
    couldn't exec listip.cfg
    couldn't exec banned.cfg

    kann man ignorieren oder durch anlegen der entsprechenden Dateien oder Verzeichnisse abstellen.
    Jetzt kann man auf dieser Konsole mit dem Befehl status die Daten des Servers anzeigen lassen - in unserem Beispielfall sollte dort folgendes Erscheinen:

    hostname: JWMs CS 1.6 Server
    version : 47/1.1.2.5/Stdio 3421 secure
    tcp/ip : 192.168.1.4:27015
    map : de_dust at: 0 x, 0 y, 0 z
    players : 0 active (12 max)

    In manchen Fällen ist es nötig, dem Server dezidiert die IP "mitzugeben" oder den Serverport zu ändern. Wenn zum Beispiel seltsamerweise rcon trotz in der server.cfg gesetztem Passwort nicht funktioniert, hilft im Allgemeinen
    +ip XXX.XXX.XXX.XXX
    Aber Achtung, es darf NUR eine IP übergeben werden, die auch physikalisch im Server vorhanden ist!
    Möchte man den Port des Servers ändern (z.B. weil man mehrere Server auf dem gleichen Rechner starten will) geschieht dies mit
    -port 270XX
    wobei man aufpassen sollte, dass man nicht einen der vom Server für andere Standards reservierten Ports nimmt (hier findet ihr die reservierten Ports).
    Solltet ihr das per Default aktive VAC2 (ValveAntiCheat2) ausstellen wollen: -insecure in der Startzeile hinzufügen.