Startseite > Sonstiges > Sonstige Tutorials > Punkbuster Update Linux

Die Jungens von Evenbalance.com bieten ein Tool an, mit dem man den PunkBuster für alle von Evenbalance unterstützte Titel einfach installieren/updaten kann.

 

Als erstes ein neues Verzeichnis erstellen

  • mkdir pbsetup
  • cd pbsetup

Punkbustersetup herunterladen und die Rechte zum ausführen setzen

wget http://websec.evenbalance.com/downloads/linux/pbsetup.run

  • chmod u+x pbsetup.run

 

 

Jetzt die pbsetup starten und den Pfad zum Spiel übergeben. Ohne das Verzeichnis /pb - dies wird vom Tool erstellt wenn nicht vorhanden.

Die Option -ag gibt den Typ des Spieles an, eine Liste der möglichen Optionen gibt der Befehl

  • ./pbsetup.run --i-accept-the-pb-eula -la

zur Zeit sind dies:

Supported Games:

  • aao - "America's Army"
  • aav3 - "America's Army Version 3"
  • bf1942 - "Battlefield 1942"
  • bf2 - "Battlefield 2"
  • bf2142 - "Battlefield 2142"
  • heroes - "Battlefield Heroes"
  • bfv - "Battlefield Vietnam"
  • cod - "Call of Duty"
  • cod2 - "Call of Duty 2"
  • cod4 - "Call of Duty 4"
  • waw - "Call of Duty: World at War"
  • crysis - "Crysis"
  • wh - "Crysis Wars"
  • doom3 - "DOOM3"
  • et - "Enemy Territory"
  • etqw - "Enemy Territory: Quake Wars"
  • fcx - "Far Cry 2"
  • fearpm - "F.E.A.R.: Perseus Mandate"
  • ffow - "Frontlines: Fuel of War"
  • nfs - "Need for Speed: ProStreet"
  • prey - "PREY"
  • q3a - "Quake 3 Arena"
  • q4 - "Quake 4"
  • rvs - "Rainbow Six 3: Raven Shield"
  • vegas - "Rainbow Six 5: Vegas"
  • vegas2 - "Rainbow Six 6: Vegas 2"
  • rtcw - "Return to Castle Wolfenstein"
  • sof2 - "Soldier of Fortune II"

Zum hinzufügen eines Call of Duty World at War Servers also die Option "-ag waw"

  • ./pbsetup.run --i-accept-the-pb-eula -ag waw -ap /pfad/zum/gameserver

Ob die Operation erfolgreich war zeigt ein

  • ./pbsetup.run --i-accept-the-pb-eula -l

Im Beispiel sind mehrere Spiele Installiert:

 

  1. #0 - cod2 "/home/kk/.cod2-28960/" (v2.181 | A1383) (v1.741 | A1383 | C2.181)
  2. #1 - cod4 "/home/kk/.cod4-28961/" (v2.180 | A1407) (v1.740 | A1407 | C2.180)
  3. #2 - waw "/home/kk/games/cod5" (v2.176 | A1409) (v1.723 | A1409 | C2.176)     

 

Alle dem Tool so bekannt gemachte Server können jetzt in einem Rutsch mit dem Befehl

  • ./pbsetup.run --i-accept-the-pb-eula -u

geupdated werden. Einzelne Server werden wieder entfernt mit der Option -r {Nummer aus der Ausgabe mit -l}

  • ./pbsetup.run --i-accept-the-pb-eula -r 3

entfernt also den waw aus der Konfiguration (löscht aber nicht das Verzeichnis /home/kk/games/cod5/pb dies muss dann noch von Hand erledigt werden falls dies das Ziel ist)


Mögliche Fehlerquellen:

Die pbsetup.run ist eine gepackte Datei. Es kann passieren das bei der Eingabe
./pbsetup.run überhauptgarnix passiert. Dann hilft ein manuelles entpacken des Binaries

  • upx -d pbsetup.run


Ultimate Packer for eXecutables
Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007
UPX 3.00 Markus Oberhumer, Laszlo Molnar & John Reiser Apr 27th 2007

File size Ratio Format Name
-------------------- ------ ----------- -----------
6435112 <- 2539230 39.46% linux/386 pbsetup.run

Unpacked 1 file.


Sollte bei upx -d pbsetup.run ebenfalls eine Fehlermeldung:
-bash: upx: command not found
erscheinen, dann fehlt noch das Programm upx auf dem Server, bei Debianabkömlingen heißt das Paket upx-ucl:

  • apt-get install upx-ucl


Diese Probleme sind bei einigen Debian / Ubuntu Installationenaufgetreten. Nach dem manuellen Entpacken funktioniert es dann aber.

 

Versteckter Ordner .callofdutyX

Die Linux Version von Call of Duty hält sich an die etwas unsinnige Konvention das Benutzerabhängige Einstellungen unter dem /home Verzeichnis des Benutzers in einen Versteckten Ordner abgelegt werden (.callofdutyx) Dieser ist nur sichtbar wenn ausdrücklich versteckte Ordner angezeigt werden sollen z.B. mit ls -la.

Beim allerersten Start des Servers werden dort unter anderem auch der /pb Ordner hinkopiert. Dies muss man beachten wenn man eigene cfgs erstellt, Punkbuster Screenshots sucht oder trotz des Update Tools der Server nicht geupdated ist. Dann liegt in diesem homeverzeichnis vermutlich noch eine alte Version von Punkbuster. Abhilfe schaft kurzzeitig den .callofduty Ordner zu löschen (Keine Angst wird beim nächsten Start dann frisch aus dem Serververzeichnis kopiert). Um langfristig dieses Problem zu umgehen lege einen symbolischen Link von dem versteckten Ordner auf den echten an. z.B.

ln -s /home/benutzername/.callofduty /home/benutzername/servercod2

Nun werden alle Schreibzugriffe auf den .callofduty umgeleitet auf den echten Serverpfad.

 

Mehrere Server des selben Spieles auf derselben Maschine

Sollen mehrere Server des selben Gametypes in Betrieb gehen sollte jeder Server mit der Option +set fs_homepath /gameserverX gestartet werden. Ansonsten benutzen alle Punkbuster Instancen der verschiedenen Server dasselbe homeverzeichnis (siehe versteckter Ordner .callofduty) was Probleme mit verschiedenen cfgs, Logfiles und Screenshots verursacht.