Login
Benutzername

Passwort



Passwort vergessen?
Jetzt ein neues Passwort zuschicken lassen.
Benutzer Online
Gäste Online: 11

Mitglieder Online: 0

Registrierte Mitglieder: 190
Neustes Mitglied: Yashu
No Cheater
Thema ansehen
Die-German-Crew :: Counterstrike :: Server Erstellen
 Thema drucken
CS 1.6 Server Linux setup
ThePlake
#1 Beitrag drucken
Geschrieben am 24-08-2012 11:56



Beiträge: 4
Registriert seit: 09.08.12

Hier auch ein kleines Tutorial um CS 1.6 Server auf Linux zu installieren:



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 cs16, sein Home liegt in /home/cs16/, den Server installieren wir nach /home/cs16/hlds/

Wir loggen uns also als cs16 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 cs16 users 3,4M 14. Jan 12:38 hldsupdatetool.bin
-rw-r--r-- 1 cs16 users 3,4K 7. Apr 2005 readme.txt
-rwxr-xr-x 1 cs16 users 7,5M 18. Nov 08:36 steam
-r-xr-xr-x 1 cs16 users 350K 16. Nov 06:28 test1.so
-r-xr-xr-x 1 cs16 users 443K 16. Nov 06:28 test2.so
-r-xr-xr-x 1 cs16 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/cs16/hlds

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

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: CS16's 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.

LAN-Server
Wir starten den CS-Server mit den folgenden Befehlen:

./hlds_run -game cstrike -insecure -nomaster +sv_lan 1 +maxplayers 12 +map de_dust

Dies startet einen Counter-Strike Server für maximal 12 Spieler mit der map de_dust. Mit "-insecure" schalten wir das herunterladen der Anti-Cheat-Dateien aus. Falls alles geklappt hat, sollte irgendwann

Master server communication disabled
...

erscheinen, d.h. der Server ist im internen Netzwerk erreichbar. 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 insecure
tcp/ip : 192.168.1.4:27015
map : de_dust at: 0 x, 0 y, 0 z
players : 0 active (12 max)

Das Feintuning
Normalerweise klappt die CPU-Erkennung des hlds_run-Scripts ganz gut. Sollte sie scheitern, kann man mit -binary BINARY angeben, für welchen CPU-Typ das Binary-File sein soll.
Verfügbar sind momentan Binarys für generische AMD-CPUs (hlds_amd), AMD-64-Bit(hlds_amd64), Intel Pentium und aufwärts (hlds_i486) sowie Intel Pentium 3 und aufwärts (hlds_i686).
Um z.B. die Binary für den P3 zu laden sähe der Aufruf so aus:

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

Wichtig ist das voranstellen von ./, sonst findet das Script das Binary nicht!
Durch Aufruf von ./hlds_run -help zeigt euch das Script eine kleine Hilfe.

Wenn der Server einmal läuft, kann man ihn mit dem Befehl quit auf der Serverkonsole wieder beenden. Einstellungen wie der Hostname des Servers und Befehle zum Spielverhalten finden sich in der Datei server.cfg im Verzeichnis /home/cs16/hlds/cstrike.

Wichtig ist dann, dass ihr die Installation entweder als root durchführt oder dass das Verzeichnis /usr/steam existiert, da der Installer dort das tgz-File ablegt!
Anschließend könnt ihr den Server mit tar in ein Verzeichnis eurer Wahl entpacken.

Solltet ihr den Server hinter einer Firewall oder einem Router betreiben, muss der Serverport (Standard ist UDP 27015) von dort auf den CS-Server geforwarded werden.
Ebenso müssen diese Ports geöffnet sein:

UDP 1200
UDP 27000 to 27015 inclusive
TCP 27030 to 27039 inclusive


Wenn euer Client und der Server in einem LAN hinter einem Router sind, könnt ihr mögliche Verbindungsprobleme durch einfügen von -port 27016 beheben.

Die Meldungen:
Failed to get valid content ticket oder Ran out of content tickets
liegen nicht an euch sondern daran, dass Steam hoffnungslos überlastet ist.
Die Server, die die Daten zum Update anbieten haben zur Zeit (9/2003) eine Bandbreite von 1000Mbps.
Selbst wenn der Durchschnittsserver nur mit 1MBps angebunden ist, reicht diese Bandbreite mal gerade für 1000 gleichzeitige Updates - ein bißchen arg wenig für das beliebteste Onlinespiel.

Bei der Meldung ContentServer rejected client's protocol version! hilft es im Allgemeinen, den Inhalt von /home/USER/.steam (oder ggf. /root/.steam) zu löschen und es dann noch mal versuchen.

Viel Spass!
Copy Shop Felix
 
Blackmamba
#2 Beitrag drucken
Geschrieben am 24-08-2012 12:07
User Avatar




Beiträge: 119
Registriert seit: 28.02.10

Danke dir für das sehr übersichtliche Tut Smile
 
Ghost75
#3 Beitrag drucken
Geschrieben am 24-08-2012 19:54
User Avatar




Beiträge: 500
Registriert seit: 05.06.10

Grin

die-german-crew.de/hosting/pics/bild_6464387534d02a89da5f6e.jpg



Ich bin nicht gestört, ich bin eine Limited Edition!
 
Eddie Price
#4 Beitrag drucken
Geschrieben am 26-08-2012 15:46
User Avatar




Beiträge: 160
Registriert seit: 05.06.10

Danke
 
Springe ins Forum:
Powered by PHP-Fusion copyright © 2002 - 2024 by Nick Jones.
Released as free software without warranties under GNU Affero GPL v3.
Deutsche Übersetzung durch phpfusion-support.de
Die German Crew © 2010
Seitenaufbau: 0.01 Sekunden
14,865,068 eindeutige Besuche