1.8 KiB
1.8 KiB
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.v1run capability and the platform-to-runserverDeploymentPlanpath 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-pluginaction 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
runrepository 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.