Enemy Territory 2.60 (patch b), Linux version

This page refers to the freeware game Enemy Territory (not Quake Wars, and (mainly) not RTCW).

In related news, the source code for ET and RTCW has been released.

Install base version

Get the game (version 2.60) and install it.

Patch it

DO NOT MISS THIS STEP! This patch addresses a security issue in version 2.60.

Download the patch (version 2.60b), unzip it and overwrite the old versions of et.x86 and etded.x86 with the files provided in the linux folder.

Update PunkBuster

If you miss this step, you may not be able to join a game due to an error dialog like:

ERROR

Server Disconnected - PunkBuster kicked
player 'player' (for 0 minutes)' …
Violation (GAME INTEGRITY) #20004

BACK RECONNECT

(You can expect to be kicked within 30 seconds (counting from the moment that you're connected, and it can even happen before you choose a team), or perhaps almost immediately, if you haven't updated.)

An Ubuntu Forums post suggests to run pbweb.x86 from your ET folder. This did NOT work for me, it did some stuff but nothing of consequence it would appear. The other suggestion in that thread, however, did work. Personally I downloaded the 32 bit CLI for Linux (I am on a 64 bit machine, this however does not matter unless your game is also a 64 bit version).

This is how a successful update could look like:

$ unzip pbsetup.zip 
Archive:  pbsetup.zip
  inflating: pbsetup.run             
$ ./pbsetup.run 
Downloading pbgame.htm.zip
PBSetup v3.2
Usage: pbsetup [-h] [-v] [-vv] [-vvv] [-q] [--i-accept-the-pb-eula] [-e] [-ag <str>] [-ap <str>] [-r <num>] [-l] [-la] [-u]
  -h, --help                    Display this help message
  -v, --verbose                 Display normal messages to the console
  -vv, --vverbose               Display detailed messages to the console
  -vvv, --vvverbose             Display detailed and debug level messages to the console
  -q, --quiet                   Display a minimum of information to the screen
  --i-accept-the-pb-eula        I Accept the PunkBuster EULA
  -e, --eula                    Display the PunkBuster EULA
  -ag, --add-game=<str>         Specify the game to add by abbreviation
  -ap, --add-game-path=<str>    Specify the game path to use when adding (enclose in quotation marks)
  -r, --remove=<num>            Remove a game from the list by index number
  -l, --list                    List the games that are currently configured
  -la, --list-abbreviations     List the game abbreviations for the currently supported games
  -u, --update                  Check for and apply updates
$ ./pbsetup.run -la
PBSetup v3.2
Do you agree to the PunkBuster EULA? (Y/N):
Y
Currently Supported Games
-------------------------------------
aao     "America's Army"
aav3    "America's Army Version 3"
bf2     "Battlefield 2"
bf2142  "Battlefield 2142"
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"
fearpm  "F.E.A.R.: Perseus Mandate"
nfs     "Need for Speed: ProStreet"
unco    "Need for Speed: Undercover"
prey    "PREY"
q3a     "Quake 3 Arena"
q4      "Quake 4"
vegas   "Rainbow Six 5: Vegas"
vegas2  "Rainbow Six 6: Vegas 2"
wolf    "Wolfenstein"
rtcw    "Return to Castle Wolfenstein"
sof2    "Soldier of Fortune II"
$ ./pbsetup.run -ag et
PBSetup v3.2
Do you agree to the PunkBuster EULA? (Y/N):
Y
Game added to the list.
Currently Configured Games
-------------------------------------
#001:  et       "/home/user/.etwolf/" (v1.152 | A1382)  (v1.149 | A-1 | C0.-01)
$ ./pbsetup.run -u
PBSetup v3.2
Do you agree to the PunkBuster EULA? (Y/N):
y
Downloading pbgame.htm.zip
Downloading pbsecsv.htm
The client for "et" is updating
Downloading lc002213.htm
The agent for "et" is updating
The server for "et" is updating
Downloading ls001759.htm.zip
The client for "et" is updating
Downloading mc002213.htm
The agent for "et" is updating
Downloading ma001382.htm
The client for "et" is updating
Downloading wc002213.htm.zip
The agent for "et" is updating
Downloading wa001382.htm.zip
Finished with update.

Get an ET key

You need a key to keep PunkBuster happy, and in fact to be able to see even the server list as far as I can tell:

$ cd ~/.etwolf/etmain/
$ ls -l etkey 
-r--r--r-- 1 user user 67 2010-08-01 17:30 etkey

If you don't have a saved key (I found mine on an old hard drive), you may have trouble, or be unable, to create a new one. (This used to happen automatically AFAIK, but something may be wrong with some server at this point.) There are some suggestions on how to fix this but I had no luck with the pb_cdkeyreg command for instance (just sits there without indicating any progress).

Now, you also need to make sure that all your ET profiles (one for each mod) match the appropriate user name for this key.

$ cd ~/.etwolf
$ ls -l ./*/profiles

You can try fixing any inconsistencies through ET itself, however it turned out to be too buggy for me. I renamed the directories myself (make sure to update any references in any defaultprofile.dat file if such ones exist) in the file system. Note also that it seems as if case matters, so User and user will be treated as different players.

If there is a GUID / name mismatch, you will probably get an error dialog like:

ERROR

Server Disconnected - PunkBuster kicked
player 'player' (for 0 minutes)' …
PB GUID AUTH : UNKN

BACK RECONNECT

(More) errors

Note that I'm not entirely sure that some case sensitivity by itself triggered the above error. For one, this error can occur for some apparently random reasons. Most (?) times it helps to click on the RECONNECT button as depicted (:-)) above.

Note also that you may get other errors, perhaps something like:

ERROR

Server Disconnected - Unpure client
detected. Invalid .PK3 files
referenced!

BACK RECONNECT

(Yes, it says "unpure".)

In this case it may help to restart the game. Don't ask why. If this gets you back to square one, try another server. I don't know what triggers an error in either of these two cases, but it seems like it is less likely to happen on a server that you have already been able to successfully connect to.

If the game won't quit (the dialog is messed up somehow, although it might look fine), try opening your console (usually tilde - '~') and type 'quit' there.

Play the game

(See instructions elsewhere. :-))

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License