Our updated client and server come with a lot of improved and new functionality. This page provides an outline of the changes and improvements present in ET: Legacy, as well as (links to) configuration items that you may use.

General information

ET: Legacy has new, additional or changed cvars and slightly different path structures. Please check the associated page for more information.



There is a SQLite3 database management system built in.


  • db_status
  • db_url

Server engine

Heartbeat and tracking


  • dedicated
  • sv_advert

Logging and security


  • logfile
  • sv_protect
  • sv_protectLog

Server side demo recording


  • demo_record
  • demo_play
  • demo_stop

Wallhack prediction


  • sv_wh_active
  • sv_wh_bbox_horz
  • sv_wh_bbox_vert
  • sv_wh_add_xy
  • sv_wh_check_fov
The default values of the anti-wallhack bounding box (60/100) are considerably larger than the normal player bounding box values of 36 and 72 used by ET. The reason for this is that it’s better to predict a player as visible when he is not than the contrary. This may give a slight advantage to wallhackers, but this should not be significant. If you change these cvars, pay attention: if set to smaller values, players may not become immediately visible when players go around corners.

Server legacy mod

Game configs

Ensure values are surrounded by quotation marks


setl g_gametype "2"
setl g_friendlyFire "1"


Main article: Omni-bot

Omni-bot is a system providing artificial intelligence controlled bots for Wolfenstein: Enemy Territory servers. Since version 2.76 it is installed by default.

Downloads and external http server downloads


Country flags


  • g_countryflags

You also need to ensure that the GeoIP.dat file is in your etmain (or legacy) folder.

Map scripts (custom)

See g_mapscripts cvar

Map rotations

Main article: Map rotations

Legacy mod introduces a new game type: map voting. Using this game type, it is possible to let players vote for the next map, instead of using a predefined rotation of maps.


  • g_gametype
  • g_excludedMaps
  • g_mapVoteFlags
  • g_maxMapsVotedFor
  • g_minMapAge
  • g_resetXPMapCount


Main article: Lua

ET: Legacy enables server owners to further customize their server using Lua scripts.


Main article: WolfAdmin

WolfAdmin is included since version 2.76 as the default game manager. Many features such as general player management and private messages are moved into WolfAdmin. Read more about the WolfAdmin configuration on the official website.

Multi view

Main article: Multi view

Multi view is controlled by the server. See

  • g_multiview

Client engine


Main article: Renderer2

To use the new renderer, run ET: Legacy using ./etl +set cl_renderer opengl2

Note this is still work in progress. Use opengl1 to revert back to the default renderer. Optionally set the renderers via the menu Options > System > Graphics > Renderer.


If you have hardware sound acceleration available, you might want to use OpenAL instead of the default DirectSound (Windows) or ALSA (Linux) for better positional audio information. To activate OpenAL, run ET: Legacy using ./etl +set s_initsound 2.


Main article: Translations


Recording system

While watching a demo the user can output the demo to a more system acceptable format, such as an avi video file. The basic output command is cl_avidemo which will start the recording process with the given frames per second output and 0 value stops the recording. The cl_avidemotype value sets the output type that will be used, 0 = tga, 1 = jpeg and 2 being avi output. By default the type is set to tga(0). If the user wants to output an avi video file then there is also the /video command that starts the recording with the default file name and 30 FPS, but it does take in 2 arguments optionally in which the first is a file name and the second is the FPS of the output. /stopvideo stops the video output.
The outputted image files are found in the screenshots folders inside the mod folder while the avi video files are outputted in the videos folder.

Client legacy mod

HUD customization

Players can change their HUD "look and feel" by modifying the cg_altHud value (0 being the default). 1-3 are available by default and more can be added thru by hud scripts. There is also the cg_altHudFlags cvar that will, in the future change the current HUDs minor component locations relative to the customizable components. Minor components include the spawn counter, round counter and the FPS counter.

You can also load the supplied alternative huds or your own built hud using the loadhud command. loadhud ? to list huds available.

Clean command

Useful client & server command to remove incomplete downloads and other garbage. Get rid of custom menus, custom loading screens and unwanted behaviour when running own listen servers.


clean <mod> <pattern[1]> <pattern[n]


clean all *tmp */z*.pk3 *~*.pk3


Specify a single mod path to clean fs_homepath partially or 'all’ ('*' should work too) to clean up fs_homepath completely.

Patterns are quite similar to file search arguments on a common operating systems to match files. You can use wildcards '*' which make the clean command flexible.

Important note (the difference to file searches): If you are looking for files which start by a specific letter you have to add a wildcard (*) and a slash (/) before.

Example deleting all pk3 files starting with a 'z’ - it removes files like z_menu.pk3, zzz_mycustom.pk3:

clean all */z*.pk3


Whitelist entries have to match a part of a file name. You don’t have to use wildcards. Examples to keep MLB maps, baserace, v2_base etc. when you call 'clean all *.pk3’ (full pk3 clean up):

set com_whitelist "hdet mlb_ base" 


  • The clean command is only executed if the client isn’t connected to a server and a server isn’t running (no map loaded)
  • /clean won’t delete any files with the following extensions: .txt .cfg .dat .gm .way
  • /clean isn’t case sensitive


Clean does also remove old log files on server side f.e:

clean all *omnibot_*.log

We do recommend to create own config files for customized clean ups. Simply start with the above example. Put it into a *.cfg file and execute your config.