Add configurable grid branding
This commit is contained in:
@@ -95,6 +95,7 @@ This is a behavior guide for packet semantics beyond raw schemas.
|
||||
- `permissions`
|
||||
- `policy` (`usernameMinLength`, `usernameMaxLength`, `passwordMinLength`, `passwordMaxLength`)
|
||||
- `auth_required.authPolicy`: server auth limits advertised before login/register submit.
|
||||
- `auth_required.gridName` / `auth_required.welcomeMessage`: server-owned pre-login branding values.
|
||||
- `auth_result.authPolicy`: server auth limits echoed on auth success/failure responses.
|
||||
- `auth_result.sessionToken` is used by the client to call the instance-scoped HTTP endpoint `GET <base_path>auth/session/set` (`Authorization: Bearer <sessionToken>`, `X-Chgrid-Auth-Client: 1`) so the server can issue an instance-scoped `HttpOnly` session cookie.
|
||||
- `welcome.worldConfig.gridSize`: server-authoritative grid size used by clients for bounds/drawing.
|
||||
@@ -104,6 +105,8 @@ This is a behavior guide for packet semantics beyond raw schemas.
|
||||
- `welcome.serverInfo`: server process identity/version metadata:
|
||||
- `instanceId`: unique id generated at server startup
|
||||
- `version`: server package version (or `unknown` fallback)
|
||||
- `gridName`: server-owned user-facing grid name
|
||||
- `welcomeMessage`: server-owned pre-login welcome string
|
||||
- `welcome.uiDefinitions`: server-provided item UI definitions:
|
||||
- `itemTypeOrder`: add-item menu order
|
||||
- `itemTypes[].tooltip`: item-level tooltip/help text
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
3. Client connects signaling websocket from the configured app origin.
|
||||
4. Server accepts the socket only on the configured instance websocket path and when the browser `Origin` matches `CHGRID_HOST_ORIGIN`, then attempts cookie-based session resume from the instance-scoped websocket handshake cookie.
|
||||
5. If resume does not authenticate, server sends `auth_required`.
|
||||
- includes `gridName` and `welcomeMessage` for pre-login branding.
|
||||
- includes `authPolicy` limits for username/password.
|
||||
6. Client sends `auth_login` or `auth_register` (or explicit `auth_resume` if provided by caller).
|
||||
7. Server sends `auth_result`.
|
||||
@@ -19,7 +20,7 @@
|
||||
- applies `welcome.worldConfig.movementTickMs` as movement pacing guidance
|
||||
- applies `welcome.worldConfig.movementMaxStepsPerTick` for movement-rate parity
|
||||
- uses `welcome.player` as authoritative starting position (restored from server-side account state when available)
|
||||
- records `welcome.serverInfo` (`instanceId`, `version`) for restart detection
|
||||
- records `welcome.serverInfo` (`instanceId`, `version`, `gridName`, `welcomeMessage`) for restart detection and client branding
|
||||
- if `welcome.serverInfo.version` differs from running client version, auto-reloads the page
|
||||
- applies `welcome.uiDefinitions` for item menus/properties/options, server-backed command metadata, item-management metadata, and admin menu labels/order
|
||||
- sends initial `update_position` echo from server-assigned starting tile
|
||||
|
||||
Reference in New Issue
Block a user