LPMud-Revised
Classic LPmud server from the early 1990s, containerized with a web admin dashboard
Powerful Features
Everything you need to run a classic LPmud server
Classic LPmud Driver
ldmud 3.6.x in compat mode for authentic 2.4.5 mudlib compatibility
10 Quests
Orc Fortress, Forest Remedy, The Restless Dead, The Fairy Plague, Lost Miners, The Wyrm's Spellbook, plus four Dragonlance quests — Blue Crystal Staff, Disks of Mishakal, Pax Tharkas, and Avatar of Takhisis
Dragonlance Area
48-room expansion inspired by the Dragonlance Chronicles — Solace tree-top village, ruined city of Xak Tsaroth, mountain fortress Pax Tharkas, and the Temple of the Dark Queen, spanning levels 1-16+
Weapon & Armor Shops
Reusable shop framework with buy/sell/list/value commands, fixed and random restocking inventory, shopkeeper NPCs, and a shared consignment store for sold items
17 New Creatures
Monsters spanning levels 7-16 across five regions — mines, south forest, Crescent Lake shore, mountains, and plains — filling the mid-game progression gap
Fast Travel
Underground Rail mine cart system connecting five stations including Solace — board and ride a ~75-second circuit through the world
Bank Vault
Deposit and withdraw gold, store up to 20 items per player — persistent vault files survive between sessions. Inventory displays carried gold alongside items
NPC Overhaul
Harry features 16 idle chat lines, 10 combat lines, emote responses, equipment reactions, and room-to-room follow behavior
Wizard Castles
Seamless castle integration — wizard areas drop as directional exits, auto-workroom creation, and the map generator discovers castles with unique color tiles per region
Familiar Orb
Wizard tool (level 20+) that conjures a remote familiar NPC — scout rooms, relay messages, speak, and emote from afar with a full command set
Wizard Access
Players reaching level 25+ gain admin privileges with pathfinding shortcuts for clone and goto commands across common directories
Web Admin Panel
Flask dashboard with server metrics, room/player counts, in-browser MUD client (xterm.js with WebSocket proxy, ANSI colors, password hiding, command history), cron-based backup and map regeneration scheduler, backup retention policies with configurable daily/weekly/monthly/yearly limits and automatic pruning, on-demand backup/restore, online/offline status badges, and graceful shutdown with configurable countdown warnings
Player Editor
Browse, create, edit, and delete player save files — stats, levels, inventory, flags, with edit protection while players are online
Interactive World Map
Leaflet.js map viewer with clickable rooms, exit links, room search, and scheduled auto-regeneration
Live Editing
Edit mudlib files on the host; changes reflect immediately without rebuilds
Security
Non-root containers, CSRF protection, rate limiting (5 attempts/min lockout), session auth with 8-hour timeout
Persistent Data
Bind-mounted mudlib for live editing, named volumes for logs and save data survive restarts
Simple Architecture
Two Docker services: the MUD server and a separate Flask admin dashboard
- Multi-stage Debian build compiles ldmud from source, keeping the runtime image lean
- Non-root mud user with proper file ownership via --chown
- Volume mount mudlib/ for live editing during development
- Named volumes for logs and save data survive container restarts
- Admin service (Flask + Gunicorn) runs as a separate container on port 8080
- Mudlib mounted read-write in admin — player editor can modify save files directly
Technical Details
Built With
- Docker & Docker Compose
- ldmud 3.6.x (Debian bookworm-slim)
- Flask + Gunicorn + APScheduler (admin panel)
- Leaflet.js (interactive map viewer)
- NetworkX + Pillow (map generation)
Requirements
- Docker & Docker Compose
- Telnet client (or play in browser)
- Port 4000 — MUD server
- Port 8080 — admin dashboard
Play Now or Run Your Own
Connect to our live instance or clone the repo to host your own