From zero to a running mud
FluffOS is the engine. A mudlib is the game. Pick a lib first, then build the driver and point a config at it.
Paste-into-an-assistant version: https://www.fluffos.info/llm. After the lib is chosen, drop Mudlib AGENTS.md into that tree so the next session keeps ports and the master path.
The three layers
| Layer | What it is |
|---|---|
| LPC | Language for rooms, NPCs, commands — reference. Glossary: MudOS, LPMUD, LPC |
| Driver | Compiler, VM, efuns, Telnet / WebSocket / TLS — this repo’s src/ |
| Mudlib | The game. You choose it. The driver does not ship one you would play. |
testsuite/ in the driver repo is the LPC test harness, not a starter
world. Use it only when you are changing FluffOS itself.
1. Pick a mudlib
You need a path on disk or a git URL.
Already have a lib? Use that. Generate or edit its config.
Want an English full game?
Dead Souls — git clone --recurse-submodules https://github.com/fluffos/dead-souls.git then ./build.sh && ./run.sh. Browser http://localhost:5555, telnet :6666. Docs: dead-souls.net.
Want a modular English lib?
Lima — clone with --recurse-submodules, then cd adm/dist && ./rebuild, often port 7878. Play: lima.lostsouls.org. Install guide. Org snapshot: fluffos/lima.
Want a smaller historic English lib? Nightmare 3.
Want a Chinese classic?
- Play in the browser first: https://mudlibs.fluffos.info/ (~199 restored games: 侠客行, 风云, 东方故事, 西游记, 书剑, 笑傲江湖, …)
- Then clone fluffos/mudlibs and
cd libs/<slug> - Or a single snapshot: 泥潭 7, 侠客行 100, 三国志
More: ecosystem.
2. Build the driver
Skip this if the lib’s own ./build.sh or Lima’s cd adm/dist && ./rebuild already builds FluffOS.
Ubuntu / Debian / WSL (repo on the Linux filesystem, not /mnt/c):
sudo apt update
sudo apt install -y build-essential cmake bison expect \
libmysqlclient-dev libpcre3-dev libpq-dev libsqlite3-dev \
libssl-dev libz-dev telnet libjemalloc-dev libicu-dev \
libgtest-dev pkg-config libffi-dev
git clone https://github.com/fluffos/fluffos.git
cd fluffos
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j"$(nproc)" install
Binary: build/bin/driver. Other platforms: build guide.
Or docker pull ghcr.io/fluffos/fluffos:master.
3. Config and boot
Prefer the config the mudlib ships. Otherwise:
/path/to/fluffos/build/bin/driver --generate-config > /path/to/mudlib/config.cfg
Set name, absolute mudlib directory, master file, include directories,
and external_port_1 : telnet <port> (do not also add port number).
cd /path/to/mudlib
/path/to/fluffos/build/bin/driver CONFIG_FILE
mudlib directory : ./ means the process cwd is the mudlib root.
Connect with telnet or the websocket URL that lib documents. First wizard account is lib-specific — read that README.
4. Leave a trail
Copy Mudlib AGENTS.md into the mudlib root and fill the TODOs (ports, master path, how to wiz).
5. Where to go next
- Dev environment — VS Code / Cursor plugin, LPC highlighting, formatter
- LPC · Applies · Efuns
- Concepts — objects, simul_efuns, hot reload, async
- Runtime config
- Troubleshooting