Wie setze ich einen Gameserver unter Linux auf ? Lokal + Internet
Hallo liebe Luxxer und Linuxxer ,
Hiermit eröffne ich den Thread „Wie setzt man einen Gameserver unter Linux auf ?"
ihvInhalt:
1. Vorraussetzungen
- Hardware-Vorraussetzungen
- Linux-Kenntnisse
- Welche ist „die Beste" ?
- Für Welches Game wollt ihr einen Server hochziehen ?
- Counter-Strike: Source
- Call of Duty 4 – Modern Warfare
(derzeit noch nicht verfügbar): - Counter-Strike 1.6/Condition Zero
- Call of Duty
- Call of Duty 2
Inhalt:
No1
1. Vorraussetzungen:
Die richtige Hardware:
Grundsätzlich sollte man sich darüber im Klaren sein, dass alle aktuellen Games nicht nur schnelle PC's benötigen, damit sie gespielt werden können, sondern auch die Server für diese Spiele brauchen die nötigen Ressourcen.
Sie müssen jedoch keinesfalls 3D-Power haben, da man das im Serverbetrieb keinesfalls braucht.
Desweiteren spart man schon an der Auslastung des Betriebssystems, wenn man Linux verwendet
Für alle gezeigten Beispiel-Server empfehle ich mindentens (um zumindest ein wenig Arbeits- und Spielgenuss zu haben):
- AMD/Intel ab ~1,5Ghz / 1500+
- 512MB RAM
- 40Gb HD
[Internet-Server]
Für einen Server, der auch im Internet verfügbar sein soll, muss das Umfeld stimmen.
Unter einer 6000er DSL Leitung sollte man sich darüber erstmal keinen Kopf machen, da das mehr Krampf als Server wird. Ich stehe hier mit meiner 3000er Dsl Leitung mit Fastpath relativ gut da, bei einer 100er Tick schaffe ich es mit ca. 4-5 weiteren Spielern zu zocken.
Außerdem ändert sich eure IP täglich, sofern ihr keine Konstante IP gebunkert habt. Euer ISP (Internet Service Provider) wird euch nach jeder Zwangstrennung alle 24h eine neue IP zuweisen, wie ein gigantischer DHCP-Server. Wenn ich jedoch einen Server haben wollt, der bei entsprechender Internetleitung und Konfiguration dauerhaft verfügbar sein soll, müsst ihr euch einen Account bei DynDNS erstellen und diesen Dienst im Router konfigurieren. Danach können alle Mitspieler (sofern sie die DynDNS-Adresse kennen) auch in größeren Abständen connecten, wenn die externe IP bereits gewechselt hat.
[lokaler Server (LAN)]
Für einen Server im heimischen LAN benötigt ihr nichts weiter außer einem funktionierenden 100Mbit oder 1Gbit Netzwerkchip, der von Linux erkannt wird und einen Datenaustausch ermöglicht.
Gegebenenfalls müsst ihr die IP neukonfigurieren, das geht per
Code:
ifconfig
No2
2. Die richtige Distribution
Welche ist „die Beste" für Gameserver ?:
Um das Ganze auch für Linux-Einsteiger möglich zu machen empfehle ich für die ersten Geh-Versuche unter Linux und die ersten Tests mit Gameservern Ubuntu. In der aktuellen 7.10er Version bietet das schon extrem viele Treiber, hat das ntfs-3g Plugin schon enthalten und ist sowieso sehr einsteigerfreundlich.
Desweiteren gibt es natürlich noch Debian, in der aktuellen Version 4 Etch läuft das ebenfalls äußerst stabil und bietet auch sehr guten Hardware-Support. Jedoch muss man dort etwas mehr Hand am System selbst anlegen, um es ersteinmal zu vervollständigen und startklar zu machen. Für spezielle Einsatzgebieten, bzw für „richtige" Server wahrscheinlich erste Wahl, da keine unnötigen Programme/Tools mit installiert werden.
Um das ganze nochmal ein wenig übersichtlicher zu gestalten:
Für Einsteiger:
- Ubuntu 7.10:
Vorteile:
-einsteigerfreundlich
-"komplett" - System sofort einsatzbereit
-sehr stabil
Nachteile:
-extrem „volles" System, viele unbenötigte Tools werden direkt mitinstalliert
Für reinen Servereinsatz (Linux-Kenntnisse erfordelich):
- Debian 4 Etch:
Vorteile:
-"nacktes" System, keine unbenötigten Tools werden mitinstalliert
-gute Paketverwaltung
-sehr stabil
-eignet sich sehr gut im Servereinsatz (deshalb auch sehr beliebt)
-für Anfänger noch gut geeignet
-Updates werden erst released, wenn diese ausgiebig getestet wurden -> sehr stabil!
Nachteile:
-für die jeweiligen Server muss das System vervollständigt werden (System-Binaries, -Tools, -Plugins...)
- Arch-Linux (zwingend Linux-Kenntnisse erforderlich!):
Vorteile:
-Anwender kann selber bestimmen, was er installieren will und was nicht (ähnlich Gentoo)
-sehr gutes Paketmangement
Nachteile:
-für Anfänger definitiv ungeeignet
-sog. "Rolling Release"
-Updates können neue Bugs mit sich bringen
-eher ungeeignet für reinen Server-Einsatz
No3
3. Verschiedene Gameserver
Für Welches Game wollt ihr einen Server hochziehen ?
Zu allererst müsst ihr euch natürlich überlegen: Für welches Game will ich denn eigentlich einen Server hosten ?
Es werden in naher Zukunft viele Anleitungen gesammelt werden, u.a.:
- Counter-Strike: Source (bereits verfügbar, s.u.)
- Counter-Strike 1.6/Condition Zero (folgt in Kürze)
- Call of Duty (folgt in Kürze)
- Call of Duty 2 (folgt in Kürze)
- Call of Duty 4 – Modern Warfare (folgt in Kürze)
No4
4. How2's (derzeit verfügbar):
No4.1
- Counter-Strike: Source:
Zunächst braucht ihr ein wie oben beschriebenes, fertig installiertes und recht aktuelles Linux.
Danach richtet ihr am besten einen neuen User ein, dann kann man das alles schön im /home-Verzeichnis erledigen und brauch sich nicht soviel mit sudo und chmod rumplagen.
Nennen wir diesen User jetzt einfach srcds (für SouRCe Dedicated Server).
Das ganze geschieht mittels:
Code:XXXX:~$ sudo adduser srcds [sudo] password for XXXX: Geben Sie ein neues UNIX Passwort ein: Geben Sie das neue UNIX Passwort erneut ein:
Danach melden wir uns mit dem soeben erstellten User an.
Man öffnet ein Terminal/Konsole und so geht’s los:
Zunächst brauchen wir das das hldsupdatetool.bin:
Code:wget http://storefront.steampowered.com/download/hldsupdatetool.bin
Danach machen wir eben dieses Tool ausführbar:
Code:chmod u+x hldsupdatetool.bin
Und starten es per:
Code:./hldsupdatetool.bin
Danach müssen wir yes eintippen und er erstellt die Steamtools.
Nun kommt die eigentliche Installation des Dedicated Server:
Code:mkdir srcds
Code:./steam -command update -game „Counter-Strike Source" -dir srcds
Danach aktualisiert er erstmal das HLDSupdatetool, wenn das fertig ist, einfach den Befehl erneut ausführen und die knapp ~1,5gb werden runtergeladen.
Es kann zwischendrin zu Verbindungsabbrüchen kommen, da die VALVe Server nicht gerade die besten sind. Dann einfach das Command erneut ausführen und er macht dort weiter, wo die Verbindung abgerissen ist.
Nachdem der gesamte Server fertig heruntergeladen ist, den Befehl nochmals ausführen, um alle Dateien nochmals überprüfen zu lassen.
Jetzt sind wir auch schon fast am Ende der reinen Server-Installation.
Was jetzt folgt ist der erste Serverstart
Das geht wie folgt:
Code:cd srcds ./srcds_run -game cstrike -maxplayers 12 +map de_dust2 -port 27015 -tickrate 33
Hier habt ihr auch mal alle wichtigen Start-Parameter zusammengefasst, es gibt dann noch +ip 123.123.123.123 was aber nur für einen Rcon-Zugriff notwendig ist, und es kann dann zu Problemen kommen, und zwar, dass der Server nicht mehr im LAN erscheint, wenn die IP fest im Startparameter enthalten ist.
Normalerweise sollte der Server jetzt starten. Es wird die CPU automatisch erkannt und jeweils das optimierte Verzeichnis ausgewählt (SSE2/3, AMD, i386).
Wenn der Server nun gestartet ist, könnt ihr mal Versuchshalber mit einem Client draufconnecten und gucken ob alles geht
Damit ist euer Counter-Strike: Source Dedicated Server fertig und einsatzbereit.
No4.5 - Call of Duty 4 – Modern Warfare:
So, nachdem das erste How-To (CS:S) fertig ist, mache ich mich nun auf NUMA's Wunsch hin an Call of Duty 4 – Modern Warfare.
Zu Anfang braucht ihr erstmal das Game selber, da jedes Spiel von irgendwo einen Anfang benötigt. Bei den Counter-Strike-Teilen ist das anders, da VALVe dafür extra Content-Server bereitstellt und die Dedicated Server „for free" anbietet.
Die einfachste und m.M.n. Beste Variante ist hierbei (leider) ein Windows-PC.
Im Folgenden werde ich erst die Variante mit Windows-PC erläutern und danach die ohne.
Da mittlerweile zwar schon der v1.4 Patch veröffentlich wurde, ich diesen jedoch noch nicht testen konnte, werden wir den gesamten Server mit der Version v1.3 betreiben.
No4.5.1
Windows-PC verfügbar:
Das ist relativ einfach. Zunächst installiert man das Spiel, wie jedes andere auch, auf seine Festplatte. Danach läd man sich z.B. von 4players den Patch auf Version 1.3 herunter. Wenn man dann die knapp 14Mb heruntergeladen hat, installiert man den Patch.
Damit ist der Server-Ordner schon fast fertig. Nun erstellt man auf dem Linux-Server einen Ordner z.b. im /home-Verzeichnis:
Code:mkdir cod4 chmod -R 777 cod4
Um die Dateien jetzt vom Windows-PC auf den Server zu bekommen kann man einmal eine DVD brennen und diese dann hin- und hertauschen, oder man nimmt die elegantere Lösung und richtet einen Windows-Netzwerkdienst und -client auf dem Server und überspielt die Daten via Netzwerk:
Dieses Tool nennt sich Samba:
Code:sudo apt-get install samba
Jetzt muss natürlich noch die config angepasst werden:
gedit ist hierbei mein editor, ggnf. ersetzen durch nano/vi/vim/kate usw..
Code:sudo gedit /etc/samba/smb.conf
Um dies hier kurz und einfach zu gestalten sollte unter Global nur noch folgendes zu finden sein:
Code:#======================= Global Settings ======================= [global] workgroup = ARBEITSGRUPPE server string = %h security = share dns proxy = no ;wins support = no ;wins server = w.x.y.z [cod4] comment = path = /home/USER/cod4 guest ok = yes browseable = yes writeable = yes #===============================================================
Jetzt nocheinmal überprüfen ob die Rechte für dieses Verzeichnis auch gesetzt sind damit man von Windows Rechner aus die Daten hineinkopieren kann:
Code:sudo chmod -R 777 /home/USER/cod4
Und zu guter Letzt die Samba-Daemons neustarten:
Code:sudo /etc/init.d/samba restart
weiterlesen bei Installation
No4.5.2
kein Windows-PC verfügbar:
Bei dieser Variante benötigen wir die Call of Duty 4 – Modern Warfare DVD, denn auch hier benötigen wir die Daten für den Server.
Wir legen im /home-Verzeichnis einen cod4 Ordner an, in den wir den gesamten Inhalt der DVD kopieren.
Um das Spiel nun auf die Version v1.3 zu patchen benötigen wir einen speziellen Hotfix, den wir von dort bekommen:
Code:wget http://www.1337-server.net/cod4/cod4-linux-server-12102007.tar.bz2
Dieses Archiv in das cod4-Verzeichnis verschieben und wir folgt entpacken:
Code:tar xfvj cod4-linux-server-12102007.tar.bz2
Die Dateien aus dem jetzt entpackten Ordner (cod4-linux-server-...) in das Hauptverzeichnis verschieben bzw. kopieren, ggf. alte Datein überschreiben .
No4.5.3
Installation:
Jetzt benötigen wir noch den eigentlichen Dedicated Server:
Code:wget http://www.1337-server.net/cod4/cod4-linux-server-12032007.tar.bz2
Und nun folgt wieder:
Dieses Archiv in das cod4-Verzeichnis verschieben und wir folgt entpacken:
Code:tar xfvj cod4-linux-server-12032007 .tar.bz2
Die Dateien aus dem jetzt entpackten Ordner (cod4-linux-server-...) in das Hauptverzeichnis verschieben bzw. kopieren, ggf. alte Datein überschreiben .
Danach der Datei cod4_lnxded die Rechte 775 geben:
Code:sudo chmod 775 cod4_lnxded
Als nächstes folgt die Installation von Punkbuster:
Punkbuster Installieren:
Der Datei pbsetup.run Ausführungsrechte geben (chmod 755 pbsetup.run)
Jetzt die folgenden 3 Befehle ausführen:
Code:./pbsetup.run -e ./pbsetup.run --add-game=cod4 --add-game-path=/home/USER/cod4/ ./pbsetup.run -u
Allerdings funktioniert Punkbuster dann noch nicht, bzw. ist noch nicht aktiviert. Damit beschäftige ich mich nochmal, aber der Server funktioniert auch wunderbar ohne PB.
Als nächstes müssen wir noch eine funktionierende server.cfg und weapons.cfg haben.
Beispiel server.cfg (nach eigenen Wünschen anpassen, aber auch ohne Modifikation einsatzbereit ):
http://rapidshare.com/files/78177092/server.cfg.html
Beispiel weapons.cfg
http://rapidshare.com/files/78177317/weapons.cfg.html
Somit ist der Server startklar.
Wenn man sich nun ein bisschen Arbeit beim Starten des Servers ersparen will, kann man sich ein Startscript anfertigen:
Man erstellt eine start.sh mit folgendem Inhalt (eurer Umgebung anpassen !):
Code:#!/bin/bash cd /home/cod4/ # Start server now! screen -A -m -d -S cod4 /home/cod4/cod4_lnxded +set net_port 28960 +set sv_punkbuster 1 +set sv_pure 1 +exec server.cfg +set fs_homepath /home/cod4/ +map_rotate +set loc_language 2
Jetzt fehlt natürlich noch ein Script zum Stoppen des Servers (stop.sh) (eurer Umgebung anpassen !) :
Code:#!/bin/sh screen -S cod4 -X quit
Und hier noch ein Restart-Script (restart.sh) (eurer Umgebung anpassen !) :
Code:./Stop.sh ./Start.sh
Danach sollte der Server funktionieren und alle grundlegenden Funktionen aktiviert sein und ihr könnt loszocken.
Soweit bis hierhin von meiner Seite, ich hoffe es gefällt und wenn ich noch Zeit finde kümmere ich mich um die anderen Games und auch zur Konfiguration und Optimierung der einzelnen Server wie das Mani-Admin-Plugin bei CSS.
Dieser Thread wird ständig erweitert, ergänzt und auf dem aktuellen Stand der Dinge gehalten.
mfg
foxxx
Zuletzt bearbeitet: