Support:

08000 638 287

Mo-Fr. 10-18 Uhr (Kostenfrei aus dem deutschen Festnetz)

Call-of-Duty 4 Server einrichten

Aus netcup Wiki
Wechseln zu: Navigation, Suche

Diese Anleitung setzt vorraus, dass ein lauffähiges Linux mit den neusten Updates vorhanden als Server vorhanden ist. Siehe dazu auch Vorbereitungen für den Gameserverbetrieb. Außerdem wird noch entweder die Installations-DVD oder eine Installation von Call of Duty 4 gebraucht.

Inhaltsverzeichnis

Vorbereitungen

Zuerst lege ich einen neuen Benutzer für den Callofduty4-Server an und installier wget (falls es nocht nicht installiert ist)

  # useradd -m callofduty4

Centos:

  yum install -y wget

Debian:

  aptitude install wget

Hochladen der Spieldateien und der Serverfiles

Als nächstes müssen die Ordner main und zone von der Installations-DVD oder deiner lokalen Installation hochgeladen werden.

Screenshot

Sollte der SSH/SFTP-Login mit root klappen (Standard), kann man die dateien gleich nach /home/callofduty4 laden, ich habe in der sshd_config PermitRootLogin no, daher lade ich sie erst in mein Homeverzeichnis und verschiebe sie dann. Bitte plane für den Upload genügend Zeit ein, denn der Upload von mehreren Gigabytes (bei mir waren es 6,4GB) von zu Hause aus wird wahrscheinlich etwas länger dauern.

Wer die Dateien gleich in den richtigen Ordner hochgeladen hat, kann mit dem nächsten Schritt fortfahren, ansonsten müssen die Spieldateien noch ins richtige Verzeichnis:

  # mv /home/benutzername/temp_cod4/* /home/callofduty4/

Nun müssen die Serverfiles gesucht (am einfachsten geht es, wenn du in Google cod4-linux-server-06282008.tar.bz2 eingibst) und heruntergeladen werden:

  # wget http://server/pfad/cod4-linux-server-06282008.tar.bz2

und gleich noch entpacken:

  # tar xvfj cod4-linux-server-06282008.tar.bz2

Da die gepackten Serverfiles nicht mehr benötigt werden, werden sie von mir gelöscht:

  # rm -f cod4-linux-server-06282008.tar.bz2

Die entpackten Serverfiles müssen jetzt zu den hochgeladenen Spieldateien, der Ordner cod4-linux-server wird nicht mehr benötigt, deswegen löschen wir ihn:

  # cp -r -f cod4-linux-server/* /home/callofduty4/
  # rm -rf cod4-linux-server

Nun ändere ich den Eigentümer der Serverfiles, denn ich will den Gameserver nicht als root laufen lassen.

  # chown -R callofduty4:callofduty4 /home/callofduty4

Dann noch Benutzer wechseln und ins Homeverzeichnis vom Benutzer callofduty4 gehen:

  # su callofduty4
  $ cd /home/callofduty4

Punkbuster einrichten

Gegen die Cheater installieren wir noch Punkbuster:

  $ ./pbsetup.run -e

Man wird gefragt ob man die EULA akzeptiert, ich akzeptiere diese, deswegen bestätige ich mit y. Als nächstes fügen wir Call of Duty 4 zu Punkbuster hinzu:

  $ ./pbsetup.run --add-game=cod4 --add-game-path=/home/callofduty4
  pbsetup v2.0
  Do you agree to the PunkBuster EULA? (Y/N):

Wir bestätigen nochmals mit y

  y
  Game Added! cod4 (/home/callofduty4/)

Nun muss Punkbuster noch aktualisiert werden, es muss nochmal die EULA akzeptiert werden.


Falls bei euch folgender Fehler auftritt:

   **ERROR: Downloading a global config file failed for the following reason:
  
  Couldn't resolve host 'websec2.evenbalance.com'

Ihr gebt in eure Konsole

  ping -c 1 websec2.evenbalance.com

ein, notiert euch die IP, und fügt einen entsprechenden Eintrag für websec2.evenbalance.com in eure /etc/hosts ein. macht einen ping auf websec2.evenbalance.com, notiert euch die IP und fügt die IP zusammen mit websec2.evenbalance.com in die /etc/hosts ein.

Konfigurieren und Starten

Für die Konfiguration erstelle ich eine Datei /home/callofduty4/main/server.cfg.

Beispielkonfiguration: http://www.wiki.netcup.de/images/Cod4-server.txt

Folgende Stellen müssen unbedingt angepasst werden:


  sets sv_hostname "DeinHostName hier"

Wie dein Server heißen soll, so wird er dann auch in Clients wie HLSW etc angezeigt.

  set net_ip "your.public.ip.here"

Die IP deines Servers (WICHTIG!)

  set rcon_password "geheimnis"
  set sv_privatePassword "undnocheingeheimis"

RCON-Passwort: Damit kannst du während dem Spiel Spieler kicken/bannen und auch Einstellungen ändern, welche aber nach einem Neustart des Servers verloren gehen Private-Passwort: Sollte dein Server voll sein und du mit set sv_privateclients dir Slots offengehalten hast, kannst du so auf deinem Server spielen, obwohl alle "normalen" Slots belegt sind.

  set sv_maxclients "12" // MAX server player slots, this is TOTAL player slots

Maximale Anzahl an Spielern auf deinem Server incl. privaten Clients

  set sv_privateclients "3" // Number of private player slots, maxclients - privateclients = public slots

Anzahl an privaten, reservierten Slots.



Der Bequemlichkeit wegen erstelle ich noch ein kleines Startskript, welches ich start.sh nenne und in /home/callofduty4/start.sh speichere:

 echo "./cod4_lnxded +exec server.cfg +set loc_language 2 +map_rotate" > /home/callofduty4/start.sh

Zum Starten des Servers einfach als user callofduty4 folgendes eingeben:

  $ sh start.sh

Wenn du willst, dass der Server weiterläuft, wenn du die SSH-Session beendest, starte den CoD4-Server einfach in einer screen-session ;).

Verbinden

Nun solltest du dich auf den Server verbinden können, indem du im Spiel (Client) in der Konsole

  connect 12.34.56.789:28960

eingibst. Solltest du eine Domain auf deinen Server geschaltet und den Port nicht verändert haben, kannst du auch

  connect domain.tld

in die Konsole eintippen.


Folgende Ports müssen geöffnet werden: UDP 28960 UDP 20800 UDP 20810

Eingesendet von Dominik F.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
netcup
Webhosting
vServer / Root-Server
Groupware
F.A.Q.
Sonstiges