Skip to content

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
  • EngineAdapter abstract 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 vars QSB_*
  • 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-sdk Rust crate with GameModule trait
  • platform_types.rs — typed views of 12 platform tables
  • #[qs_game_module] proc macro for reducer wiring
  • bridge.rs cross-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