Wolfenstein: Enemy Territory

From ArchWiki

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: Some work is needed to comply archwiki Style. (Discuss in Talk:Wolfenstein: Enemy Territory)

Wolfenstein: Enemy Territory (also known as Enemy Territory or just ET or W:ET) is a free and open source multiplayer first-person shooter video game set during World War II which runs on Linux, Mac OS X and Windows. On the 12th August 2010, the entire source code was released under the GNU General Public License v3. The open source project Enemy Territory: Legacy is a collaborative effort focusing on fixing issues by backporting improvements from ioquake3 while staying binary compatible with the original game client, server and most of its mods.

Installation

Enemy Territory

Enemy Territory can be installed from enemy-territoryAUR. Alternatively, the official installer can be downloaded from here: https://filebase.trackbase.net/et/full/et260b.x86_full.zip. Once installed you can run the game by executing this command:

$ et

Depending on your system, you might notice that ET is not emitting any music or sounds. If that is the case, please go to #Troubleshooting.

Enemy Territory is also available from Steam. Only the Windows version is available by default but the Linux version can be installed with Luxtorpeda.

Generate ETKey

Originally, PunkBuster client used to create a file known as etkey upon installation. This file is important as it is used to identify players, save player's XP and admin levels. Some servers do not allow players to play without ETKey. However, since EvenBalance ended its PunkBuster support for Enemy Territory, the ETKey is not being generated anymore.

An ETKey can be manually generated by following these steps:

  1. Go to http://etkey.net/ and download an ETKey from there.
  2. Copy the downloaded etkey file to $HOME/.etwolf/etmain
  3. Enable PunkBuster by running ET > Play Online > Enable PunkBuster (bottom right-hand side).

Enemy Territory: Legacy

ET:Legacy automatically generates the ETKey and solves the Enemy Territory issues shown below. It can be installed from etlegacyAUR(64-bit) or etlegacy32AUR(32-bit).

Note: The 64 bit version is not compatible with Enemy Territory 2.60b mods.

Create CFG File (Optional)

Useful CVARs (i.e. ET commands) can be stored in a configuration (CFG) file. The following contains steps how to created such file:

  1. Create a plain text file in the following location: $HOME/.etwolf/etmain/your_nickname.cfg
  2. Open the file and add your desired commands. For example:
// Set your nickname (this line is a comment)
seta name         "^7Arch^dLinux"    // ^7 is the represents the white colour (i.e. text after ^7 will be displayed as white), while ^d represents blue

// Customize your HUD
seta cg_drawFPS   1    // displays your actual FPS (Frame Per Second) on your right hand side
seta cg_lagometer 1    // displays a connection-related display

// Others
seta com_maxfps   125  // 125 max FPS
seta com_hunkmegs 192  // in order to be able to load complex/graphic intensive maps

// ...etc...

To execute the CFG file:

  1. Open ET and connect to your favourite server.
  2. Open the console by pressing the ~ tilde key.
  3. Execute your CFG script by typing the following command: \exec your_nickname.cfg

Troubleshooting

No sound

Enemy Territory was developed during a time when OSS was still the 'official' Linux's sound system but was superseded by ALSA. As a result, Enemy Territory might not be able to emit sound.

This problem can be solved by enabling the multilib repository, installing the multilib-devel group, and finally installing et-sdl-sound.

Once et-sdl-sound is installed, you can launch the game using the following command:

$ enemy-territory.sdl

Keep in mind the et-sdl-sound fix applies only to Enemy Territory and does not work with Enemy Territory: Legacy.

Lack of sound in Enemy Territory: Legacy 32-bit (manifested by "Failed to open OpenAL device" error in ET console) can be resolved by installing the following 32-bit pulseaudio package - lib32-libpulse. You need to install it even if you normally use 64-bit pulseaudio.

Wrong resolution

You might not be able to find your official monitor's resolution in the Options page of ET. The problem can be solved by using a CFG file (see: #Create CFG File (Optional):

Open your CFG file and append the lines:

seta r_mode          -1      // -1 mean we are using a custom screen resolution
seta r_customwidth   1920    // monitor's width
seta r_customheight  1080    // monitor's height

Then execute the CFG file, open the console and type: \vid_restart.

Low FPS

On modern gaming rigs it was noted that Enemy Territory struggles to display playable FPS (especially if there are a lot of people playing in the server): sometimes the FPS may go below 30 while other times it may be around 125 FPS.

Follow these steps to solve the issue:

  1. Open your CFG file
  2. Append: seta r_primitives 2
  3. Execute your CFG file
  4. You might need to restart ET in order to see the desired results.

PunkBuster

PunkBuster (PB for short) is no longer supporting Enemy Territory. As a result you may not be able to play on servers that still have PB enabled: symptoms of such behaviour might be automatic kicks after 1 or 2 minutes of play time.

This can be solved by manually updating your PB client to the latest version:

  1. Download the latest PB files from here: https://fearless-assassins.com/files/file/1815-punkbuster-linux-files-for-et/?do=download. This is not an official PB site, so use it at your own risk.
  2. Go to: ~/.etwolf/
  3. Create a directory named pb (if it does not exist).
  4. Extract to contents of the downloaded file into the directory mentioned above. The pb directory should contain at least 2 directories (dll and htm) plus a number of so files.
  5. Open your CFG file and add the following line:
    // Enables PunkBuster client   
    pb_cl_enable
    seta cl_punkbuster 1
    seta pb_system 1
  6. Run ET and execute your CFG file.
  7. Restart ET

hunk_alloc errors

Hunk_alloc errors are caused by maps that require more memory than how much Enemy Territory has allocated by default. Examples of such errors: hunk_alloc failed at 12345 and/or Hunk_AllocateTempMemory: failed on 12345.

To fix it:

  1. Open your CFG file
  2. Append the following line:
    seta com_hunkMegs 192    // sets the allowed memory for the graphics of the game
  3. Execute the CFG and restart ET.