55 lines
2.4 KiB
Markdown
55 lines
2.4 KiB
Markdown
# Config Scenarios
|
|
|
|
## 1) ClientSide mode
|
|
- Server: `InformationVerbosityServerSideType=ClientSide`, `InformationVerbosityServer=4`
|
|
- Client: `InformationVerbosity=2`
|
|
- Expected: client uses `2`
|
|
|
|
## 2) ServerRecommended mode (override OFF)
|
|
- Server: `InformationVerbosityServerSideType=ServerRecommended`, `InformationVerbosityServer=4`
|
|
- Client: `InformationVerbosity=1`, `DisableServerRecommended=false`
|
|
- Expected: client uses `4`
|
|
|
|
## 3) ServerRecommended mode (override ON)
|
|
- Same as above, but `DisableServerRecommended=true`
|
|
- Expected: client uses `2`
|
|
|
|
## 4) ServerForced mode
|
|
- Server: `InformationVerbosityServerSideType=ServerForced`, `InformationVerbosityServer=4`
|
|
- Client: `InformationVerbosity=2`, `DisableServerRecommended=true`
|
|
- Expected: client uses `4`
|
|
|
|
## 5) Client-side settings stay client-side
|
|
- Client: set `BeehiveAmbientVolume=0.2`, `DisableServerRecommended=true`
|
|
- Join server with different values
|
|
- Expected: client keeps `0.2` and `true`
|
|
|
|
## 6) MP -> SP check
|
|
- Join server in `ServerForced` with `InformationVerbosityServer=4`
|
|
- Leave, open singleplayer
|
|
- Expected: singleplayer uses local config value
|
|
|
|
## 7) ConfigLib UI check
|
|
- Client-side section has: `InformationVerbosity`, `DisableServerRecommended`, `BeehiveAmbientVolume`
|
|
- Server-side section has: `InformationVerbosityServerSideType` with `ClientSide|ServerRecommended|ServerForced`, and `InformationVerbosityServer`
|
|
|
|
## 8) Client command saves only client-side values to disk
|
|
- Manually edit config file: set `BeehiveRadius=50`, `YieldMultiplier=2.5`
|
|
- Join server (server broadcasts its own values, e.g. `BeehiveRadius=35`, `YieldMultiplier=1.2`)
|
|
- Run `/beehives BeehiveAmbientVolume 0.3`
|
|
- Open config file on disk
|
|
- Expected: `BeehiveAmbientVolume=0.3`, but `BeehiveRadius=50` and `YieldMultiplier=2.5` remain unchanged in the file (not overwritten with the server's in-memory values)
|
|
|
|
## 9) Client command does not overwrite server values received via broadcast
|
|
- Server has `MaxBeePopulation=100000`
|
|
- Client config file has `MaxBeePopulation=50000` (default)
|
|
- Client joins, receives server broadcast (`MaxBeePopulation=100000` in memory)
|
|
- Run `/beehives InformationVerbosity 3`
|
|
- Open config file on disk
|
|
- Expected: `MaxBeePopulation=50000` still in file (not `100000`)
|
|
|
|
## 10) Server command saves and broadcasts
|
|
- Run `/beehives BeehiveRadius 40` on server
|
|
- Expected: server config file has `BeehiveRadius=40`
|
|
- Expected: all connected clients have `BeehiveRadius=40` in memory
|