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) #20004BACK 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 : UNKNBACK 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. :-))