Quick Start: Rotating Lobbies (8 minutes)¶
Quick Start: Run your first match.
One queue, three game modes: players join a single propagating lobby, and every match start rolls one of three dummy lobbies to play.
- You need one lobby with players queued (lobby 0 works), plus the
bundled
infectionandvip-escortmodifiers and thechaos-modepreset. None of the four lobbies below needs a teleport or bounds. - Each dummy carries one minigame's overrides; the parent's own overrides stay ignored while propagation is armed.
- Matches read the picked child first and fall back to the shared config, and live matches keep their pick through toggles and reloads.
Arming takes two things: children listed and the explicit bool on. Either one alone changes nothing.
0. The idea (1 minute)¶
Lobby 0 is the queue. Lobbies 1 to 3 never hold players; they only carry overrides:
- lobby 1: infection (
infection) - lobby 2: VIP escort (
vip-escort) - lobby 3: chaos mode (
chaos-modepreset)
Link them once with
/manhunt worldengine lobbyconfig setpropagation 0 true 1 2 3,
and each /manhunt start 0 rolls one child at random. The
console logs the pick, and /manhunt status tags the match
L0~L2 when it runs lobby 2's overrides.
1. Infection dummy (lobby 1, 1 minute)¶
Check it with /manhunt override 1 modifiers get infection:
the layer reads (override).
2. VIP escort dummy (lobby 2, 1 minute)¶
Same check: /manhunt override 2 modifiers get vip-escort.
3. Chaos mode dummy (lobby 3, 2 minutes)¶
One preset id switches its whole member list for this lobby
only (infection, random-item-giver, gear-dice):
Confirm all three landed:
(Yes, chaos includes infection: it plays as infection plus random items and gear dice.)
4. Link and arm (lobby 0, 1 minute)¶
Expect the success line echoing true with children 1, 2, 3.
A child with no overrides yet earns a warning line (matches
rolling it read the shared config), which you can ignore here:
all three children above are armed. Run it again with false
to disarm; a bool-only run keeps the stored children.
5. Start and verify (1 minute)¶
The console logs which child the match rolled
(Match 7 starting from lobby 0 reads overrides from lobby 2.),
and /manhunt status shows the rotation tag (L0~L2). Start a
few matches to watch the pick rotate.
6. Hot reload check (1 minute)¶
Toggles stay live: enabling a mod globally or on the picked
child mid-match resyncs the running match, and toggling a
sibling child leaves it alone. /manhunt reload is safe too:
live matches keep their picked child, new matches roll fresh.
Rules that bite¶
- One level only: a lobby that propagates itself cannot be a child (the command refuses it, hand-edited files skip it), and a lobby cannot list itself.
- No usable children at start (all deleted, self, or propagating) falls back to the lobby's own overrides with a warning, never a blocked match. Enabled with no children listed warns the same way.
- The parent still runs the queue: autostart countdowns, join flow, teleports, match returns, and cells all read the parent. Only match-scoped reads (modifiers, values, match settings, cosmetics mode) follow the child.
- Dummy lobbies need no teleport or bounds, but the toolbar
switcher only lists lobbies with a teleport: queue for the
parent with
/manhunt lobby join <selector> <lobby-id>instead (joining a teleport-less lobby skips the teleport with a note). - Deleting a child entry leaves a stale id in the parent's
list; the start roll skips it with a warning. Re-run
setpropagationto tidy the list. - Disarming mid-match affects new matches only; running matches keep the child they rolled.