29 lines
1.8 KiB
Markdown
29 lines
1.8 KiB
Markdown
## Why
|
|
|
|
The current SCUM deployment flow hardcodes SteamCMD, SCUM executable paths, app id `3792580`, config writes, and start arguments inside platform/run code. That violates the intended boundary: the SCUM plugin should own game lifecycle policy while platform dispatches and run executes generic, bounded actions.
|
|
|
|
## What Changes
|
|
|
|
- **BREAKING**: Retire the SCUM-specific `deployment.scum.v1` run capability and the platform-to-run `serverDeploymentPlan` path for SCUM installs/adoptions.
|
|
- Move SCUM install/update/start command ownership into the SCUM plugin action bundle.
|
|
- Use plugin lifecycle actions for idempotent "install if missing, update if present, then start" behavior.
|
|
- Keep platform limited to manifest/action validation, distribution packaging, lifecycle job dispatch, and generic result projection.
|
|
- Keep run limited to generic action execution, scoped file/process operations, logs, artifacts, and capability enforcement.
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
|
|
- `plugin-owned-game-lifecycle`: Game plugins own game-specific lifecycle commands, default launch flags, app IDs, executable paths, install/update policies, and pre-start checks.
|
|
|
|
### Modified Capabilities
|
|
|
|
- `platform-side-distribution-builds`: Generated run packages must carry plugin-owned lifecycle action assets without requiring run to advertise game-specific deployment capabilities.
|
|
|
|
## Impact
|
|
|
|
- Affects `plugins/examples/scum-server-plugin` action assets and manifest declarations.
|
|
- Affects `platform/service`, `platform/domain`, `platform/dto`, `platform/validator`, and protocol docs by removing SCUM-specific deployment plan dispatch/gating.
|
|
- Affects the independent `run` repository by removing SCUM-specific runtime execution and capability advertisement.
|
|
- Requires tests proving SCUM lifecycle jobs are plugin action jobs and run no longer contains a SCUM deployment executor.
|