Go Backend
A single Go binary embeds the game server, HTTP API, and Svelte frontend. SQLite persistence means zero external dependencies.
TalesMUD is an open-source framework for building browser-based Multi-User Dungeons (MUDs). It provides a complete, production-ready platform — backend, frontend, content editor, and all core RPG systems — so you can focus on building your world rather than your engine.
A MUD (Multi-User Dungeon) is a text-based multiplayer online game. Players navigate a world described in prose, interact with other players and NPCs, fight monsters, complete quests, and advance their characters — all through typed commands.
MUDs pioneered online multiplayer RPGs in the late 1980s. TalesMUD brings the format into the modern web: no telnet, no legacy clients, just a browser tab.
Go Backend
A single Go binary embeds the game server, HTTP API, and Svelte frontend. SQLite persistence means zero external dependencies.
Svelte Game Client
A terminal-style browser game client built with Svelte and xterm.js. Minimap, tab widgets, quest log, inventory panels.
Web Content Editor
CRUD interface for all game entities: rooms, NPCs, items, quests, dialog trees, scripts, and loot tables.
Complete RPG Systems
Combat, progression, skills, quests, dialogs, merchants, Lua scripting — all built-in and extensible.
WebSocket-based communication delivers instant feedback for movement, combat, chat, and events. Multiple players share the same world in real time.
Initiative rolls (1d20 + DEX modifier), auto-attack, 29+ class skills and spells across 6 classes, status effects (stun, DoT, HoT, buffs, debuffs), and full XP/loot distribution on kill.
Data-driven quests support six objective types: Kill, Collect, Deliver, Visit, Talk, and Custom Lua. Quest progress is tracked automatically. Prerequisite chains, repeatable quests, and NPC dialog integration are all built-in.
Extend any aspect of gameplay with Lua scripts. Eight API modules give you access to items, rooms, characters, NPCs, dialogs, quests, game messaging, and utilities. Scripts run in a sandboxed VM pool with a 5-second timeout.
The framework’s systems are setting-neutral. The same combat engine that powers a fantasy dungeon can drive a sci-fi space station or a horror survival game. Build any world you can describe.
Veilspan is the official demo world — a fantasy adventure in the ruins of Aethermoor, built entirely on TalesMUD. It’s a real game, not a tech demo, and it runs the current development version of the framework.
Play it to see what’s possible before you start building.
| Layer | Technology |
|---|---|
| Backend | Go 1.24, Gin, Gorilla WebSocket |
| Database | SQLite (via modernc.org/sqlite) |
| Scripting | Lua (via gopher-lua) |
| Frontend | Svelte 4, Vite, xterm.js |
| Auth (optional) | Auth0 JWT, JWKS validation |
| Infrastructure | Docker, Docker Compose, GitHub Actions |
TalesMUD didn’t appear fully-formed. It has a lineage.
2018 — LOTD (Lair of the Dragon) The first attempt. A MUD server with a genuinely interesting gimmick: TCP/telnet players and WebSocket players coexisting in the same game world, handled by separate network layers that both fed into a shared game instance. Too complex for a first version, but the WebSocket and game server architecture carried forward into TalesMUD.
2019–2020 — dungeonsrv A parallel experiment: generic REST services for browser RPGs, with server-side scripting at item instantiation time. It also produced a procedural dungeon generator — still a planned feature for TalesMUD’s content pipeline. The scripting concept survived and became TalesMUD’s Lua scripting layer.
2020 — Tales of a Pirate
The first live MUD built on the rewritten codebase, running at talesofapirate.com.
A sandbox for validating the stack and design decisions. JavaScript scripting (via otto)
was planned here — later replaced with Lua, a much better fit for embedded game scripting.
2024–2025 — TalesMUD The framework as it exists today: full RPG systems, Lua scripting, content editor, Veilspan as the live demo, and open-source under MIT.
For the full story — why Go, why Svelte, BBS door games, MUD history, and all the wrong turns — read Notes on Building TalesMUD.
Installation
Get TalesMUD running on your machine. → Installation
Quick Start
Build and run your first server in under 10 minutes. → Quick Start