feat: auto-start listed lobbies after 5 minutes

Hosts can't sit on a public listing: setListed(true) records listedAt,
and once listedAt + HOSTED_LOBBY_AUTO_START_MS passes, GameManager's
tick arms the normal start countdown (same path as the host's Start
button, honoring startDelay). Cancelling the countdown re-arms on the
next tick; unlisting cancels the deadline and relisting starts a fresh
one. Duplicate setListed(true) calls don't extend it.

The deadline rides to the host as autoStartAt in lobby info, rendered
as an amber countdown next to the Public/Private switch in the host
modal header (hidden once the real start countdown takes over).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
evanpelle
2026-07-06 09:11:13 -07:00
co-authored by Claude Fable 5
parent 5d21be826d
commit 2a82b01e30
6 changed files with 143 additions and 3 deletions
+1
View File
@@ -753,6 +753,7 @@
"host_modal": {
"anonymous_players": "Anonymous players",
"assigned_teams": "Assigned Teams",
"auto_start_timer": "Time until the game starts automatically",
"bots": "Tribes: ",
"bots_disabled": "Disabled",
"compact_map": "Compact Map",