MXO // MISSION CONTROL

updated 2026-08-29 · rev 10

Two projects, one goal: keep The Matrix Online alive — the original server preserved and playable, and the city reborn in Unreal Engine 5.

MXO-HD

preservation · live service · reference implementation
LIVE
Now

FIRST EXTERNAL PLAYERS IN-WORLD — two-player session live, first since 2009 Full path proven incl. UDP · new character persisted from outside · mutual visibility confirmed · desync = first Track B target

Tracks
A · Live service95%
B · Gameplay completion10%
C · Code health40%
D · Reference & docs (feeds UE5)5%
Done — 2026-08-29
  • 08-29View-lifecycle fix deployed: ack-gated deletes, ghost cleanup, leak plug
  • 08-29TWO-PLAYER TEST PASSED: first external player since 2009 jacked in
  • 08-29Router port-forwards live (UniFi); game ports verified from outside
  • 08-29Nightly DB backups live: validated dumps, 7d/4w rotation, off-box pull
  • 08-29ServerLog rotation live; deploys archive the log instead of deleting it
  • 08-29Source resurrected: .NET Core 3.1 → .NET 8, zero code changes to build
  • 08-29Fixed EF Core 5 crash that silently broke all logins on modern .NET
  • 08-29Fixed silent spawn-hang (districtId 0) and repaired affected characters
  • 08-29Fixed character creation (never persisted) + crash-proofed margin thread
  • 08-29Migrated to VPS: WinSW service, MariaDB, DNS at mxo.residual.city
  • 08-29Hardened: client-reachable SQL parameterized, ?commands admin-gated
  • 08-29AccountTool ships real RSA keypairs (byte order proven empirically)
  • 08-29First real client login, walkabout, and in-client character creation

MXO-UE5

recreation · unreal engine 5 · ue5-native server
PHASE 1
Now

Static extraction pipeline COMPLETE — the M1 data chain works end to end sector record → GOID → gameobjects.gob → .moa → .mga → glTF · 8 tools, 6 formats cracked in one day · next: UE 5.8 editor

Phases
P0 · Foundations100%
P1 · Data liberation (client extraction)95%
P2 · World assembly0%
P3–P5 · Character / Systems / Online0%
Milestones
  • M0One extracted prop renders in a glTF viewer (10 do — 2026-08-29)
  • M2Full Slums district streamed at 60fps
  • M3Character creator with real clothing data (38,040 items)
  • M4Packaged build walkable start-to-finish
  • M5Two clients meet on UE5 dedicated server (VPS)
  • M6Combat vertical slice from original ability data
Inputs held
  • Plain-text packmap manifest: 119,485 entries across 217 .pkb archives (5.8 GB)
  • 1,350 prop↔FBX oracle pairs — our parsers validated 100% against them
  • 2,863,040 placed world objects (3 districts, validated by live server)
  • 9,973 abilities · 44,406 object defs · combat formulas in server source

BLOCKERS

AWAITING PLAYTEST View-lifecycle fix validation

Fix for duplicate NPCs / ghost players / lost chat is deployed. Next two-player session confirms it.

M1 NEXT LEAD RichWorldGOs cell components

~70% of placed GOIDs carry no model ref in gameobjects.gob; .cod's cell-component schemas (GUID/RTID/GOBJ) are the prime suspect for where those refs live.

AGENT DISPATCH LOG

  • moa-01.moa cracked: assembly container → .mga parts; Mara props render
  • gob-02gob structural walker: exact records, false positives eliminated
  • fix-01View-lifecycle fixes implemented + deployed to prod
  • gob-01GOID table found: gameobjects.gob, 67% exact resolution
  • sect-01Sector GO record fully decoded; full quaternions recovered
  • mcp-01Unreal MCP runbook written (52 toolsets, .mcp.json config)
  • tex-02Textured .glb export: 15-prop showcase, 732/732 corpus
  • cat-02Catalog crossref: texture_ids live; sector-file gap identified
  • prop-01.prop cracked: 100% embedded geo, oracle 10→1,350, all pass
  • txa-01.txa cracked: DXT/BGRA + cubemaps, 99.91% of 16,209 files
  • cat-01catalog_build.py: 119,357 entries; placement join confirmed
  • city-01City Sample researched: PCG data-table pattern viable → D-007
  • re-01.mga format cracked; 10 props → .glb, 9/10 oracle match
  • slicer-01pkb_slicer.py built; WAV validation 6/6, oracle pairs staged
  • conv-01CONVENTIONS.md + CATALOG-SCHEMA.md written
  • wksp-01Extraction workspaces up on dev + VPS
  • survey-01cortana-python surveyed: sector files only, no geometry code
  • survey-02Rajkosto+Lithtech tooling: dead links, but FBX oracle found
  • invent-01Client inventoried: 217 .pkb + plain-text manifest
  • ops-01DB backups + log rotation scheduled on VPS
  • docs-01Governance docs drafted + committed
  • secur-01SQL parameterized + admin gate, deployed
  • acct-01AccountTool built, RSA selftest passing
  • commis-01Server commissioned as WinSW service
  • provis-01VPS provisioned: .NET 8, MariaDB, firewall
  • audit-01Linux portability audit → docs/LINUX-PORT-NOTES.md

NEXT UP

  • MXO-UE5 · P2UE 5.8 project + MCP smoke test + City Sample harvest (downloads in progress)
  • MXO-UE5 · P0RichWorldGOs cell-component spike: close the remaining placement refs
  • MXO-HD · BValidate deployed view-lifecycle fix in next two-player session
  • MXO-HD · AUptime monitoring: service-down + port-unreachable alerts
  • MXO-HD · BMob combat fix: mobs never attack back (CombatFormulas.cs)