Move SCUM lifecycle ownership to plugin

This commit is contained in:
npc0-hue
2026-08-01 09:36:12 +08:00
parent bca4f935ba
commit d1249fca85
49 changed files with 795 additions and 566 deletions
+16
View File
@@ -22,11 +22,18 @@ export type RunCapability =
| "process.stop"
| "process.restart"
| "process.status"
| "deployment.plan.v1"
| "config.write"
| "files.list"
| "files.read"
| "files.write"
| "files.patch"
| "logs.read"
| "run.self-update"
| "distribution.build"
| "dependencies.check"
| "dependencies.install"
| "logs.backfill"
| "remote.ftp.read"
| "remote.ftp.write"
| "remote.rsync.read"
@@ -39,6 +46,9 @@ export type RunCapability =
| "remote.run.db.sqlite.query"
| "remote.run.logs.transfer"
| "remote.run.rcon.command"
| "remote.run.protected.sql"
| "remote.run.protected.rcon"
| "remote.run.program.command"
| "client-manager.deploy"
| "client-manager.control"
| "client-manager.update"
@@ -646,6 +656,11 @@ export interface GamePluginBridge {
actions: PluginBridgeAction[];
}
export interface PluginAssetFile {
path: string;
mode?: 384 | 448;
}
export interface GamePluginManifest {
id: `game.${string}`;
name: string;
@@ -666,6 +681,7 @@ export interface GamePluginManifest {
runtimeProfiles?: GamePluginRuntimeProfiles;
gameClientBridge?: GameClientBridgeManifest;
actions?: GamePluginActions;
assetFiles?: PluginAssetFile[];
productionLifecycle: {
operations: ProductionPluginLifecycleOperation[];
dependencyPolicy: "required" | "optional";