Repository navigation
feat(satisfactory): adopt the satisfactory HTTPS console protocol - #30
Merged
Merged
Conversation
Gameplane's agent now speaks Satisfactory's HTTPS function API, so the game gets a Console tab and quick actions where before it had neither. One honest caveat, documented in the template header: Satisfactory's admin password is not a server-config value the operator can inject — it only exists after a human claims the server in-game, and the wolveix image exposes no env var or file to preseed it. So this uses rcon.passwordFile: the admin claims the server once, then writes the password they set into /config/gameplane/rcon-admin-password (exact kubectl exec in the header). The agent reads it on each connection. Until that file exists, the Console reports an auth failure — expected, not a bug. No capabilities.players: the API exposes a player count but no way to list names or IDs, so a players tab couldn't populate and moderation couldn't target anyone. Left unset rather than shipping something broken. Also teaches validate.py the satisfactory protocol. 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 speaks Satisfactory's HTTPS function API (ValgulNecron/Gameplane#144), so the game gets a Console tab and quick actions where it had neither.
One honest caveat, documented in the template header. Unlike every other game here, Satisfactory's admin password is not a server-config value the operator can inject — it only exists after a human claims the server in-game, and the
wolveix/satisfactory-serverimage exposes no env var or file to preseed it (verified: its full env table has no admin-password knob). So this usesrcon.passwordFile:/config/gameplane/rcon-admin-password(exactkubectl execis in the template header).The agent reads that file on each connection and logs in. Until it exists, the Console reports an auth failure — expected, not a bug, and stated as such in the header.
No
capabilities.players: the API exposes a player count (QueryServerState) but no way to enumerate names or IDs, so a players tab couldn't populate and moderation couldn't target anyone. Left unset rather than shipping something that can't work — same principle as DayZ's kick/ban.Also teaches
validate.pythesatisfactoryprotocol (its allowlist is what stops a module shipping a console that can't connect).🤖 Generated with Claude Code