Home Auth, Accounts & Control Plane

Auth, Accounts & Control Plane API


3.1 Email + password (humans)

Hello {
    client_name: String,
    protocol_version: u16,
    auth: AuthCredential,
}

enum AuthCredential {
    Session { token: String },
    ApiToken { token: String, character_id: Uuid },
    DevLocal,  // embedded --local only, no auth
}

Gateway validates with control plane (or Redis cache) before spawning entity. Invalid auth → disconnect with error frame.


5. UUID v7 for item instances

Per 18-unique-items-and-procedural-economy.html:

  • Mint authority: control plane only (region worker requests mint over internal RPC).
  • No client-supplied IDs — prevents collision and cheating.
  • v7 over v4: better Postgres index locality for time-ordered loot/history queries.

6. Interaction radius (1.5 m)

Server validates for Intent::Use, Intent::Harvest, Intent::Talk, loot:

  • Cylindrical or spherical — use spherical 1.5 m for consistency with AOI docs.
  • Client may show hint in the terminal client; server is authoritative.
  • Harvest nodes in segment YAML have anchor (x, y, z); must be within radius.