Add host cheats for streamers (Specifically Enzo) (#3671)

## Description:

- Adds a "Host Cheats" toggle in the private lobby options section that
reveals a dedicated section with four host-only cheats: infinite gold,
infinite troops, gold multiplier, and starting gold
- Only the lobby creator receives the cheat effects in-game (checked via
`isLobbyCreator` in DefaultConfig)
- Joining players see active host cheats displayed as yellow badges in
the lobby UI
- Adds `hostCheats` optional object to `GameConfigSchema` and wires it
through the server config update whitelist
- Raises the intent size limit for `update_game_config` messages
(lobby-only, not stored in turn history) to prevent rate-limiter kicks
(I always got too-much-data-kicked after selecting "host cheats" lol)

<img width="861" height="525" alt="image"
src="https://github.com/user-attachments/assets/51e51ec4-c2e8-46ca-b258-11a93487964f"
/>


<img width="933" height="825" alt="image"
src="https://github.com/user-attachments/assets/5acbd38d-2097-42e1-ba78-0fb17d6afe82"
/>

## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [X] I have added relevant tests to the test directory
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

FloPinguin
This commit is contained in:
FloPinguin
2026-04-15 15:20:08 -07:00
committed by GitHub
parent f32994fbc7
commit 9821e8e041
13 changed files with 388 additions and 30 deletions
+5 -3
View File
@@ -205,7 +205,7 @@
"max_timer": "Game length (minutes)",
"max_timer_placeholder": "Mins",
"max_timer_invalid": "Please enter a valid max timer value (1-120 minutes)",
"enables_title": "Enable Settings",
"enables_title": "Disable Units",
"start": "Start Game",
"options_changed_no_achievements": "Custom settings achievements disabled",
"gold_multiplier": "Gold multiplier",
@@ -386,7 +386,8 @@
"disabled_units": "Disabled Units",
"game_length": "Game length",
"pvp_immunity": "PVP immunity duration",
"starting_gold": "Starting Gold"
"starting_gold": "Starting Gold",
"host_cheats": "Host Cheats"
},
"public_lobby": {
"title": "Waiting for Game Start...",
@@ -440,7 +441,7 @@
"compact_map": "Compact Map",
"disable_alliances": "Disable alliances",
"water_nukes": "Water nukes",
"enables_title": "Enable Settings",
"enables_title": "Disable Units",
"player": "Player",
"players": "Players",
"nation_players": "Nations",
@@ -463,6 +464,7 @@
"gold_multiplier_placeholder": "2.0x",
"starting_gold": "Starting Gold (Millions)",
"starting_gold_placeholder": "5",
"host_cheats": "Host Cheats",
"leave_confirmation": "Are you sure you want to leave the lobby?"
},
"team_colors": {