Add unlimited scrolling server chests (0.1.86) - #116
Conversation
|
No blocking issues found. The implementation correctly handles all the key behavioral surfaces: Delivery path ( Save/load format boundary ( Container.Load patch ( Container.Save patch: After calling Withdrawal path: Withdrawals fire Exception re-throw in Minor observation (not blocking): |
|
Now I have a complete picture. Let me write the review. Blocking issues found. Behavior Bug:
|
|
No blocking issues found. ServerChest.cs — ServerChestStorage.cs — format detection ServerChestStorage.cs — chunk validation ServerChestStorage.cs — grid position reassignment ServerChestStorage.cs — ServerChestService.cs — partial-delivery safety ServerChestService.cs — ServerChestContainerLoadPatch — DataRevision-unchanged early exit ServerChestContainerLoadPatch — exception propagation on corrupt data Ordinary containers |
Server Chests currently reject deliveries beyond 64 stacks. This change removes that cap, adds rows as deliveries arrive, and uses the native inventory scrollbar. Version increases from 0.1.85 to 0.1.86.
The server chest keeps normal item stack limits and withdrawal-only player access. Deliveries refresh while the chest is open. Saves above 2,048 stacks use grouped native inventories to avoid the game's byte-sized row coordinates; smaller and existing saves retain the native format. Failed grouped reads do not replace live contents. Send and status commands return a failure response when chest contents cannot load; failed deliveries do not change ownership or save data. Ordinary containers keep their existing save/load behavior.
Feature validation completed before the command error-handling follow-up on Valdev and Valnet client 01 using the deployed Season 8 release 8.0.29 profile:
Install matching versions on server and clients. Older versions cannot read saves above 2,048 stacks. Memory, rendering, save size, and network traffic still limit practical capacity; a 1,985-item delivery took about 34 seconds in this environment.
Production was not changed.
Command error-handling follow-up validated live on Valdev with the deployed Season 8 release 8.0.30 on 2026-09-30. Before installing the candidate, all 48 plugin/patcher DLL hashes matched production. Normal RCON
serverchest_statusandserverchest_sendcommands returned clear failure messages for both truncated native and grouped saves. After each failed command, the fixture's stored bytes, ownership, and data revision were unchanged. A valid delivery of 10 Wood then succeeded and status reported the correct count. The temporary chest was removed. The server logged the four expected load warnings, with no unhandled command exceptions. Startup graphics warnings and Expand World Data configuration-generation warnings remained. Release build passed with zero errors and 84 existing warnings. No test or documentation files are included in this PR.After validation, all 866 original profile files were restored and hash-verified. The temporary helper was removed. The restored server loaded PraetorisClient 0.1.82 and answered a player-count query, then was returned to its original stopped state.