Repository navigation
Prepare v5.0.0 server compatibility - #18
Draft
valzargaming wants to merge 16 commits into
Draft
valzargaming wants to merge 16 commits into
valzargaming wants to merge 16 commits into
Conversation
This branch has not been deployed
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.
CivilizationBot v5.0.0 release preparation
Status: in development. Do not tag or deploy until the acceptance checklist is complete.
Compatibility contract
All normal GameServer host, kill, restart and map-swap commands must use the configured engine. OpenDream never falls back to DreamDaemon. Server IPC remains compatible with native BYOND: OOC/admin have two fields, direct messages three, bans four, and unbans two. Every record ends in LF; embedded record delimiters/newlines are rejected.
File relays read bounded batches without deleting producer logs. Failed delivery retains the cursor. Offsets currently live in memory: bot restart can replay historical lines. Durable checkpoints and oversized-line handling remain release gates.
An empty verified-role result clears old membership files. Replacement failures reject the operation. Multi-file updates are not a transaction, and the game's polling consumer does not participate in bot file locks; queued IPC is not proof of application.
OpenDream full-bot configuration
Set
enginetoopendream,ipto127.0.0.1,basedirto the controller runtime directory,portto the gameplay port, and a distinct integertopic_port. Addcontrolwith trusted absolutepython,controller,profile, an existingtemporary_directory, and booleanenabled. The profile must match this runtime and both ports. Missing or changed profiles fail closed. Map IDs must belong to its explicit allowlist.The minimal
local-bot.phpentry point remains a separate isolated service, not the full command router. Do not enable official guild integration or reuse production credentials for testing.Required acceptance before release
Verification so far
php tests/local/server-compatibility.php <autoload>exercises production outbound GameServer OOC/admin/DM methods plus five-channel framing, invalid field rejection, empty list replacement, append-log partial lines, delivery failure retry, truncation, bounded batches and overlapping calls. Existingtests/local/opendream.phpandtests/local/controls.phppass locally. These isolated checks do not establish Discord delivery or whole-game acceptance.