Panel/docs/modules/config_games.md
2026-06-08 16:09:54 -05:00

99 lines
2.1 KiB
Markdown

# Config Games
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
## Purpose
Game XML definitions, CLI parameter generation, mod definitions, and custom field mapping.
## Current Status
- Production
- Functional
## Dependencies
- XML schema
- XML parser
- gamemanager
- user_games
- file/config editing tools
## Database Tables
- `config_homes`
- `config_mods`
## Agent Interaction
- drives startup command construction
- influences query and control protocol handling
## User Workflow
- select a game definition
- configure startup parameters
- view/edit common CLI values
- work with custom fields
## Admin Workflow
- create/update XML game configs
- define mods, CLI params, ports, and custom fields
- validate XML structure
## Security Concerns
- parameter injection
- shell escaping
- path validation
## Known Issues
- schema is powerful but broad
- some capabilities are encoded implicitly instead of declaratively
## Missing Functionality
- first-class scheduler capability declarations
- richer docs metadata
## Workshop Capability Declarations
The XML schema now supports a first-class `workshop_support` block for Steam Workshop / Server Content Manager metadata. This is the only canonical XML format for Workshop-enabled game configs.
Key fields:
- `enabled`
- `provider`
- `steam_app_id`
- `workshop_app_id`
- `download_method`
- `install_strategy`
- `install_path`
- `startup_param_format`
- `mod_separator`
- `mod_prefix`
- `copy_keys`
Validate changes with:
```bash
php Panel/modules/config_games/tests/validate_server_configs.php
```
Important rules:
- Place `workshop_support` after `game_name` and before `server_exec_name`.
- Do not add loose top-level tags such as `workshop_app_id`; helper code may tolerate them for old configs, but schema-valid XML should use the canonical block.
- XML declares capability only. Server Content Manager owns the Panel-side install orchestration and uses agents only for generic file/command execution.
## Suggested Future Improvements
- extend XML capability model
- document supported variables and examples more clearly
- tie docs generation into XML
## Recommendation
- Keep / Improve