Roadmap¶
QS-Bridge development is organised into 8 phases. Phases 1–4 are complete. Phases 5–8 are planned.
Phase Overview¶
| Phase | Title | Status |
|---|---|---|
| 1 | Infrastructure | ✅ Complete |
| 2 | Platform MVP | ✅ Complete |
| 3 | Panel Production-Ready | ✅ Complete |
| 4 | Multi-Server Architecture | ✅ Complete |
| 5 | Game Module SDK | 🔜 Planned |
| 6 | Second Game / Engine | 🔜 Planned |
| 7 | Modding API & Mod Lifecycle | 🔜 Planned |
| 8 | Anticheat & Production | 🔜 Planned |
Phase 1 — Infrastructure¶
Everything here is done and shipping.
- Repo restructured as
qs-bridge/with layered architecture -
EngineAdapterabstract interface (164 lines) - UE4 engine adapter (entry, introspection, vtable_hook, fname_cache)
- Clean build →
libqsbridge.so(8.6 MB shared lib) - CMake build system: 5 layers (bsatn_core → stdb_client → bridge_core → engine_ue4 → game_humanitz)
- BSATN codec — 18 header-only files
- Namespace:
qsbridge::, env varsQSB_* -
codegen.py— UE4→C++17 type generator (809 lines) - Bridge Core: rpc_dispatcher, class_registry, game_interface, game_action, message_queue
- STDB Client: WebSocket with BSATN binary framing (242 lines)
Phase 2 — Platform MVP¶
Auth, testing, security hardening, and the API gateway.
2a · Panel Auth ✅¶
Original STDB-direct auth replaced by Steam OpenID via API gateway.
2b · Bridge ↔ STDB End-to-End ✅¶
- Mock engine adapter (17 tests)
- Integration pipeline tests (554 assertions, 45 tests)
- E2E test harness against live SpacetimeDB v2 (16 assertions)
- BSATN round-trip tests (131 assertions, all 44 table types)
2c · Security Hardening ✅¶
| Fix | Status |
|---|---|
| Password hashing (bcrypt/argon2) | ✅ |
| Steam OpenID replaces password-based auth | ✅ |
| HMAC-SHA256 reducer signing | ✅ (bridge-side) |
| Session in sessionStorage (XSS mitigation) | ✅ |
| SQL console restricted to Owner | ✅ |
2d · Developer Experience ✅¶
7 test suites, 860+ assertions total. CI pipeline with 4 jobs.
2e · API Gateway & Steam Auth ✅¶
- Hono TypeScript server on port 3081
- Steam OpenID 2.0 authentication
- JWT session cookies (HttpOnly, 8-hour, HS256)
is_gateway()guard on all panel reducers- 10 admin mutation REST routes
- Read-only browser STDB connection
Phase 3 — Panel Production-Ready¶
3a · Real-Time Subscriptions ✅¶
useTable<T> hook, live updates on all pages, no polling.
3b · Shared Component Library ✅¶
16 components: Button, Input, Card, Badge, DataTable, Dialog, Toast, Skeleton, EmptyState, Spinner, Switch, Tabs, Select, Textarea, Kbd.
3c · Type Safety ✅¶
strict: true, central table-types.ts, zero unjustified any.
3d · Admin UX ✅¶
Confirmation dialogs, toast notifications, player dossier slide-out, design system.
3e · UI Overhaul ✅¶
Complete visual redesign — Red Rose/Inter/JetBrains Mono fonts, warm amber palette, framer-motion animations, code splitting.
Phase 4 — Multi-Server Architecture¶
4a · Schema Migration ✅¶
5 new meta tables: ServerRegistry, PlayerServerPresence, GlobalVault, ServerTransferQueue, CrossServerEvent. server_id partitioning.
4b · Bridge Multi-Server ✅¶
QSB_SERVER_ID env var, scoped subscriptions for local tables, full subscriptions for global tables.
4c · Panel Cluster Features ✅ (partial)¶
- Server grid with hosting API controls (start/stop/restart/wipe)
- Sidebar: Platform + Developer nav groups
- Cluster-wide views, caching architecture
Remaining in 4c: - [ ] Passport activity dossier rewrite - [ ] Bridge status monitoring per server - [ ] Per-server config (Admin sends no server_id) - [ ] Server console/RCON UI - [ ] Developer tools improvements
Phase 5 — Game Module SDK¶
Define the interface between the platform and game modules.
5a · Module Interface Contract¶
qs-bridge-module-sdkRust crate withGameModuletraitplatform_types.rs— typed views of 12 platform tables#[qs_game_module]proc macro for reducer wiringbridge.rscross-database communication helpers
5b · HumanitZ as First Module¶
- Refactor
howyagarn-server/to implement the SDK - Wire platform ↔ module communication
- Complete 13 log-only reducer stubs
5c · C++ Bridge Hook Completion¶
- Hook remaining UE4 RPCs
- Full E2E: server → bridge → STDB → panel
5d · Profanity & Moderation¶
- Aho-Corasick with Unicode normalisation
- Configurable blocklist, leet-speak expansion
Phase 6 — Second Game / Engine¶
Proves the "universal" claim — the architecture isn't HumanitZ-specific.
- Implement second
EngineAdapter(UE5, Unity IL2CPP, or Godot GDExtension) - Implement second game module for the chosen engine
- Validate SDK works for a different game
Phase 7 — Modding API & Mod Lifecycle¶
Runtime lifecycle for all 8 mod kinds.
7a · Mod Installation Engine¶
Per-ModKind install logic (.so placement, systemd units, WASM merging, file deployment).
7b · Process Lifecycle (VPS Superpower)¶
Systemd unit generation, port allocation (8900-9899), resource limits, health monitoring, log aggregation.
7c · Dynamic Config UI¶
ModConfigField schema → auto-generated panel config forms. 9 field types.
7d · Mod Event Bus¶
Cross-mod communication, hook priority, mod permissions model.
7e · Example Mods¶
Discord Bridge, Faction PvP, Hardcore Mode, Custom Loot Tables, Economy Dashboard, Auto-Restart.
Phase 8 — Anticheat & Production¶
8a · Anticheat (observation-only, never auto-bans)¶
7 tiers: position validation, kill validation, item validation, stat anomaly, session integrity, cross-server clustering, ML on historical data. All detections → SecurityEvent → human review.
8b · Production & Scale¶
- CI/CD — GitHub Actions: build .so, cargo check, npm build, tests, deploy
- Docker build images per engine adapter
- White-label packaging for hosting providers
- Monitoring + alerting (reducer latency, row counts, WASM memory)
- Load testing (N servers + M panel connections)
Summary¶
| Phase | Status | Key Deliverables |
|---|---|---|
| 1 Infrastructure | ✅ Complete | Bridge framework, BSATN codec, CMake build |
| 2 Platform MVP | ✅ Complete | Auth, testing (860+ assertions), security, API gateway |
| 3 Panel | ✅ Complete | 13 pages, 16 components, real-time subscriptions |
| 4 Multi-Server | ✅ Complete | 12 platform tables, cluster dashboard, hosting API |
| 5 Game Module SDK | 🔜 Planned | Rust SDK crate, GameModule trait, proc macro |
| 6 Second Game | 🔜 Planned | Proves universality |
| 7 Modding Lifecycle | 🔜 Planned | Install engine, systemd lifecycle, dynamic config |
| 8 Anticheat & Prod | 🔜 Planned | 7-tier observation, CI/CD, white-label |
Related Pages¶
- Overview — what QS-Bridge is
- Changelog — version history
- Tech Stack — technologies used