Diablo II: Lord of Destruction (1.13c) in your browser. It connects to real PvPGN + D2GS servers, so you play the actual game online, not a remake. On top of the base game it adds a set of optional quality-of-life mods.
You need Node 20+, ffmpeg 7+ with libopus, and the Diablo II 1.13c MPQ files from your own copy of the game. No game files are included here.
npm install
mkdir -p samples/d2 && cp /path/to/your/*.mpq samples/d2/
npm run bake -- all --ffmpeg /path/to/ffmpeg
npm run bake -- manifest
npm run devOpen http://127.0.0.1:5173/play.html and log in.
The dev server connects to a public test server by default. To play on your own server, change the /d2net target in vite.config.ts.
npm run syncThis pulls in the latest snapshot of the upstream engine and merges it. After a sync, re-run npm run bake -- all so the assets match the new code.
Files listed in .upstream-filter are left alone by the sync: drop keeps them out for good, and keep holds on to our version when upstream edits them.
All mods can be switched off from the Plugins button in the toolbar. See MODS.md for the list.
Path Guide follows your quest log and draws the way to the next step on the ground and the minimap.
Item Info puts small icons on ground labels: green arrows for upgrades, item level, sockets and ethereal.
Monster Resists adds the monster type and its resistances under the health bar. Every plugin has its own page in the Plugins menu.
The engine builds on diablo2-web, D2MOO and StormLib.
MIT licensed (see LICENSE). Diablo II is a trademark of Blizzard Entertainment. This project is not affiliated with Blizzard.





