⚙ Active development

JediMUD 7.0 — The D20 Rebuild

After two decades on the original codebase, JediMUD is undergoing its biggest rewrite ever — a top-to-bottom rebuild around the D20 SRD ruleset, a SQL-backed persistence layer, a modern observability stack, and AI-driven NPCs.

Live now on the alpha tree. Promoting to dev as features stabilize. prod stays on 6.x until 7.0 is RC.

Where we are

✓ SHIPPED

6.x

Where prod lives today. Classic CircleMUD/tbaMUD-derived. The base everyone's playing.

⚙ ACTIVE

7.0-alpha

Reconstruction in progress on the alpha tree. Open for staff testing; feature-complete-ish.

○ NEXT

7.0-rc

Once alpha stabilizes and dev mirrors, an RC build promotes to prod for player testing.

○ LATER

7.0 launch

Full launch — server reboot, account migration, fanfare. Date TBD.

7.0 — What's new

Everything below is built and running on the alpha tree. As features pass internal testing they promote to dev for wider validation, then to prod for 7.0 launch.

🎲 D20 system rebuild

  • 22 classes across 3 tiers — 9 base, 2 Epic (Bard/Ranger), 11 Prestige
  • 16 races with size, family, ability mods, attack types, gender/alignment rules
  • ~353 feats with prereq chains (feat / ability / class-level / race / BAB / spellcasting / alignment / weapon-proficiency)
  • Live editors — cledit, rcedit, fedit, spedit — all changes apply immediately, persisted in SQL or disk
  • Formula evaluator — every spell field (damage, applies, duration, summon-req) is a live expression with caster/victim/object variables
  • Spell runtime consults a per-spell catalog for 7 mag_*() functions; falls back to hardcoded behavior gracefully
  • SPELL_ACQ_INHERIT — Prestige casters inherit their base class's spell list

🏛 Account system

  • Cross-character accounts — share gold + questpoints + remorts across all your alts
  • Unlock store — buy access to Prestige classes + exotic races; the unlock is permanent and account-wide
  • Cumulative pricing — first unlock is cheap; the tenth costs 36× base. Keeps the economy balanced over an account's lifetime
  • ATM-gated banking — three money commands need an ATM object in reach; account session works anywhere

🤖 AI-driven NPCs

  • OpenAI + Ollama fallback chain — cloud LLM first, local model as backup, static fallback last
  • Four behaviors per mob: dialogue (tell), greet, emote reaction, combat taunt — each on its own cooldown
  • Per-NPC personality strings stored in SQL — staff write 2-4 sentences, the LLM stays in character
  • Async response handoff — worker threads never touch CircleMUD state; main-thread drain delivers lines
  • Prompt-injection sanitizer — all player input is cleansed before reaching the LLM

📡 PubSub event bus

  • Synchronous in-process bus with topic-based subscribers
  • Sound layer subscribes to combat/weather/chat/player events → emits MSP triggers to capable clients
  • MTRIG_PUBSUB — DG-script mob triggers can subscribe to any topic with wildcard arglists (combat.*, player.lowhp, etc.)
  • Staff dashboard at /staff/pubsub shows live event tail

🌦 Weather + day cycle

  • 15 rare weather events per zone — sandstorms, hurricanes, tornadoes, blizzards, thunderstorms, etc.
  • Zone terrain flags (desert/water/mountain/forest/city/island/artic) gate which events can fire
  • Movement cost modifiers + minor damage during severe weather
  • Control Weather spell — magic can suppress or amplify events
  • Six sunlight transitions per game-day driving outdoor messaging + DARK-room visibility

📊 Observability stack

  • SQL audit log — every shutdown, admrole, load, purge, discipline action recorded with verb.subverb codes
  • Entity load events — every mob/obj spawn attempt tracked; surfaces "this mob never spawns" via load-fail rate
  • Class level events — level-up history with HP/Mana/Move deltas per class
  • Combat kill log — PvE + PvP balance dashboard
  • Performance monitoring — instrumented sections with per-pulse percentage breakdown
  • Staff web dashboards for every stream

💾 Persistence layer

  • SQL-authoritative player records + object sets, with disk-file mirror for transport + safety
  • Object instance system — every loaded obj tagged with (vnum, uid, generation) for dedup + forensic provenance
  • plrset / objset commands for full SQL ↔ disk repair, archive restore, recovery from self-delete
  • automysqlbackup daily dump as a second independent backup beyond the file-level snapshot
  • Object version upgrades — edit a prototype, every player's instance auto-upgrades on next rent-load

🗺 World & content tools

  • Offline zone builder — single-file HTML editor for building zones without being online (try it)
  • 8 new cross-zone reset commands (L/C/K/N/U/J/F/H) — chain zone events, set room flags across the world, force weather
  • Live OLC for D20 content — cledit, rcedit, fedit, spedit + the classic redit/medit/oedit/zedit/sedit/trigedit/qedit suite
  • Achievement system — auto-granted milestones with public leaderboards
  • Raffle campaigns — multi-prize, multi-account, ticket-ledger-audited
  • Help system in SQL — instant edits via hedit, no more flat-file fan-out
  • IBT system — players submit bugs/ideas/typos; staff triage via ibtedit + a web dashboard

🌐 Web stack

  • jedimud.net rebuilt in Astro 5 — fast static site, no slow CMS
  • Browser web client at /webclient/ — telnet-over-WebSocket, audio, MSDP/GMCP support
  • Staff dashboards — 12 cookie-gated tools for audit/load/level/combat/economy/IBT/pubsub/perf/MUD controls
  • 72 documentation pages for staff + 10 builder guides + 4 interactive tools, all downloadable as .md bundles

🎵 Client integration

  • MSP sound bridge — 13 event sounds + 9 weather sounds with 5-category mute
  • MSDP variables — character vitals, combat target, weather, party state pushed every second
  • GMCP packages — IRE-standard Char.Vitals/Status/Stats + custom Char.Environ/Group/Items/Skills/Event
  • Discord bridge — gossip + auction + shout mirror out to a Discord channel

🛠 Built but not on prod yet

Features that live on alpha + dev but haven't promoted to prod. These need a prod restart to land:

  • fedit / spedit — the feat + spell editors are alpha-only currently
  • Formula evaluator for spell expressions — alpha-only
  • SQL class/race overlay at boot — alpha+dev have this; prod doesn't
  • Some MSDP variables introduced 2026-05-18 (WEATHER*, WORLD_EVENT, GROUP_MEMBERS) — promotes with prod binary update
  • Achievement events — schema is there, runtime fires on alpha+dev
  • Account unlock store v2 (cumulative pricing) — alpha+dev
  • AI service — gated behind a feature flag pending API budget review on prod

📋 Path to 7.0 RC

What needs to happen before we can call something "Release Candidate":

  1. Alpha smoke testing — every D20 path exercised against the formula evaluator. Spedit content tested end-to-end.
  2. Dev promotion — alpha → dev port, dev acts as staging for a week+
  3. Player content audit — convert/upgrade all existing prod content (zones, mobs, objects) to D20-aware versions where applicable
  4. Account migration plan — existing prod players need accounts created; pooled-gold seeding from per-character bank balances
  5. Documentation freeze — staff + builder + player docs locked in (this is the part that's basically done already 🎉)
  6. Prod restart drill — disaster recovery rehearsed; rollback path validated
  7. AI service budget — final go/no-go on OpenAI cost ceilings before flipping the feature live on prod
  8. Performance baseline — perfmon over a week of player traffic on dev shows healthy headroom

📅 What 7.0 launch looks like

  1. Announce 1-2 weeks ahead on news + Discord + login banner
  2. Pfile + SQL snapshot — full backup of prod state before the cutover
  3. Rolling downtime — ~30 min for the binary swap + first zone reset
  4. Account migration auto-runs on first connect for legacy chars (one-time form prompt)
  5. Login banners + new MOTD announcing what's new + key changes that affect existing players
  6. Active staff presence for the first 48 hours to triage issues
  7. Rollback plan — if anything's catastrophic, downgrade binary + restore SQL within 2 hours

🔭 Post-7.0 directions

Ideas in the someday-pile, listed so you know where the wind is blowing:

  • Persistent player journals — first-person logs of major events, exportable
  • Live-streaming the world map on the website — see player positions update in real time
  • Visual character sheet on the website rather than just terminal display
  • Cross-tree player visits — temporary character snapshots from dev to alpha for staff testing
  • Mobile-friendly web client — touch-first input, larger buttons, no chord shortcuts
  • Voice integration — text-to-speech for AI taunts, accessibility for sight-impaired players
  • Federated MUDs — protocol for player-character travel between cooperating muds (very speculative)

Nothing here is committed. Treat as inspiration for what 7.1+ could include.

How to follow along

  • Discorddiscord.gg/EQfuEkV for daily progress chat
  • News/news for milestone announcements
  • Changes/changes for per-change build notes
  • Want to help test? Reach out on Discord. Builders + active testers welcome on the dev tree.

Roadmap last updated 2026-05-19. Detail subject to change without notice; that's what an alpha is for.