Repository navigation
Conversation
Signed-off-by: Baylem <zelathis@gmail.com>
Pre-merge checks:
|
Signed-off-by: Baylem <zelathis@gmail.com>
This was referenced Nov 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Continued in upstream PR #899 at the same signed commit. Review and merge #899 for #871.
The consistency classifier and engine restore qualification remain in #870. The ARK Ascended and Project Zomboid metadata downgrade is in GameplanePanel/module#59.
Backup protocol
The operator preflights the pod-bound v2 endpoint before creating new cleanup debt. Each command sequence holds exclusive use of the agent’s RCON transport through completion or rollback. The supported Minecraft Java sequence requires the engine’s positive English reply to each command, including an already-on or already-off reply on retry. Unknown sequences return unsupported before issuing any command. Legacy agent endpoints remain available to existing callers.
The client checks the size, JSON and presence of a boolean plus its matching paused or resumed outcome. An unsupported resume, an empty reply or a contradictory state retains cleanup. The Backup and surviving GameServer owner pin the original game container. Recovery checks its identity around the resume RPC, distinguishes retirement from successful save-on, and waits for ambiguous kubelet state. An unsupported retry cannot erase an earlier pending pause.
Verification
Linux builds of the agent and operator passed locally. The changed unit packages and tagged E2E package compiled without running tests, and the staged diff passed the whitespace check. CI fixtures cover RCON rejection, rollback and serialization, canceled requests, duplicate acknowledgments, contradictory replies, operator restart and same-Pod container replacement.
The Minecraft 1.21.4 game-bot fixture creates a live Backup, waits for acknowledged save-on, writes a new command-storage marker and reads it back from disk after autonomous game ticks. No manual save or shutdown is issued after that marker. Live execution is pending CI.