MXO // MISSION CONTROL

updated 2026-08-29 · rev 6

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

Awaiting router port-forwards for public player access LAN play fully operational · nightly DB backups + log rotation · deploys are one command

Tracks
A · Live service75%
B · Gameplay completion10%
C · Code health40%
D · Reference & docs (feeds UE5)5%
Done — 2026-08-29
  • 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

Textured MXO props rendering — newsstands, buses, kiosks in original 2005 art Full pipeline live: manifest → geometry → textures → catalog · one M1 blocker: sector-file placement linkage

Phases
P0 · Foundations100%
P1 · Data liberation (client extraction)90%
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

OWNER ACTION Router port-forwards

TCP 11000, TCP 10000, UDP 10000 → the game host. Gates external players only; everything else proceeds.

OPEN QUESTION UE5 editor GPU

VPS is GPU-less (Hyper-V). Editor runs on dev machine; DDA passthrough possible if host gains a GPU.

AGENT DISPATCH LOG

  • 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 · P0M1 blocker: extract placement→resource links from world sector files (adapt cortana SidiParser)
  • MXO-UE5 · P2UE 5.8 project + City Sample harvest + PCG Load-Data-Table importer → M1
  • MXO-HD · ATwo-player visibility test (first since 2009-era code) once ports open
  • MXO-HD · AUptime monitoring: service-down + port-unreachable alerts
  • MXO-HD · BMob combat fix: mobs never attack back (CombatFormulas.cs)