diff options
Diffstat (limited to 'building_guide/rooms.md')
| -rw-r--r-- | building_guide/rooms.md | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/building_guide/rooms.md b/building_guide/rooms.md index 4da4284..4eaa843 100644 --- a/building_guide/rooms.md +++ b/building_guide/rooms.md @@ -322,6 +322,29 @@ casino_machines: payout: 0.97 ``` +#### Casino configuration validation + +Room create/update requests validate casino definitions before writing; startup +validation reports invalid definitions, and game lookup refuses invalid room +casino configurations. Raw file editing is not a validated save endpoint. + +- IDs must be nonempty, have no surrounding whitespace, and be unique across + the room's tables and machines (including legacy slots table entries). +- Supported table games are `blackjack` and `baccarat`; machines use `slots` + with the optional variant `huff_and_even_more_puff`. +- Omitted/zero numeric values keep their existing defaults. Negative bets, + timers, seat counts, split counts, decks, and payouts are rejected. +- An explicit `max_bet` must be at least `min_bet`; zero still means no cap. +- `decks` is capped at 64 to bound shoe allocation. An explicit `shuffle_at` + must be greater than zero and less than one. +- Payouts and shuffle fractions must be finite (no NaN/infinity). Slots `payout` + is an RTP fraction greater than zero and at most one; zero defaults to 0.97. +- Unknown casino fields are rejected by the room create/update API. + +Existing instantiated games retain their rules until restart; editing a room +does not hot-reconfigure a live table or machine. Use explicit, modest wager +limits: validation does not yet make currency arithmetic overflow-safe. + ### Objects — interactive fixtures Simple placement: |
