woekshop phase 1
This commit is contained in:
parent
17a31b7f5f
commit
5a03946bdf
15 changed files with 409 additions and 357 deletions
53
docs/modules/CONFIG_GAMES.md
Normal file
53
docs/modules/CONFIG_GAMES.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# Config Games
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
This file is the prompt-facing entry point for the Config Games module. The historical lower-case document remains at [`config_games.md`](config_games.md).
|
||||
|
||||
## Purpose
|
||||
|
||||
Config Games owns game XML definitions, XML schema validation, startup parameter templates, mod definitions, port metadata, and game capability declarations used by Panel modules.
|
||||
|
||||
## Workshop XML Source Of Truth
|
||||
|
||||
Steam Workshop support is configured by game XML, not Server Content admin rows.
|
||||
|
||||
Canonical structure:
|
||||
|
||||
```xml
|
||||
<workshop_support>
|
||||
<enabled>1</enabled>
|
||||
<provider>steam</provider>
|
||||
<steam_app_id>107410</steam_app_id>
|
||||
<workshop_app_id>107410</workshop_app_id>
|
||||
<download_method>steamcmd</download_method>
|
||||
<install_strategy>arma_mod_folder</install_strategy>
|
||||
<install_path>{SERVER_ROOT}/{MOD_FOLDER}</install_path>
|
||||
<startup_param_format>-mod={MOD_LIST}</startup_param_format>
|
||||
<mod_separator>;</mod_separator>
|
||||
<mod_prefix>@</mod_prefix>
|
||||
<copy_keys enabled="1">
|
||||
<source_pattern>{MOD_PATH}/keys/*.bikey</source_pattern>
|
||||
<target_path>{SERVER_ROOT}/keys</target_path>
|
||||
</copy_keys>
|
||||
<post_install_action></post_install_action>
|
||||
</workshop_support>
|
||||
```
|
||||
|
||||
Rules:
|
||||
|
||||
- `workshop_support` belongs after `game_name` and before `server_exec_name`.
|
||||
- `workshop_app_id` is required for customer Workshop installs.
|
||||
- `install_path` defaults to `{SERVER_ROOT}/workshop/{MOD_FOLDER}` unless the install strategy is Arma/DayZ-style, where `{SERVER_ROOT}/{MOD_FOLDER}` is used.
|
||||
- `post_install_action` is an admin-owned action/template identifier, not customer shell input.
|
||||
- Static Workshop script paths are not part of the XML contract.
|
||||
- Server Content Manager generates per-job scripts and calls generic agent execution.
|
||||
|
||||
## Validation
|
||||
|
||||
Validate all game XML definitions with:
|
||||
|
||||
```bash
|
||||
php Panel/modules/config_games/tests/validate_server_configs.php
|
||||
```
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue