Run the whole stack yourself.
ShatteredArchive is a Docker Compose stack of small, independent services for MUD players and builders — a scriptable web client, an area builder, a map and data browser, a single sign-on hub and a few tools that grew out of the same workshop. Every service below is running live so you can see what you get before you clone anything.
Live demos
Public instances of the services in
deploy/docker-compose.yml and
deploy/docker-compose.shattered-archive-experimental.yml. They are shared, so treat
anything you create as disposable — the point is to show what a self-hosted deployment looks like,
not to be durable storage.
Game Client
LiveA browser MUD client with plugins, triggers and user-authored scripts running in an embedded Lua and Python interpreter.
game-client.shatteredarchive.devWeb Client
LiveMap and world-data browser for the archive — continents, areas and the reference data behind them.
web-client.shatteredarchive.devScrum Poker
LivePlanning poker with no accounts at all — create a room, share the link, estimate. The room URL is the only membership there is.
scrum-poker.shatteredarchive.devAuth Hub
LiveThe single sign-on hub the other services authenticate against: accounts, API keys, device-bound credentials and SSO.
auth.shatteredarchive.devMUD Builder
Coming soonFull area authoring for a Merc-derived MUD — rooms, mobs, objects, resets, scripts and generated area maps, with hot reload into a running game.
build.shatteredarchive.devKingdom Tactics
Coming soonA turn-based tactics game built on the archive's class, skill and alignment data — online matches and local hotseat share one engine.
kingdom-tactics.shatteredarchive.devSelf-hosting setup
The stack addresses its services by hostname rather than by port, so a local deployment needs those names pointing at your own machine before Docker will resolve them. This is a one-time step.
1. Map the development domains to localhost
Windows (Administrator PowerShell):
pnpm setup:hosts:win
macOS / Linux:
sudo pnpm setup:hosts:nix
This writes entries pointing the following names at 127.0.0.1:
game-client.shatteredarchive.devgame-server.shatteredarchive.devweb-client.shatteredarchive.devweb-server.shatteredarchive.devauth.shatteredarchive.devscrum-poker.shatteredarchive.dev
2. Bring the stack up
From deploy/. The default compose file runs the published services; the
experimental one adds MUD Builder and Kingdom Tactics.
docker compose -f docker-compose.yml up -d
3. Open the client
Browse to http://game-client.shatteredarchive.dev. If you land back on this page
instead, the host entries from step 1 have not taken effect — restart Docker and reload.
Seeing this page on a subdomain you expected an app on? That is the symptom of an incomplete step 1: the name resolved to this edge rather than to your local Docker network.