Technology Stack
Every technology used in QS-Bridge, organised by component.
| 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
| 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) |
Related Pages