worshop work
This commit is contained in:
parent
0d44c65ea5
commit
3829a4a83d
92 changed files with 487 additions and 110 deletions
|
|
@ -1,5 +1,7 @@
|
|||
# Workshop Phase 1 Implementation
|
||||
|
||||
Workspace reference: [`GSP-WORKSPACE.md`](../../../GSP-WORKSPACE.md)
|
||||
|
||||
## Summary
|
||||
|
||||
Phase 1 makes the active Server Content Manager Workshop path usable for DayZ/Arma-style Workshop installs without reviving the deprecated standalone `steam_workshop` user workflow.
|
||||
|
|
@ -15,8 +17,8 @@ Active workflow:
|
|||
- `Panel/modules/addonsmanager/workshop_content.php`
|
||||
- `Panel/modules/addonsmanager/addons_manager.php`
|
||||
- `Panel/modules/addonsmanager/module.php`
|
||||
- `Panel/modules/addonsmanager/scripts/workshop/generic_steam_workshop_linux.sh`
|
||||
- `Panel/modules/addonsmanager/scripts/workshop/generic_steam_workshop_windows_cygwin.sh`
|
||||
- `Panel/modules/addonsmanager/scripts/workshop/generic_steam_workshop_linux.sh` (Panel template for generated jobs)
|
||||
- `Panel/modules/addonsmanager/scripts/workshop/generic_steam_workshop_windows_cygwin.sh` (Panel template for generated jobs)
|
||||
- `Panel/modules/steam_workshop/monitor_buttons.php`
|
||||
|
||||
## User Flow
|
||||
|
|
@ -26,7 +28,7 @@ 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's existing `exec` primitive, and shows the result.
|
||||
6. The Panel validates input, stores numeric Workshop IDs, writes a manifest, writes a generated per-job 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:
|
||||
|
|
@ -53,17 +55,17 @@ The admin template defines capability and policy. The customer supplies only Wor
|
|||
3. The Panel builds a manifest with per-item install details.
|
||||
4. The manifest is written to:
|
||||
- `{SERVER_HOME}/gsp_server_content/workshop_manifest.json`
|
||||
5. The correct bundled script is copied to:
|
||||
- `{SERVER_HOME}/gsp_server_content/scripts/workshop/generic_steam_workshop_linux.sh`
|
||||
- or `{SERVER_HOME}/gsp_server_content/scripts/workshop/generic_steam_workshop_windows_cygwin.sh`
|
||||
5. A generated job script is written to:
|
||||
- `{SERVER_HOME}/gsp_server_content/jobs/workshop/workshop_job_<timestamp>_<random>.sh`
|
||||
6. The agent runs:
|
||||
- `bash <script> <manifest>`
|
||||
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.
|
||||
7. The script writes a temporary SteamCMD runscript containing `workshop_download_item <appid> <workshop_id> validate`.
|
||||
8. The script runs SteamCMD with `+runscript`, 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:
|
||||
|
||||
- The default script filename is no longer treated as an agent-host path.
|
||||
- Missing custom scripts fall back to the bundled generic handler and log a warning.
|
||||
- Static custom Workshop scripts are deprecated for the primary path; the Panel generates a per-job script instead.
|
||||
- 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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue