ModernUO/Projects
Kamron Batman 35e3a31b4c
fix(feature-flags): define stock flag defaults in code so JSONs exist on first boot (#2653)
### Summary

`default-flags.json` was never shipped — `Configuration/` is gitignored — so the predefined-flag loader has been dead since #2328. A fresh shard boots with 0 flags and writes no JSON until an admin changes something, so `[FeatureList` is empty on first run.

Stock flags are now defined in code. `Initialize()` runs `Load()` first, then `LoadDefaultFlags()` seeds any of the 14 stock keys the save is missing, reading each default from the static it syncs (`ServerFeatureFlags` / `ContentFeatureFlags`) rather than a duplicated boolean — so `speedhack_detection` stays off and `insurance` honors `Insurance.Configure` (`insurance.enable`). Existing entries are never overwritten, so admin state survives upgrades and saves predating a flag pick it up. `Save()` runs only when something was seeded, so all five JSON files exist from first boot.

Verified: `dotnet build Projects/UOContent/UOContent.csproj -c Release`, 0 warnings 0 errors.
2026-09-16 00:42:12 -07:00
..
Application fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
BuildTool feat: Bumps dependencies. Introduces Serialization Generator v3 (#2584) 2026-08-22 15:48:53 -07:00
Logger fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
Server feat(network): grow the send buffer on demand instead of disconnecting (#2639) 2026-09-12 16:35:06 -07:00
Server.Tests feat(network): grow the send buffer on demand instead of disconnecting (#2639) 2026-09-12 16:35:06 -07:00
UOContent fix(feature-flags): define stock flag defaults in code so JSONs exist on first boot (#2653) 2026-09-16 00:42:12 -07:00
UOContent.Tests fix(ai): wild creatures no longer stand down when attacked (#2645) 2026-09-14 23:18:11 -07:00