Server erstellen:
1. 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 außen 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 und den Server in dessen Heimatverzeichnis zu installieren.
In diesem Tutorial ist der User kk, sein Home liegt in /home/kk/, den Server installieren wir nach /home/kk/srcds/
Um einen User anzulegen geben wir als "root" folgendes ein:
useradd kk
2. Nun haben wir einen neuen Benutzer erstellt. Wir erstellen dem Benutzer "kk" sein Verzeichnis mit:
mkdir /home/kk
3. Anschließend müssen wir dem Benutzer "kk" sein Home-Verzeichnis zuweisen, in dem er alle nötigen Rechte für das Ausführen des Gameserver besitzen wird:
chown -R kk /home/kk
4. Der Benutzer benötigt jetzt nur noch ein Passwort, mit dem er sich per SSH einloggen kann:
passwd kk
[+ 2mal das Passwort eintippen (es werden keine * oder gar das Passwort beim eingeben angezeigt!)]
5. Der Anfang ist schon einmal geschafft. Nun können wir uns entweder mit "su kk" umloggen, oder wir startet einfach eine neue Sitzung.
Wenn wir und erfolgreich als User "kk" eingeloggt haben, befinden wir uns in unserm sogenannten "Home-Dir". Hier erstellen wir einen neuen Ordner mit :
mkdir srcds
6. Nun wechseln in diesen Ordner:
cd srcds
7. Um nun den Server zu installieren benötigen wir das HLDS-Updatetool. Um dieses runterzuladen, geben wir folgendes ein:
wget http://storefront.steampowered.com/download/hldsupdatetool.bin
8. Wir machen das heruntergeladene Tool ausführbar:
chmod u+x hldsupdatetool.bin
9. Jetzt einmal das Tool ausführen und die EULA mit "yes" beantworten:
./hldsupdatetool.bin
Anmerkung: 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!]
10. 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 "Counter-Strike Source" -dir /home/kk/srcds
11. Eventuell muss der Steam-Installer sich noch updaten, dann muss man es danach noch einmal aufrufen.
Solltet ihr bei 100 % angekommen sein sind alle Dateien fertig runtergeladen und der Server wartet nur noch darauf gestartet zu werden. Wir starten den CS-Server mit den folgenden Befehlen:
./srcds_run -game cstrike +map de_dust -maxplayers 12
12. Dies startet einen Counter-Strike Server für maximal 12 Spieler mit der Map de_dust. Falls alles geklappt hat, sollte irgendwann etwas Ähnliches wie dieses erscheinen:
Auto detecting CPU
Using default binary.
Auto-restarting the server on crash
Console initialized.
Attempted to create unknown entity type event_queue_saveload_proxy!
Game .dll loaded for "Counter-Strike: Source"
maxplayers set to 12
Network: IP 192.168.1.1, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
Executing dedicated server config file
Adding master server 207.173.177.11:27011
Adding master server 69.28.151.178:27011
Connection to Steam servers successful.
VAC secure mode is activated.
Das bedeutet, der Server hat sich bei STEAM angemeldet 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: CS:Source-Server
version : 1.0.0.34/7 3531 secure
udp/ip : 192.168.0.1:27015
map : de_dust at: 0 x, 0 y, 0 z
players : 0 (12 max)
13. 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 (z.B. wenn ihr "quit" eingebt).
Weitere Befehle für den Startbefehl:
-tickrate 33
Mit diesem Befehl könnt ihr die Tickrate des Servers einstellen. Gebt ihr diesen Befehl nicht mit hinzu, wird der Server standartgemäß mit Tickrate 66 hochgefahren (Tickrate 33, 66, 100 und je nach Rechneraustattung auch 125 sind die normalen Werte)
+ip XXX.XXX.XXX.XXX
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 dieser Zusatzparameter im Allgemeinen.Aber Achtung, es darf NUR eine IP übergeben werden, die auch physikalisch im Server vorhanden ist!
-port 270XX
Möchte man den Port des Servers ändern (z.B. weil man mehrere Server auf dem gleichen Rechner starten will) geschieht dies mit diesem Parameter, wobei man aufpassen sollte, dass man nicht einen der vom Server für andere Standards reservierten Ports nimmt.
-insecure
Mit diesem Parameter schaltet ihr das per Default aktive VAC2 (ValveAntiCheat2) aus.
-nomaster
Der Server verbindet sich zu keinen Master-Server sondern geht direkt Online (z.B. für Lan Betrieb).
+sv_lan 1
Legt fest, ob ihr im Internet spielt (Wert = 0) oder über LAN (Wert = 1)
Und hier einmal zusammenfassend ein Startbefehl:
./srcds_run -autoupdate -game cstrike -insecure +map de_dust2 -tickrate 100 -maxplayers 12 (CSS Server wird gestartet, er fährt automatisch nach einem Crash wieder hoch, VAC2 ist ausgeschaltet, die Startmap ist de_dust2, die Tickrate ist 100 und die Slotanzahl beträgt 12.)
Solltet ihr den SSH Client schließen, werdet ihr feststellen, dass der Server Offline geht. Dieses liegt daran, dass ihr eure Sitzung beendet habt und den laufenden Prozess beendet. Ihr könnt die Sitzung aber "aufrecht" erhalten, indem ihr vor eurem Startbefehl folgendes schreibt:
screen -A -m -d -S css1 ./srcds_run -game cstrike [...] Nun könnt ihr den SSH Client schließen, ohne das die Verbindung zum Server abbricht.
|