ET: Legacy
WebAssembly Edition
Loading...
Slow or failing download? Select pak0.pk3, pak1.pk3 and pak2.pk3 from your Wolfenstein: Enemy Territory installation, or retry the download.
shell build: 2026-08-18-B

Error

An error occurred while loading the game.

Click the game to capture mouse | ESC to release

Game settings

The maps are played in the order listed above and start over at the top when the last one is finished. "Apply" saves everything on this page to the running server and takes over the rotation you edited here - it does not change the map. "Play now" loads the map selected in the drop-down straight away; if that map is not part of the rotation, the rotation carries on where it left off when the match is over. Changing the player slots or the time limit restarts the match for everyone. A map that is not a stock map is downloaded first.
The mod is chosen when the game is started and cannot be swapped while it runs - close this game and host a new one to play another one.
Default off. When enabled, players are prevented from joining the team with more players. (The game derives the read-only g_balancedteams from g_teamForceBalance, which is what this sets.)
Default on. Whether the server should require players to be ready before a match can start.
Default on. Enables teammates to hurt each other.
Default 60. The length of time the warmup lasts prior to a match starting, in seconds.
Default 0 (the map's own time). Any higher value sets the Allied respawn time in seconds.
Default 0 (the map's own time). Any higher value sets the Axis respawn time in seconds.

Server settings of the mod

Every server setting this mod knows. "Apply" hands the ones you changed to the running server; the others keep what the mod - or the preset config of this deployment - set.
"Apply" hands these settings to the running game. The respawn times and the settings marked "restart" are read when a match starts, so changing one of them restarts the match for everyone.

Connect to a server

The ws-relay bridge (tools/ws-relay). Leave empty to use the built-in default; HTTPS pages need wss://.
The dedicated server to join through the relay. A hostname works - the relay resolves it.
The page asks the server which mod it runs before starting. Choose a mod here only when that query is blocked or the server does not answer it.

Game data setup

ET: Legacy needs the game data (pak0.pk3) before it can start. How do you want to provide it?

The files are stored in the browser (IndexedDB), so this only has to be done once.

Run game

ET: Legacy
Play checking...
Play on your own against bots, host a game in this browser for others to join - no server needed - or join a game somebody else is hosting.
Dedicated servers
The regular ET: Legacy servers, joined through a relay.
More
Download full game The native ET: Legacy client for Windows, macOS and Linux - more compatibility than the browser version.

Quick single game

Dedicated serverlist

The server's mod is normally detected before the game starts. Pick one only when its getinfo response is blocked. Missing pk3 files are downloaded from the server when joining. Dedicated servers are reached through the WebSocket relay.

Host game

⚠ Keep this browser tab open and in the foreground while you host. A tab in the background (another tab, another window, a minimized browser) is throttled by the browser: the game stops running and everybody who joined loses the connection.
The game runs inside your browser and is announced in the lobby, so other players can join it from "Join games" or with your invite link. Add up to 10 maps to play them one after another in a rotation; with a single map that map simply restarts. Maps that are not part of the stock game are downloaded automatically - by you and by everyone who joins. More bots than free player slots are not possible.
The mod the hosted game runs. It is downloaded the first time it is used, by you and by everyone who joins. Mods that do not come with game code built for WebAssembly are played with ET: Legacy's game code, using their own maps, media and server settings; the greyed out ones are not served with this page at all.
When the deployment serves a preset config for the mod (<mod>/etl-host.cfg next to this page), every game hosted with it runs that config first. It is maintained on the web space, so it sets up the server the same way for everyone; what you pick here is applied afterwards and wins over it.
Default off. When enabled, players are prevented from joining the team with more players. (The game derives the read-only g_balancedteams from g_teamForceBalance, which is what this sets.)
Default on. Whether the server should require players to be ready before a match can start.
Default on. Enables teammates to hurt each other.
Default 60. The length of time the warmup lasts prior to a match starting, in seconds.
Default 0 (the map's own time). Any higher value sets the Allied respawn time in seconds.
Default 0 (the map's own time). Any higher value sets the Axis respawn time in seconds.

Server settings of the mod

Every server setting the selected mod knows, grouped by topic. Only the ones you change are handed to the server - everything else keeps what the mod (or the preset config of this deployment) sets. Settings marked "restart" are only read when a match starts.
Saves every setting on this page, including the map rotation, as a JSON file and reads it back. Values from a file are checked and clamped to the allowed range before they are used.

Join games

These games run in other players' browsers. Maps that are not part of the stock game are downloaded before you join.

Player profile

The profile is written to the browser filesystem (IndexedDB) and the game starts with it as the default profile - exactly as if it had been created in the in-game menu. In-game settings are saved into the profile and persist across sessions.
The host is away