2.6 KiB
GSP Windows Agent Panel Integration
Workspace reference: GSP-WORKSPACE.md
The Panel is authoritative. The Windows agent executes the work the Panel requests.
Integration points
- shared key and RPC configuration live in
GSP64/GSP/Cfg/Config.pm - startup preferences live in
GSP64/GSP/Cfg/bash_prefs.cfg - the Panel talks to the same command surface as the Linux agent wherever practical
- game server readiness is reported through the existing
server_statusRPC, extended with expected/listening/missing port details
Compatibility rule
The Windows agent should mirror the Linux agent behaviorally as much as possible so the Panel can treat both platforms as one product family.
Legacy Workshop RPC
The dedicated Panel steam_workshop module still uses the legacy steam_workshop XML-RPC call.
Current compatibility rule:
- if the Panel sends a blank
config_file_path, the Windows agent runs post-install logic only - the generated script must skip all
cat/ regex / config-write logic in that case WorkshopModsInfois still written so the Panel can list/uninstall installed items even when no game config file is edited- new installs write per-home records under
WorkshopModsInfo/home_<home_id>/ - each record stores mod string, Workshop item ID, title, installed folder/path, Workshop App ID, install status, and timestamps
- the generated job writes
<game_home>/WorkshopInstallStatus.jsonasrunning,completed, orfailed - the generated job prints
GSP_WORKSHOP_INSTALL_COMPLETEorGSP_WORKSHOP_INSTALL_FAILEDso the Panel can avoid staleUpdate in progressdisplays if the generic update screen lingers
Status validation
The Panel remains the source of truth for assigned ports. The Windows agent validates only the ports supplied by the Panel for a specific server.
Detailed design:
Server Content Runtime
Windows now mirrors the Linux server-content runtime layout for server-owned sidecars, bots, hooks, and generated content helpers:
_gsp_content/hooks/_gsp_content/generated/_gsp_content/runtime/_gsp_content/runtime/server_content.pids
Stop and restart clean this runtime before main game process escalation. The main server PID remains tracked through runtime_status/pid-<home_id>.kv; server_content.pids must only contain server-content watchdog/app PIDs.
Legacy _alsoRun.bat support remains compatibility-only. When _alsoRun.pid is present, the Windows agent imports those PIDs into the server-content cleanup path so Panel Start/Stop/Restart does not leave legacy helper processes behind.