Documentation Index
Fetch the complete documentation index at: https://mintlify.com/TaylorZaneKirk/MMO-Project/llms.txt
Use this file to discover all available pages before exploring further.
This matrix converts the preserved client and server inventory into a rewrite planning tool. It is intentionally feature-oriented rather than file-oriented so the modernization effort can prioritize what to rebuild, what to defer, and what not to recreate. Primary supporting evidence lives in docs/modernization/LEGACY_SYSTEM_INVENTORY.md, docs/modernization/PROTOCOL_CATALOG.md, and the machine-generated reports under fso-dir-lab/reports/legacy-inventory/.
Classification legend
| Classification | Meaning |
|---|
| Required | Likely needed to preserve the recognizable game and core play loop |
| Optional | Present in the legacy game, but not required for early faithful playability |
| Obsolete | Present in the legacy system, but not a strong target for player-facing recreation |
| Unsafe | Present in the legacy system, but must not be recreated in its original form |
| Not Yet Understood | Evidence exists but current understanding is too incomplete for a confident call |
| Priority | Meaning |
|---|
| Vertical Slice | Needed for the first playable modern end-to-end path |
| Post-Slice Core | Essential for broader parity, but can follow the first slice |
| Post-Slice Secondary | Helps preserve wider game identity, but can follow core restoration |
| Do Not Recreate | Retire or replace with a safer modern equivalent |
| Investigate | Needs more evidence before confident scheduling |
Access and session
| Feature | Legacy Summary | Classification | Priority | Notes |
|---|
| Login | Client sends character credentials and registration code, then enters the live session after a version/response exchange. | Required | Vertical Slice | Core entrypoint. Legacy flow uses plaintext password checks and permissive trust that must be replaced. Key subjects: LoadChar, 937oom, ClientVersion, Server Response. |
| Character Creation | Client assembles an initial character payload and sends it to the server for creation. | Required | Vertical Slice | Required for a faithful account-to-play flow. Payload format still needs field-by-field cataloging. Key subject: QueryCreate. |
| Character Load and Save | Client loads full character state into runtime globals and saves periodically and on exit/disconnect. | Required | Vertical Slice | Save behavior is critical to session continuity. Legacy save model is file-based and must become transactional. Key subjects: LoadChar, MassSave, inx. |
Core world
| Feature | Legacy Summary | Classification | Priority | Notes |
|---|
| Map Loading | Client requests map, item, and mob data to populate the current world view. | Required | Vertical Slice | Essential to rendering and persistence. Data schemas need explicit format documentation. Key subjects: LoadMapX, LoadItemsX, LoadMobsX. |
| Movement and Map Presence | Client participates in map/group traffic and position-aware runtime behavior while in a map. | Required | Vertical Slice | Exact movement authority and queue semantics need deeper tracing. Key subjects: Warp, ServerQueue, AddToQueue, mptlcng. |
| Chat and Broadcast | Client handles direct chat, map chat, and broadcast-style messages in the main runtime loop. | Required | Vertical Slice | Core social layer for early playability. Must be rebuilt with validation and rate limiting. Key subjects: sqa, aqs, Broadcast, chatMsg. |
Progression and combat
| Feature | Legacy Summary | Classification | Priority | Notes |
|---|
| Stats, Classes, and Progression | Character runtime state includes classes, stats, and progression-relevant values loaded into the session. | Required | Post-Slice Core | Evidence is stronger on load/save presence than formula detail. Key subjects: LoadChar, ViewChar, x91. |
| Spells and Skills | Client tracks spellbook and skill-related state and uses spell-casting message flows in active play. | Required | Post-Slice Core | Formulas, unlock rules, and targeting behavior still need explicit specification. Key subjects: CastSpell, ReduceGoldFromSpell, lrnn, spcmd. |
| Combat, Damage, and Death | Client reacts to damage, death, body-state changes, and combat-adjacent status effects. | Required | Post-Slice Core | Combat math and authoritative sequencing still need deeper reverse-engineering. Key subjects: BodyRevert, DeathMapGo, WriteDeathMap. |
| Monsters and Drops | Monsters, monster drop data, and mob loading are present in both client and server flows. | Required | Post-Slice Core | Drop formulas and mob AI need more detailed evidence. Key subjects: LoadMobsX, Mkilldrp, LoadMonDrops. |
Economy and inventory
| Feature | Legacy Summary | Classification | Priority | Notes |
|---|
| Inventory and Equipment | Client loads, displays, updates, equips, and unequips item state. Server pushes a packed inventory refresh after many mutations. | Required | Vertical Slice | Legacy flow supports a 15-slot inventory plus explicit Head, Body, LeftHand, RightHand, Feet, and Ring slots. Must be redesigned as server-owned state. Key subjects: inx, remEQ, itremovv, YouGotItem. |
| Vault, Chest, and Storage | Client interacts with storage-like containers, personal chests, and vaults. | Required | Post-Slice Core | Needs careful transactional treatment in the rewrite. Key subjects: DropInVault, GetChest, GetFromVault, VaultReturned. |
| NPC Shops | Client buys from and sells to NPC inventories and receives server-returned list data. | Required | Post-Slice Core | Legacy gold/item exchange must become authoritative and atomic. Key subjects: BuyFromNPC, SellToNPC, LoadNPCSellList, LoadNPCBuyList. |
| Banking | Client supports deposit/withdraw with server-returned balance updates. | Required | Post-Slice Core | Useful for long-term economy stability; can follow the first slice if needed. Key subjects: Deposit, Withdraw, BalanceReturned, DepositDone. |
| Mail | Client loads, writes, saves, and sends mail through dedicated mail casts. | Optional | Post-Slice Secondary | Real subsystem with identity value, but not necessary for the first playable slice. Key subjects: LoadMail, SaveMail, SendMail, MailList. |
Social and secondary systems
| Feature | Legacy Summary | Classification | Priority | Notes |
|---|
| Guilds | Client and server support guild creation, loading, viewing, saving, and listing. | Optional | Post-Slice Secondary | Strong legacy presence, but not needed for a minimal slice. Key subjects: GuildCreate, LoadMyGuild, ViewAGuild, SaveGuild, GetGList. |
| Factions | Session load and quest flows reference faction state and faction updates. | Optional | Post-Slice Secondary | Meaningful to world identity, but rules are not yet fully cataloged. Key subjects: factnrtrn, GetSomeFaction, SayFaction. |
| Quests | Dedicated server quest logic plus quest-related client loading and completion flows are present. | Required | Post-Slice Core | Strong evidence for quest-related systems; exact data formats still need documentation. Key subjects: LoadQuests, QuestComplete, GetHelp, Portal. |
| Houses and Building | Legacy system includes houses, building-related data, and house cleanup and reversion logic. | Optional | Post-Slice Secondary | Important to broader identity, but can follow core gameplay restoration. Key subjects: SaveHouse, HouseTileRevert, HRemNOW. |
| Newspapers | Legacy system supports newspapers and reading/saving related content. | Optional | Post-Slice Secondary | Flavor and social content; not critical to early playability. Key subjects: ReadNewsPaper, SaveNewsPaper, News, NewspaperX. |
| Paintings and Photos | Client can save, view, and retrieve paintings and photos; server returns painting data and author info. | Optional | Post-Slice Secondary | Distinctive legacy feature worth preserving eventually, but not for the first slice. Key subjects: SavePainting, SavePhoto, ViewPainting, PaintingAuthor. |
Secondary systems
| Feature | Legacy Summary | Classification | Priority | Notes |
|---|
| Assassins Event System | Legacy code includes a dedicated timed assassin event system with score and reward handling. | Optional | Post-Slice Secondary | Strong legacy identity signal, but clearly beyond a first modern slice. Key subjects: ASSGAMEADDSCORE, ltass, showassscores, assscrlst, assscrlstx. |
| Casino Games | Client and server support blackjack, slots, checkers, and related game exchanges. | Optional | Post-Slice Secondary | Distinctive but secondary content. Likely postpone until core MMO loop is solid. Key subjects: SltMcn, sltwn, bjchk, BlkJckExch, GameHitMe, CheckersJoin. |
| Music and Performance | Legacy client includes playable music/note behavior and music broadcasts into the world. | Optional | Investigate | Clearly present, but its gameplay importance is still uncertain. Key subjects: PlayMusic, Music, SoundPlay. |
Admin/world-editing and file-transfer commands must not be recreated as privileged gameplay-client behavior. Rebuild as separate authenticated tooling with proper role-based access control and audit trails.
| Feature | Legacy Summary | Classification | Priority | Notes |
|---|
| DB Admin and World Editing | Legacy system includes in-client admin/database/world editing tools that directly manipulate game content. | Unsafe | Do Not Recreate | Content editing is real and needed eventually, but must be rebuilt as separate authenticated tooling. Key subjects: SaveMap, LoadItemsX, LoadMobsX, SaveTheNPC, LoadSystem. |
| File Transfer and Admin Commands | Legacy system can upload/download server files and issue highly privileged control commands through message subjects. | Unsafe | Do Not Recreate | Explicitly unsafe. Replace with audited admin tools outside gameplay transport. Key subjects: FileTransToMe, FileTransToYou, KickTheDOOD, BanPlayer, SupaWarp. |
| Moderation and Immortal Controls | Legacy system includes admin/moderator/immortal flags and privileged player controls. | Required | Post-Slice Secondary | Moderation is operationally necessary, but the legacy privilege model must not be preserved as-is. Key subjects: ImTrue, ModTrue, Broadcast, KickTheDOOD, BanPlayer. |
Vertical slice recommendation
Based on current evidence, the first modern playable slice should prioritize the following features in order:
- Login — account entrypoint with hashed credentials and server-issued session tokens
- Character Creation — initial payload assembly and server-side validation
- Character Load and Save — authoritative server-owned character state with transactional persistence
- Map Loading — server-driven map, item, and mob data delivery to the client
- Movement and Map Presence — server-authoritative tile movement and live map presence
- Chat and Broadcast — validated, rate-limited map and direct chat
- Inventory and Equipment — server-owned 15-slot inventory and explicit Head, Body, LeftHand, RightHand, Feet, and Ring equipment slots
After the vertical slice is stable, the next layer should proceed to Combat/Damage/Death, Monsters and Drops, NPC Shops, Vault/Chest/Storage, and Quests.