1.9 KiB
Installers
Current State
Installer behavior is split across game XML, gamemanager startup, addonsmanager, SteamCMD helpers, and agent scripts.
Important references:
Panel/modules/config_games/schema_server_config.xmlPanel/modules/gamemanager/home_handling_functions.phpPanel/modules/addonsmanager/module.phpPanel/modules/steam_workshop/module.phpAgent_Linux/ogp_agent.plAgent-Windows/OGP64/OGP/ogp_agent.pl
Installer Types Seen In The Codebase
- SteamCMD-based installs
- download/extract installs
- script-driven installs
- Workshop/content installs
- profile/content copy workflows
Recommended Model
Installer strategy should come from game capability metadata. The agent should execute trusted strategies, not arbitrary customer commands.
Windows Agent Install Notes
The Windows agent is Cygwin-based under Agent-Windows/OGP64.
Common installed layout:
- Cygwin root:
C:\OGP64 - Bash:
C:\OGP64\bin\bash.exe - Agent root:
C:\OGP64\OGP - Maintained launcher:
C:\OGP64\agent_start.bat - Stop launcher:
C:\OGP64\agent_stop.bat
The launcher checks %~dp0bin\bash.exe, C:\OGP64\bin\bash.exe, C:\cygwin64\bin\bash.exe, and C:\cygwin\bin\bash.exe. Missing-bash errors should print every checked path and pause in manual use.
Generated config files under /OGP/Cfg are production state. Installer/startup may create them from .default templates if missing, but update logic must preserve them. Restart-time auto-update may replace only /OGP/ogp_agent.pl; it must not overwrite Cfg/Config.pm, Cfg/Preferences.pm, Cfg/bash_prefs.cfg, service settings, passwords, server data, or logs.
When the Windows agent starts, C:\OGP64\agent_start.bat should be launched from the Cygwin root itself. It verifies the gameserver account, normalizes text files, validates OGP\ogp_agent.pl, and then launches the agent in the same console window. It should not call an installer wrapper from the start script.