echo6-docs/vault/archive/projects/mmud/mmud-prompts/mmud-prompts/mmud-project.md
Matt Johnson 44f0257376 docs: migrate Authentik (SSO keystone) to edge2 CT 105
- Authentik -> edge2 CT 105 (Postgres pg_dump/restore; SECRET_KEY carried verbatim; zero-downtime until ~2s cutover)
- Multi-block Caddy cutover: auth.echo6.co + notes.echo6.co outpost/forward_auth -> 100.64.0.36:9000
- runbook: add reboot tailscale-before-docker gotcha; clarify dnsmasq must NOT be repointed (points at Caddy host)
- source left stopped + intact on Contabo as cold rollback

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 05:49:07 +00:00

2.5 KiB

MMUD — Mesh Multi-User Dungeon

Text-based multiplayer dungeon crawler for Meshtastic LoRa mesh networks. BBS door games (LORD, TradeWars) adapted for 150-char mesh radio constraints, async play, 30-day wipe cycles.

Status

Phase: Pre-development — design complete, repo scaffolded, implementation not started.

Repo

/home/zvx/projects/mmud

The repo contains a CLAUDE.md with full architecture, directory structure, development phases, and implementation guidance. Read it first before any implementation work.

Key Files

  • CLAUDE.md — Architecture, patterns, dev phases, gotchas
  • docs/planned.md — Complete game design document (~950 lines). Source of truth for all mechanics. If code contradicts this, code is wrong.
  • config.py — All game constants with rationale
  • src/db/schema.sql — Full database schema

Design Constraints

  • 150 characters per Meshtastic LoRa message (hard ceiling)
  • Zero runtime LLM calls — all text batch-generated at epoch start
  • Async-first — all multiplayer through shared DB state
  • 12 dungeon actions/day, 30-day epochs
  • Python 3.11+, SQLite, Meshtastic Python API

Development Phases

  1. Core Loop — Meshtastic message handling, command parser, player creation, room navigation, basic combat, death, action budget
  2. Economy & Progression — XP, leveling, gold, shops, gear (weapon/armor/trinket), bank, healer
  3. Social Systems — Broadcasts (tier 1/2/targeted), barkeep (recap, tokens, hints), bounty board, player messages, mail
  4. Epoch Generation — World gen, LLM narrative pipeline (batch + validation), secret placement, bounty pool generation
  5. Endgame Modes — Hold the Line (regen, checkpoints, floor bosses), Raid Boss (HP scaling, mechanic tables, phases), Retrieve & Escape (Pursuer, blockers, warders, lures), epoch vote
  6. The Breach — Breach zone gen, 4 mini-event types (Heist, Emergence, Incursion, Resonance), day 15 trigger

No Runbooks Needed

This is a pure software project — no LXC provisioning, no Caddy config, no Authentik integration. Runs as a Python daemon connected to a Meshtastic device via USB/serial or TCP. No infrastructure runbooks apply.

Notes

  • All regen/HP/damage numbers in the design doc are targets, not validated — will need playtesting
  • The game runs on a Meshtastic mesh network, not a web server
  • SQLite single file DB, no ORM, raw parameterized SQL
  • Every outbound message must fit 150 chars — the formatter is the final gate