Introducing LPMud-Revised

Bob SanfordMarch 2, 20264 min read

We're excited to announce LPMud-Revised — a containerized revival of the classic LPmud game server from the early 1990s. If you ever lost hours wandering the halls of a text-based MUD, this one's for you.

Why We Built This

MUDs (Multi-User Dungeons) were the original online games. Before graphical MMOs, thousands of players explored hand-crafted text worlds, wrote their own rooms in LPC, and built communities that lasted years. LPmud 2.4.5 was one of the most influential of those platforms.

We wanted to run one again — but without the hassle of compiling a 30-year-old codebase from scratch on a modern system. The goals were simple:

  • Get LPmud 2.4.5 running with zero manual compilation steps
  • Live-edit the mudlib without rebuilding the container
  • Keep everything reproducible with Docker Compose
  • Make it easy for others to spin up their own world

Key Features

Classic LPmud Driver

The server runs ldmud 3.6.x in compat mode, which gives you authentic LPmud 2.4.5 mudlib behavior. The compat layer handles the quirks of the original mudlib so you don't have to port anything — it just works the way it did back then.

Live Mudlib Editing

The mudlib/ directory is volume-mounted from the host. Edit a room file, a monster definition, or a spell — the changes are live immediately. No container rebuilds, no restarts. This is the workflow that old-school wizards expected, now working seamlessly in Docker.

Wizard Access

Players who reach level 25 are promoted to wizard status, unlocking admin privileges. Wizards can:

  • Evaluate LPC code directly in-game with eval
  • Create and modify rooms in the live mudlib
  • Debug the world without leaving the game

It's the same wizard system the original mudlib shipped with, fully intact.

Web Admin Dashboard

The project ships a Flask-based admin panel that runs as a separate Docker service on port 8080, giving you full server management without SSH access:

PageWhat it does
DashboardServer overview — room count, backup status, scheduler status
MapInteractive Leaflet.js world map with zoom, pan, and drag
BackupsCreate, download, restore, and delete tar.gz snapshots of mudlib, saves, or logs
SchedulerSet a daily schedule for automatic map regeneration, or run it on demand

Access is protected by a single admin password, session-based auth with a 30-minute inactivity timeout, login rate limiting, and CSRF protection on all forms. The mudlib is mounted read-only inside the admin container — it can back things up but can't modify game files.

Architecture

Two Docker services work together:

┌───────────────────────────┐   ┌───────────────────────────┐
│  mud (port 4000)          │   │  admin (port 8080)        │
│  ldmud 3.6.x driver       │   │  Flask + Gunicorn         │
│  LPmud 2.4.5 mudlib       │   │  dashboard / map / backup │
│  mudlib/ ← volume mount   │   │  mudlib/ ← read-only      │
└──────┬─────────┬──────────┘   └───────────────────────────┘
       │         │
  lpmud-logs  lpmud-save
  (named vol) (named vol)

The MUD container uses a multi-stage Debian build — ldmud is compiled from source in a builder stage, and only the final binary ships in the runtime image. Both containers run as non-root users.

Getting Started

Requirements are minimal:

  • Docker and Docker Compose
  • A telnet client (or nc)
  • Port 4000 for the MUD, port 8080 for the admin dashboard

Clone the repository and bring it up:

git clone https://github.com/midyear66/LPMud-Revised
cd LPMud-Revised
cp docker/.env.example docker/.env
# Edit docker/.env — set ADMIN_PASSWORD and SECRET_KEY
docker compose -f docker/docker-compose.yml up -d
telnet localhost 4000
# Admin dashboard: http://localhost:8080

The MUD boots in seconds. Create your character and start exploring — then visit the admin dashboard to check server status, view the world map, or schedule automated backups.

Open Source

LPMud-Revised is completely open source. Check out the code, file issues, or contribute:

GitHub: github.com/midyear66/LPMud-Revised

Try It Out

If you have fond memories of MUDs — or you're just curious what online games looked like before graphics — give LPMud-Revised a try. Head over to the app page for full details, or jump straight to the GitHub repository to get started.

We'd love to hear from you if you build something with it. Happy mudding!


The SSETCO Team

Thanks for Reading!

Have questions or want to discuss this topic further?