# Server Content Manager Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md) ## Current State `Panel/modules/addonsmanager` is the current home of GSP's Server Content / Add-ons work. The module title has already been moved toward `Server Content Manager`, but the schema and some folder names remain backward-compatible. Important files: - `Panel/modules/addonsmanager/module.php` - `Panel/modules/addonsmanager/addons_manager.php` - `Panel/modules/addonsmanager/user_addons.php` - `Panel/modules/addonsmanager/server_content_helpers.php` - `Panel/modules/addonsmanager/server_content_categories.php` ## Database Tables Known tables used by the module: - `addons` - `server_content_workshop` - `server_content_workshop_catalog` - `server_content_manifest` - `server_content_install_history` ## What It Already Does The module can already represent several content types, including: - downloads/extracted packages - post-script driven installs - config packs - server-side applications with lifecycle hooks - future profile-type content Steam Workshop is no longer a user-facing Server Content category. Workshop access belongs to the dedicated `steam_workshop` module. ## Server-Side Applications `Server-side Application` content writes an agent-readable hook manifest under the target game home: ```text _gsp_content/hooks/.json ``` The agents generate runtime watchdog scripts in `_gsp_content/generated/` and track side-application PIDs in `_gsp_content/runtime/server_content.pids`. Use this type for companion applications such as BEC, Big Brother Bot, Discord bridges, RCON tools, and log watchers. The application files themselves may still be installed wherever the game requires them. Detailed lifecycle documentation: - `docs/features/SERVER_CONTENT_APPLICATION_HOOKS.md` ## Current Limitations - Cache and cleanup policy need a clearer product design. ## Where To Start Reading 1. `Panel/modules/addonsmanager/module.php` 2. `Panel/modules/addonsmanager/addons_manager.php` 3. `Panel/modules/addonsmanager/user_addons.php` 4. `Panel/modules/addonsmanager/server_content_categories.php` ## Important Concept This module is the right place for: - mods - add-ons - config packs - script-driven installs - server-side companion application hooks - server content manifests - install history ## Validation Relevant smoke tests: ```bash php Panel/modules/addonsmanager/tests/workshop_helpers_test.php php Panel/modules/config_games/tests/validate_server_configs.php ``` `validate_server_configs.php` validates every XML file under `Panel/modules/config_games/server_configs/` against `schema_server_config.xml`.