Panel/docs/modules/config_games.md

91 lines
1.7 KiB
Markdown

# Config Games
## 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
```
## Suggested Future Improvements
- extend XML capability model
- document supported variables and examples more clearly
- tie docs generation into XML
## Recommendation
- Keep / Improve