feat(registry): pick a game on the fleet and live pages, one Edgegap app per game #10

Merged
kblack0610 merged 2 commits from feat/game-picker into main 2026-10-26 17:59:54 +00:00
Owner

Lets the admin site pick a registered game (playground, dodginballs) and scopes the fleet and live pages to it.

  • EDGEGAP_APPS (game=app pairs) gives each game its own Edgegap app; EDGEGAP_APP still works as the playground's when it is unset. A malformed entry stops the registry at boot.
  • /api/online* take ?game= (default playground, 400 for an unknown game). List, deploy, the stop check, the audit key and EDGEGAP_MAX all use that game's app; the sweep covers every app. An app Edgegap does not have yet (unity-dodginballs today) lists no versions instead of failing.
  • /api/fleet?game= and /api/live?game= scope rows; /api/games lists configured games plus every game a session registered as.
  • UI: game picker on fleet.html and live.html, kept in the URL as ?game=; it scopes rows, Start versions, Stop, history and the live server list. The overrides page is now "Playground catalog"; the live page's in-server picker is "Switch playing to".

Verified: go test ./... green (new: EDGEGAP_APPS parsing, per-game cap and stop check, unknown game 400s, sweep over every app, fleet/live/games scoping). Ran the registry locally against a fake Edgegap and drove fleet.html and live.html in a browser: picker switches rows, versions ("no version on Edgegap yet" for dodginballs) and the URL.

https://claude.ai/code/session_013xzWCj43ynxb5TP8Lq5R1e

Lets the admin site pick a registered game (playground, dodginballs) and scopes the fleet and live pages to it. - `EDGEGAP_APPS` (`game=app` pairs) gives each game its own Edgegap app; `EDGEGAP_APP` still works as the playground's when it is unset. A malformed entry stops the registry at boot. - `/api/online*` take `?game=` (default `playground`, 400 for an unknown game). List, deploy, the stop check, the audit key and `EDGEGAP_MAX` all use that game's app; the sweep covers every app. An app Edgegap does not have yet (`unity-dodginballs` today) lists no versions instead of failing. - `/api/fleet?game=` and `/api/live?game=` scope rows; `/api/games` lists configured games plus every game a session registered as. - UI: game picker on fleet.html and live.html, kept in the URL as `?game=`; it scopes rows, Start versions, Stop, history and the live server list. The overrides page is now "Playground catalog"; the live page's in-server picker is "Switch playing to". Verified: `go test ./...` green (new: EDGEGAP_APPS parsing, per-game cap and stop check, unknown game 400s, sweep over every app, fleet/live/games scoping). Ran the registry locally against a fake Edgegap and drove fleet.html and live.html in a browser: picker switches rows, versions ("no version on Edgegap yet" for dodginballs) and the URL. https://claude.ai/code/session_013xzWCj43ynxb5TP8Lq5R1e
EDGEGAP_APPS maps each registered game to its own Edgegap app
(playground=unity-playground,dodginballs=unity-dodginballs); EDGEGAP_APP stays
the playground's app when it is unset. /api/online* take ?game= (default
playground, 400 for an unknown game), and list, deploy, stop, audit and
EDGEGAP_MAX all key on that game's app; the sweep covers every app. An app
Edgegap does not have yet lists no versions instead of failing.

/api/fleet?game= and /api/live?game= scope rows to one game, and /api/games
lists the configured games plus every game a session registered as. The fleet
and live pages get a game picker kept in the URL; the overrides page is now
labelled Playground catalog.

Claude-Session: https://claude.ai/code/session_013xzWCj43ynxb5TP8Lq5R1e
Claude-Session: https://claude.ai/code/session_013xzWCj43ynxb5TP8Lq5R1e
kblack0610 deleted branch feat/game-picker 2026-10-26 17:59:54 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kblack0610/bnb-game-servers!10
No description provided.