Crates¶
Sixteen workspace crates make up the core cluster, plus three more for the HTTP plane and tooling.
Core (NATS bus)¶
| Crate | Role |
|---|---|
splintertree-common |
Shared crypto (ARC4, header encryption), packet build/parse, NATS types |
splintertree-auth |
Standalone login server. SRP6, realm list |
splintertree-gateway |
TCP front-end. Per-session encryption, opcode routing |
splintertree-character |
Char enum / create / delete / rename / customize |
splintertree-world |
Stateful map-instance worker. One process per (map_id, instance_id) |
splintertree-orchestrator |
Spawns / scales splintertree-world containers (Docker / k8s) |
splintertree-guild |
Guild CRUD, roster, ranks, emblem, petitions |
splintertree-social |
Chat, channels, friends / ignore, party / raid |
splintertree-auction |
Auction house + player mail |
splintertree-matchmaking |
BG queue, arena teams, matchmaking |
splintertree-ticket |
GM tickets, surveys, bug reports, complaints |
splintertree-dbc |
DBC import / export library + CLI |
splintertree-ctl |
CLI for authoring .rcmod mod bundles |
splintertree-bench |
Benchmarking harness |
splintertree-test-harness |
Integration test rig |
HTTP / UI plane¶
| Component | Stack | Role |
|---|---|---|
splintertree-web-api |
axum 0.7 (Rust) | REST backend for both web layouts. 48 route modules, JWT auth, DBC live re-assembly, patch scheduler, mod content applier |
splintertree-web-frontend |
Quasar 2 + Vue 3 + TypeScript | One SPA, two layouts: public site (/) and ~80-page admin portal (/admin/*) |
splintertree-launcher |
Tauri 2 + Rust + Quasar / Vue | Desktop launcher — base-client install, patch chain sync, addons, wine launch |
What runs where¶
- Per realm: one
splintertree-auth, one or moresplintertree-gateway, one or moresplintertree-orchestratorreplicas. - Per map instance: one
splintertree-worldprocess, hot-spawned by the orchestrator on demand. - Per cluster: N
splintertree-web-apireplicas, onesplintertree-web-frontendstatic bundle, single PostgreSQL + NATS + Redis topology.
Clustering & multi-realm covers the multi-tenant story.