Skip to content

Technology Stack

Every technology used in QS-Bridge, organised by component.


Platform Core

Technology Version Role License
SpacetimeDB v1.1+ Database engine — tables, reducers, WebSocket subscriptions BSL 1.1
Rust 1.75+ STDB WASM modules (platform + game + mod registry) MIT/Apache 2.0
C++17 GCC 11+ / Clang 14+ Bridge framework (libqsbridge.so)
CMake 3.20+ Bridge build system (5 layers) BSD 3

Bridge (libqsbridge.so)

Component Implementation Details
BSATN Codec 18 header-only C++ files Full SpacetimeDB binary protocol codec
WebSocket Client libwebsockets STDB v2 binary framing, auto-reconnect
Engine Adapter Abstract C++ interface UE4 4.27 (production), UE5/Unity/Godot (planned)
HMAC SHA-256 (RFC 4231) Reducer call signing
Build output libqsbridge.so (8.6 MB) Single shared library, LD_PRELOAD injected

C++ File Counts

Category Files Lines
Public headers (include/qsbridge/) 11 ~1,200
BSATN headers 18 ~2,500
Engine headers 4 ~600
Core sources (lib/core/) 6 ~1,800
UE4 adapter sources 4 ~1,200
HumanitZ game module 9 (2 headers + 7 sources) ~2,400
Schema (codegen'd) 218 (111 reducer + 58 type + 44 table) ~7,000
Tests 7 suites ~2,500
Total 225+ 17,200+

Admin Panel

Technology Version Role License
React 19 UI framework MIT
Vite 6 Build tool, dev server, code splitting MIT
TypeScript 5.6 Type safety (strict: true) Apache 2.0
Tailwind CSS v4 Utility-first styling MIT
SpacetimeDB SDK TypeScript WebSocket subscriptions, table bindings BSL 1.1
React Router v7 Client-side routing MIT
Framer Motion latest Animations (page transitions, slide-outs) MIT
@tanstack/react-table v8 Data tables with sorting, filtering, pagination MIT
@tanstack/react-virtual v3 Virtualised lists MIT
Recharts latest Dashboard charts MIT
Monaco Editor latest SQL console code editor MIT
date-fns latest Date formatting MIT
cmdk latest Command palette MIT
sonner latest Toast notifications MIT
vaul latest Drawer component MIT
nuqs latest URL query state sync MIT
clsx latest Conditional class names MIT
jose latest JWT encoding/decoding (client-side) MIT

Panel Statistics

Metric Value
Pages 13 (all functional, game-agnostic)
UI Components 16 (shared library)
Source Lines ~6,800
Binding Files ~160 (auto-generated)
Bundle Size (gzipped) ~295 KB total

API Gateway

Technology Version Role License
Hono latest HTTP framework MIT
Node.js 22 LTS Runtime MIT
jose latest JWT creation + verification (HS256) MIT
Steam OpenID 2.0 Authentication (no separate user database)

Gateway Statistics

Metric Value
REST Routes ~55 (admin + hosting + servers + registry)
Auth Flow Steam OpenID 2.0 → JWT cookie
Session Duration 8 hours
Port 3081

STDB Modules

Platform Module

Metric Value
Language Rust (WASM)
Tables 12
Reducers 24
Framework SpacetimeDB v1.1 macros

Mod Registry Module

Metric Value
Language Rust (WASM)
Tables 10
Reducers 30+
File Storage MinIO (S3-compatible)

Testing

Suite File Assertions Coverage
BSATN round-trip test_table_roundtrip.cpp 131 All 44 table types
HMAC-SHA256 test_hmac.cpp 8 RFC 4231 test vectors
Mock adapter test_mock_adapter.cpp 17 Headless engine adapter
Protocol framing test_protocol_framing.cpp 26 STDB v2 wire format
Server messages test_server_messages.cpp 108 All server→client message types
Integration pipeline test_integration_pipeline.cpp 554 Full bridge orchestration (45 tests)
E2E SpacetimeDB test_e2e_stdb.cpp 16 Live STDB v2 (CI-safe skip)
Total 7 suites 860+

Infrastructure

Technology Role
Linux (Ubuntu 24.04 LTS) VPS operating system
systemd Service management (SpacetimeDB, gateway, ProcessService mods)
Nginx Reverse proxy, TLS termination, WebSocket upgrade
Let's Encrypt (certbot) TLS certificates
GitHub Actions CI/CD (4 jobs: bridge, panel, gateway, lint)
MkDocs Material Documentation wiki (wiki.qs-zuq.com)
MinIO S3-compatible object storage (mod files)

Design System

Element Value
Heading Font Red Rose (Google Fonts)
Body Font Inter (Google Fonts)
Code Font JetBrains Mono (Google Fonts)
Primary Colour #d4915c (warm amber)
Background #0f0d0b (dark)
Surface #1a1714
Accent #d4915c / #e8a66e
Border rgba(212, 145, 92, 0.15)