Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
Lantern — a modern client for DragonRealms. Real-time parsing, resizable panels, Lich scripting, custom themes, and messaging. On your desktop or in your browser.
GamesTypeScript · CSSGitHub @jackfperryjrOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A modern, lightweight client for DragonRealms.
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗No install required — Magiloom also runs as a web app at magiloom.com/app. It works in any modern desktop or mobile browser, and on your phone you can use Add to Home Screen to install it as a full-screen app (with push notifications for your alerts).
Just sign in and play — there's nothing to install and nothing to configure. Your game session even survives briefly minimizing the app, so a quick switch away won't drop your character.
Magiloom comes in two flavors, and it helps to picture what's happening behind the scenes.
flowchart LR
subgraph you["Your devices"]
desktop["🖥️ Desktop app"]
web["🌐 Web app<br/>(browser / phone)"]
end
server["☁️ Magiloom server<br/><i>always-on butler</i>"]
vault[("🗄️ Storage vault<br/><i>never forgets</i>")]
game["🐉 DragonRealms<br/>game servers"]
friend["🌐 Another player"]
desktop -->|connects directly| game
web -->|connects through| server
server -->|holds your connection<br/>+ runs Lich| game
server <-->|settings · scripts · maps · messages| vault
friend <-->|character-to-character<br/>messaging| server
classDef device fill:#6467dc,stroke:#4a4dc0,color:#fff
classDef cloud fill:#d07400,stroke:#a85c00,color:#fff
classDef store fill:#2f855a,stroke:#22633f,color:#fff
classDef gm fill:#444,stroke:#222,color:#fff
class desktop,web,friend device
class server cloud
class vault store
class game gm
The desktop app is self-contained. When you run it on your computer, it talks directly to the DragonRealms game servers. Everything — your connection, your settings, your Lich scripts — lives on your machine. Nothing else is needed.
The web app can't do that, because a browser (especially on a phone) isn't allowed to open the kind of raw connection the game needs, or to run Lich. So instead of connecting to the game itself, the web app connects to a small always-on Magiloom server that runs in the cloud. Think of it as your personal butler that sits between your browser and the game:
The storage vault. Attached to that server is a piece of permanent storage — a mounted volume, in tech terms. It's basically a hard drive in the cloud that never forgets. Whenever you change a setting, save a Lich script, explore a new room on the automapper, or send a message to another player, it gets written to this vault. Servers can restart or update, but the vault keeps everything safe and waiting.
The neat part is what this unlocks:
In short: the desktop app is the go-it-alone option, and the web app + cloud server + storage vault is the always-on, sync-everywhere, message-your-friends option. Same Magiloom either way — pick whichever fits how you play.
Prefer a native desktop app? Grab the latest installer from the Releases page.
| Platform | File |
|---|---|
| Windows | Magiloom-Setup-x.x.x.exe |
| macOS | Magiloom-x.x.x.dmg |
| Linux | Magiloom-x.x.x.AppImage |
Windows note: You may see a SmartScreen prompt on first launch. Click More info → Run anyway. This is expected for apps without a paid code-signing certificate.
For a full feature walkthrough, see the Player Guide.
Lich is optional — Magiloom works as a standalone client without it.
lich.rbw (e.g. C:\Ruby4Lich5\Lich5\lich.rbw).Once connected with Lich active, ;commands route through Lich's scripting engine.
Magiloom also has its own built-in script engine for classic .cmd scripts — the same format used by the Wizard and Genie front-ends. Unlike Lich, this needs no Ruby and no extra setup: it runs right inside the app and works on any connection, direct or through Lich.
.cmd files.Scripts are triggered with a leading . (to keep them distinct from Lich's ;):
.hunt — run the hunt.cmd script.hunt orc — run it with an argument (available inside the script as %1).stop / .kill — halt all running scriptsThe engine aims for full Genie compatibility, so common commands like put, echo, pause, match/matchwait, waitfor, goto, gosub, variables, counters, and conditionals all work as you'd expect. You can even wire scripts into your aliases and triggers so they fire automatically.
| Layer | Technology |
|---|---|
| Shell | Electron 31 |
| UI | React 18 + Jotai |
| Build | electron-vite + electron-builder |
| Protocol | Simutronics SGE / GSIV XML |