Repository navigation
feat(dayz): adopt the battleye RCon protocol - #29
Merged
Merged
Conversation
Gameplane's agent now speaks BattlEye RCon, so DayZ goes from having no console at all to a working console, a players list and moderation. ServerZ only writes a beserver_x64.cfg when one of BE_IP/BE_PORT/ BE_PASSWORD is set, so all three are: the operator injects the generated password into BE_PASSWORD (written out as RConPassword), and BE_IP pins the listener to loopback — the agent sidecar shares the pod's network namespace and reaches it there, while an RCon port that isn't on a public interface can't be brute-forced from the internet. players parses BattlEye's table, skipping its header and the '(N players in total)' footer. kick/ban are deliberately left unset: BattlEye moderates by player number rather than name, so wiring them to the name the list returns would silently target the wrong player. No lifecycle.stop — DayZ persists continuously rather than on a save command, so a SIGTERM isn't the data-loss risk it is for Minecraft, and shipping a stop sequence that doesn't reliably work would be a lie. Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com>
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.
Gameplane's agent now implements BattlEye RCon (ValgulNecron/Gameplane#143), so DayZ goes from no console at all to a working console, players list and moderation.
rcon.protocol: battleye, port 2305, password fromBE_PASSWORD.beserver_x64.cfgif one ofBE_IP/BE_PORT/BE_PASSWORDis set, so all three are set.BE_IPpins the listener to loopback — the agent sidecar shares the pod's network namespace and reaches it there, and an RCon port that isn't on a public interface can't be brute-forced from the internet.playersparses BattlEye's table format, skipping its header, separator and(N players in total)footer (verified against a sample reply).lifecycle.stop: DayZ persists continuously rather than on a save command, so a SIGTERM isn't the data-loss risk it is for Minecraft or Valheim. Shipping a stop sequence that doesn't reliably work across builds would be a lie.Also teaches
validate.pythebattleyeprotocol — its allowlist is what stops a module shipping a console that can never connect, so it correctly rejected this until the agent implemented it.🤖 Generated with Claude Code