Game servers (Paper plugin, Fabric/Forge mods) authenticate with a
per-server token and report to /api/server/v1:
- hello: records software/version, returns the auth server URL
- login: allow/deny with a message (account status + reason, access
all/members/groups, optional "must join through the launcher" check
matching the player's recent launch IP)
- sync: online players, TPS, stat deltas and events; answers with
players to kick when their account was disabled meanwhile
Admins create servers (token shown once, stored hashed), regenerate
tokens, and read leaderboards, events and per-player activity. The
dashboard stats include who's online right now.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011ARcGWxLx21FwXJ3yfGriS
- Yggdrasil API per the authlib-injector spec: metadata with signing key
and skin domains, authenticate/refresh/validate/invalidate/signout,
join/hasJoined, profile lookup, texture upload, and the minecraftservices
endpoints (chat certificates, publickeys, attributes, blocklist)
- 4096-bit signing key generated once into the data volume; textures and
chat certificates signed SHA1withRSA (verified with Java's own crypto)
- Skins/capes stored content-addressed after validation and re-encoding;
cape library with public/group/private visibility; head avatars API
- Launcher login returns a game session; launcher sessions recorded for
launcher-only servers; authlib-injector download mirror
- Schema v2: player UUIDs (offline UUID backfilled), skins, capes, tokens,
sessions, chat keys, game server tables
- Remove Microsoft sign-in from the engine and panel
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011ARcGWxLx21FwXJ3yfGriS
- Brand is now SCOPENET everywhere (defaults, UI, installer, docs)
- Launcher: solid backgrounds (no animated orbs/grain), flat Play button
without gradient/shine/glow, quieter rail with a simple active
indicator, smaller type scale, Inter as default font, glass off by
default, restyled sliders
- Panel: same flat treatment; live preview mirrors the new launcher
- New flat scope-reticle logo and app icons
- Calmer default palette
- Fix: lock the shared cargo cache in the Docker build (amd64/arm64 raced)
- Fix: Windows-only clippy lint in sys.rs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011ARcGWxLx21FwXJ3yfGriS