redo of steam workshop
This commit is contained in:
parent
e662415f36
commit
e6541370b9
19 changed files with 610 additions and 38 deletions
|
|
@ -26,7 +26,8 @@ Active workflow:
|
|||
3. Open the `Steam Workshop Mods` category.
|
||||
4. Paste one or more Steam Workshop URLs or numeric Workshop IDs.
|
||||
5. Click `Install / Queue`.
|
||||
6. The Panel validates input, stores numeric Workshop IDs, writes a manifest, syncs the install script, executes it through the agent, and shows the result.
|
||||
6. The Panel validates input, stores numeric Workshop IDs, writes a manifest, syncs the install script, executes it through the agent's existing `exec` primitive, and shows the result.
|
||||
7. Installed items can be enabled/disabled, updated, removed, downloaded without immediate install, assigned an update policy, and later used by Scheduler actions.
|
||||
|
||||
Accepted input examples:
|
||||
|
||||
|
|
@ -57,7 +58,7 @@ The admin template defines capability and policy. The customer supplies only Wor
|
|||
- or `{SERVER_HOME}/gsp_server_content/scripts/workshop/generic_steam_workshop_windows_cygwin.sh`
|
||||
6. The agent runs:
|
||||
- `bash <script> <manifest>`
|
||||
7. The script runs SteamCMD, copies downloaded content into the target mod folder, logs output, and copies `.bikey` files for DayZ/Arma-style strategies.
|
||||
7. The script runs SteamCMD, copies downloaded content into the target mod folder when the action requires install, logs output, and copies `.bikey` files for DayZ/Arma-style strategies.
|
||||
|
||||
Current repair:
|
||||
|
||||
|
|
@ -65,6 +66,8 @@ Current repair:
|
|||
- Missing custom scripts fall back to the bundled generic handler and log a warning.
|
||||
- Generic installs default to `{SERVER_ROOT}/workshop/{MOD_FOLDER}`.
|
||||
- DayZ/Arma installs keep `{SERVER_ROOT}/{MOD_FOLDER}` for `@<workshop_id>` compatibility.
|
||||
- `download_only` and `validate_files` are accepted script actions and do not copy into live mod folders.
|
||||
- `remove` does not require SteamCMD.
|
||||
|
||||
## Manifest Fields
|
||||
|
||||
|
|
@ -121,6 +124,8 @@ Key-copy behavior:
|
|||
- `install_strategy`
|
||||
- `enabled`
|
||||
- `load_order`
|
||||
- `update_policy`
|
||||
- `pending_action`
|
||||
- `install_state`
|
||||
- `last_installed_at`
|
||||
- `last_updated_at`
|
||||
|
|
@ -131,9 +136,40 @@ Phase 1 states:
|
|||
- `queued`
|
||||
- `installing`
|
||||
- `installed`
|
||||
- `downloaded`
|
||||
- `failed`
|
||||
- `removed`
|
||||
|
||||
`server_content_workshop_catalog` tracks known/common items:
|
||||
|
||||
- `workshop_id`
|
||||
- `app_id`
|
||||
- `title`
|
||||
- `install_count`
|
||||
- `first_seen`
|
||||
- `last_installed`
|
||||
- `last_updated`
|
||||
- `published_date`
|
||||
- `tags`
|
||||
- `game_key`
|
||||
- `local_cache_path`
|
||||
|
||||
Supported update policies:
|
||||
|
||||
- `manual`
|
||||
- `scheduled`
|
||||
- `update_now`
|
||||
- `update_and_restart`
|
||||
- `download_only`
|
||||
- `install_on_restart`
|
||||
|
||||
Scheduler action keys:
|
||||
|
||||
- `workshop_update`
|
||||
- `workshop_update_and_restart`
|
||||
- `workshop_download_only`
|
||||
- `workshop_install_pending_on_restart`
|
||||
|
||||
## Security Notes
|
||||
|
||||
- Customer input is reduced to numeric Workshop IDs only.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue