Developer Rebuilds 2004 World of Warcraft Client for Browsers Without Emulation or Streaming

An enthusiast has built a full-featured web client for the classic World of Warcraft 1.12.1 (Vanilla) from scratch using TypeScript, Three.js, and WebGL2. The project runs directly in Chrome and Firefox without relying on cloud streaming or launching the original WoW.exe executable.
The development has reached a playable Alpha 1.0 stage. The browser client connects to the standard vMaNGOS 1.12.1 server core via a lightweight WebSocket-to-TCP bridge, handling SRP-6 authentication, encryption, and object synchronization packets on its own.
Gameplay: From Quests to Classic Dungeons
The current build recreates key MMORPG systems: spells and talent trees, quest chains with loot, vendors, profession leveling, inventory management, chat, and mount riding. The client already renders 584 zones of Azeroth, covering leveling areas from 1 to 40 in the Eastern Kingdoms and Kalimdor, as well as capitals and dungeons — Deadmines, Wailing Caverns, and Scarlet Monastery.
The engine supports all eight races from the classic version, animations for M2 skeletal models, and a sound library with over 11,000 sound and music bindings.
The developer recreated relative movement physics: characters can freely move and jump on the decks of moving zeppelins and ships across eight routes, and use 33 elevators with 630 animation points.
Reverse-Engineering WoW.exe and Running on Mobile Devices
To accurately replicate the visuals, the author had to dissect the original 2004 game build using the Ghidra disassembler. This allowed mathematically reproducing gravity physics, equipment texture mapping onto character bodies, dynamic fog, and day-night cycles. All source code is written from scratch without directly copying Blizzard’s binaries.
Technically, the engine can run on any modern device with a web browser — from PCs to iPhone, Android, iPad, and Steam Deck, though touch controls are still in development.
The project doesn’t infringe copyright: the web client contains no protected Blizzard files. To generate the game world, users will need to provide their own legal copy of the WoW 1.12.1 client, from which scripts will extract textures and geometry. The source code is scheduled to be published on GitHub after testing of the extraction tools is complete.