Skip to content

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 more splintertree-gateway, one or more splintertree-orchestrator replicas.
  • Per map instance: one splintertree-world process, hot-spawned by the orchestrator on demand.
  • Per cluster: N splintertree-web-api replicas, one splintertree-web-frontend static bundle, single PostgreSQL + NATS + Redis topology.

Clustering & multi-realm covers the multi-tenant story.