Skip to content

feat: rich quick-action sets for six games - #31

Merged
ValgulNecron merged 3 commits into
mainfrom
feat/quick-action-content
Jul 16, 2026
Merged

ValgulNecron merged 3 commits into
mainfrom
feat/quick-action-content

Conversation

@ValgulNecron

Copy link
Copy Markdown
Collaborator

Phase 4 of the console-protocols spec — the quick-action content, batch 1.

Every command string is verified against the game's own documentation (minecraft.wiki, terraria.wiki.gg, pzwiki.net, Valve's CS2 command list, Stunlock's own server instructions, ARK admin docs). Nothing guessed — where a command couldn't be verified, it isn't here.

Game What's new
minecraft-java set-difficulty; announce-restart as a sequence (warn → save-all flush → stop); save now flushes. Removes whitelist-add/whitelist-remove — the Players tab already owns whitelist, and the action spec forbids two UIs for one operation.
terraria Its first actions ever, over the new stdin transport — broadcast, save, set-time, settle water, MOTD.
project-zomboid reload-config + the world-event triggers the game is loved for: chopper, gunshot, alarm.
cs2 restart-round, change-map (danger), exec config, warmup-start.
v-rising announcerestart (Stunlock's own — auto-localised per player) and cancelshutdown.
ark-survival-ascended SetTimeOfDay, DestroyWildDinos (danger). No cheat prefix — over RCON the session is already admin.

All actions carry group: World|Server for the new sectioned card.

Two details worth noting:

  • Terraria's set-time template is just {{.Params.time}} — its time commands are bare words (dawn/noon/dusk/midnight), each its own console command, so the enum param is the command. Terraria has no weather command, noted in the template.
  • Terraria's actions are fire-and-forget (stdin): output appears in the Console tab, and the dashboard shows "sent" — exactly what Phase 3 built.

🤖 Generated with Claude Code

Every command here is verified against the game's own docs (minecraft.wiki,
terraria.wiki.gg, pzwiki.net, Valve's CS2 command list, Stunlock's own
server instructions, ARK admin docs) — no guessed commands.

- minecraft-java: adds set-difficulty and an announce-restart SEQUENCE
  (warn -> save-all flush -> stop). Save now flushes. REMOVES whitelist-add
  and whitelist-remove: the Players tab already owns whitelist, and two UIs
  for one operation is what the action spec forbids.
- terraria: its FIRST actions, over the new stdin transport — broadcast,
  save, set-time, settle water, MOTD. Terraria's time commands are bare
  words, so set-time's template is just the param. No set-weather: Terraria
  has no weather command.
- project-zomboid: reload-config plus the world-event triggers the game is
  loved for — chopper, gunshot, alarm.
- cs2: restart-round, change-map, exec config, warmup.
- v-rising: announcerestart (Stunlock's own, auto-localised per player) and
  cancelshutdown.
- ark: SetTimeOfDay and DestroyWildDinos. No 'cheat' prefix — over RCON the
  session is already admin.

All actions are grouped World/Server for the new sectioned card.

Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com>
…games

Palworld's RCON is officially deprecated upstream ('scheduled to stop
functioning in an upcoming update'), so it moves to the REST admin API
(protocol: palworld, port 8212). The image already exposes REST_API_ENABLED
and REST_API_PORT, and the REST API authenticates against the same
AdminPassword RCON used — so the operator's generated password lands via
the existing ADMIN_PASSWORD, unchanged. The migration is a net gain: it
brings a real players list, and an announce that keeps its spaces (the
deprecated RCON's Broadcast truncated at the first space).

Palworld kick/ban are deliberately NOT offered: the REST API moderates by
userId while the players list yields display names, and the agent carries
one value to both — a button would risk targeting the wrong account. Same
reasoning as DayZ.

First actions for rust (broadcast/save/set-time over webrcon) and
dont-starve-together (Lua c_* over the stdin transport, incl. a danger
rollback). factorio gets save only and satisfactory save-game only — both
consoles are genuinely that sparse, and saying so beats inventing buttons.

Records why five games get none: valheim (no stdin input at all), dayz (BE
too restricted to verify), 7dtd + garrys-mod (images can't wire a console
password), enshrouded (no remote console).

Also fixes three user-facing descriptions that had gone stale as the
protocols landed — rust, dayz and satisfactory each still told the user
their console was unsupported.

Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com>
Its 'No console, no RCON' section claimed the agent has no BattlEye client
and that rcon.protocol is none — both untrue since the battleye protocol
landed. The file was written before that and had never been committed, so
it slipped through. Now describes the real setup: battleye on UDP 2305 via
ServerZ's BE_* env, loopback-pinned, and why kick/ban and quick actions are
deliberately absent.

Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com>
@ValgulNecron
ValgulNecron merged commit 1d153c2 into main Jul 16, 2026
1 check passed
@ValgulNecron
ValgulNecron deleted the feat/quick-action-content branch July 16, 2026 19:03
ValgulNecron added a commit that referenced this pull request Jul 19, 2026
The 'fix version' commits (1adc510, 7b4e7c0) were branched from PR #31
(1d153c2) and force-pushed over main, silently dropping the already-merged
PR #32 (per-game CurseForge/Steam ids: ARK curseforgeGameID 83374, CS2
Workshop browse) and PR #33 (module YAML .schema/ + editor modelines).
The published registry still served ark:1.0.8 / cs2:1.1.0 from that lost
state, but with the pre-bump gameplaneMinVersion: 0.2.0, so a v0.2.0-beta.7
operator rejected them (0.2.0-beta.7 < 0.2.0 by semver).

Merge c093ea2 (the PR #33 tip) back in to restore that work. The 3-way
merge keeps main's 0.2.0 -> 0.2.0-beta.7 gameplaneMinVersion bump (incl.
the minecraft-java correction) on the min-version lines and takes c093ea2's
content everywhere else: ark 1.0.8 + CurseForge id, cs2 1.1.0 + Workshop,
.schema/ + modelines. Republishing from here overwrites the orphan
ark:1.0.8 / cs2:1.1.0 tags with the correct min-version.

Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant