← All projects
Active September 2026

DalilaMud

An Italian text-based multiplayer RPG (MUD) — a heavily customized CircleMUD 3.0 fork, rescued from its old VM, moved to git and macOS, and now being modernized.

CMUDCircleMUDDockerSQLite

What it is

DalilaMud is a MUD — a Multi-User Dungeon, a fully text-based role-playing game where multiple players explore and live in the same world by typing commands. It’s a heavily customized, Italian-language fork of the classic CircleMUD 3.0, grown one system at a time over the years.

The customizations

On top of stock CircleMUD, a lot of bespoke systems have been built:

From VM to git (2026)

For years the code lived only on a VM, edited live. In 2026 I copied it into a local dev environment, put it under git for the first time, and ported it to build natively on macOS/clang (the source was written in decades-old C conventions). During the import I also tracked down and fixed a couple of historical oddities — including a bug that bloated the saved-”mob” file enormously because it wrote uninitialized memory to disk: fixed with a simple memset before saving.

Modernization: from files to a database

The next big step is replacing the four flat-file save systems (characters, mobs, objects, houses) with a real database. It starts with the characters — already in XML, so the most structured — migrating to SQLite with a pragmatic approach: columns for the fields the game actually queries (level, class, last login…) and JSON for everything else (stats, skills, active effects), so adding a new field stays a code change rather than a schema change.

The nice part: all persistence funnels through a handful of functions (load_char / save_char), so I rewrite those without touching the 120+ call sites scattered across the rest of the code.

Stack

C · CircleMUD 3.0 · Docker · SQLite (migration in progress)