Repository navigation
feat(fizruk): per-game status details, starting with Factorio research - #516
Merged
Merged
Conversation
Games can list extra /status facts in config (details: [{ type: ... }]);
each type has its own fetcher in StatusDetails. factorio-research reads the
current technology and its progress over the game's RCON endpoint with a
silent command. The RCON client now runs any command, not just
/players online.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Szer
added a commit
that referenced
this pull request
Sep 25, 2026
They are local working notes swept into #516 by a blanket git add; the files stay on disk, untracked. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.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.
Adds an optional per-game
detailslist to the Fizruk config. Each entry is a typed status detail with its own fetcher; its line goes into/statusafter the players line, only while the game pod is Ready. Other games get their own detail types later without touching the core.First type,
factorio-research:game.forces.player.current_researchandresearch_progressover the RCON endpoint already declared in the game'splayersblock; config validation rejects the type for a game without RCON./sc(silent-command), so players' in-game consoles don't echo it on every /status.nonewhen idle), so empty output means "refused" and is retried once.Rcon.runCommand/execAsyncrun any command; the players probe is unchanged on top of them. The password lookup moved toRcon.passwordForso both callers share it.Verified: 108 unit tests pass (new: config parsing, name humanizing, parse/format, RCON command round-trip). The exact compiled command string was run against a local
factoriotools/factorio:2.1.20container: first call empty, retrynone, thenmining-productivity-3\t4\t0.3745while researching.Needs a one-line my-infra config change (
"details": [{ "type": "factorio-research" }]on the factorio game) after deploy; unknown fields are ignored by the current build, so order doesn't matter.🤖 Generated with Claude Code