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
Join Public Servers. Available mods: Legacy, Nitmod, ETJump, ETPub, No Quarter, XMod, ETBloat and Jaymod.
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

ET Server Browser. Save your favorite servers, filter the list and join with one click. Share a server link so others can follow you.
Server list has not been loaded yet.
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.

Browser files

Files are stored by this browser in IndexedDB. Deleting a pk3 or wasm module makes the page download it again when it is needed.

ET: Legacy Web – Description & Guide

What is this website?

This web version runs ET: Legacy directly in your browser. You do not need a native installation to play. The engine, mods and downloaded game files run through WebAssembly; large files, profiles and settings are stored locally in your browser using IndexedDB.

Ways to play

  • Quick single game: Choose a map and immediately play locally against bots.
  • Host game: Start a local server in your browser and configure its rules, mod, bots and a rotation of up to ten maps.
  • Join games: Join a game hosted in another browser through the lobby or a ?join= invite link.
  • Dedicated server list: Browse public Enemy Territory servers and connect through the WebSocket-to-UDP relay.
  • Direct connection: Enter a hostname or IP address and port, or open the page with ?connect=host:port.

Available mods

  • Legacy Mod – the current ET: Legacy game mod.
  • XMod – a classic ET mod with browser-hosting defaults.
  • Jaymod – includes dedicated client and server modules built for WebAssembly.
  • ETJump 3.6.2 – a trickjump mod with its own WASM modules.
  • ETPub – ETPub game code and data for browser-hosted games.
  • No Quarter – uses the nq mod folder with the required data packages and WASM modules.
  • ETBloat – includes its own game code for clients and browser hosts.
  • Nitmod experimental – an experimental browser port using nitmod_2.3.5.pk3.

Downloads and local files

Missing retail packages, maps and mod files are downloaded when needed and cached in the browser. Browser files lets you upload, download or delete PK3 and WASM-SO files. Config, menu, script, JSON and text files can be edited directly. Your player profile, name and settings remain available after restarting the browser.

Hosting and important notes

  1. Use Host game to configure the map rotation, mod, player slots, bots and server rules.
  2. Press Start hosting and share the generated invite link.
  3. Keep the host tab open and in the foreground. Browsers throttle background tabs, which pauses the local server and disconnects other players.
  4. After a reload, the page attempts to restore the host session and reclaim the same lobby room.

Source code and mod projects

This ET: Legacy Web project on GitHub

The host is away