-
Notifications
You must be signed in to change notification settings - Fork 6
Content-fallback logging & server-message localization #427
Copy link
Copy link
Open
Labels
area: serverGameServer / Networking / WorldHost / Api / PersistenceGameServer / Networking / WorldHost / Api / PersistenceauditSurfaced by the static bug-hunt audit (bugreports/bughunt.md)Surfaced by the static bug-hunt audit (bugreports/bughunt.md)bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededpriority: lowCosmetic / latent / dormant hardeningCosmetic / latent / dormant hardening
Description
Metadata
Metadata
Assignees
Labels
area: serverGameServer / Networking / WorldHost / Api / PersistenceGameServer / Networking / WorldHost / Api / PersistenceauditSurfaced by the static bug-hunt audit (bugreports/bughunt.md)Surfaced by the static bug-hunt audit (bugreports/bughunt.md)bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededpriority: lowCosmetic / latent / dormant hardeningCosmetic / latent / dormant hardening
Two server-side content/localization gaps. The load-time content validator is strict and fails the server on any dangling reference — but two runtime paths silently paper over bad ids, and a large set of player-facing server messages bypasses the locale system entirely.
iron_wall(GameServerSpaceStructure.cs:193,?? wall), and a board-mission template with a missing item silently reverts totemplate[0](GameServerMissions.cs:466). Every current id resolves, so nothing is broken today — but a future data typo would ship invisibly instead of surfacing at load. Fix: log a warning (or fail validation) on the fallback path so missing ids become visible.Localize(session.Locale, key)— but ~182 operational messages are hardcoded English literals, e.g.Reject(session, "ctx", "Not enough materials to repair the ship.")andnew ServerMessage { Text = "Alliance request declined." }. Spread over 27GameServer/*.csfiles; worst offenders:GameServer.cs(52),GameServerSpaceStructure.cs(20),GameServerSpeeders.cs(16),GameServerWrecks.cs(10). German players see English text for all of these. Fix: move the strings behindLocalize(session.Locale, key)with keys added toen.json/de.json. Coordinate with 🌍 Localization: fill in missing or awkward translation keys #98.Found in a static code audit of the server (internal finding IDs S19, S20).