Panel/docs/modules/SERVER_CONTENT_MANAGER.md

2.6 KiB

Server Content Manager

Workspace reference: 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:

_gsp_content/hooks/<app>.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:

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.