{ "$schema": "../../manifests/game-plugin.manifest.schema.json", "id": "game.scum", "name": "SCUM Server", "description": "First-party SCUM game server operations plugin with platform-mediated lifecycle and companion bridge support.", "version": "0.1.7", "kind": "game-plugin", "tags": [ "scum", "survival", "dedicated-server", "game-operations", "companion-client" ], "server": { "type": "scum", "displayName": "SCUM Dedicated Server", "supportedOS": [ "windows", "linux" ], "createFormSchema": "schemas/create-form.schema.json", "createFields": [ { "key": "serverName", "label": "SCUM 服务器名称", "type": "text", "required": true, "configKey": "serverName" }, { "key": "gamePort", "label": "游戏端口", "type": "port", "required": true, "defaultValue": "7779", "configKey": "gamePort" }, { "key": "queryPort", "label": "查询端口", "type": "port", "required": true, "defaultValue": "27015", "configKey": "queryPort" }, { "key": "maxPlayers", "label": "最大玩家数", "type": "number", "required": true, "defaultValue": "128", "configKey": "maxPlayers" } ] }, "capabilities": [ "process.install", "process.start", "process.stop", "process.restart", "process.status", "files.list", "files.read", "files.patch", "logs.read", "remote.ftp.read", "remote.ftp.write", "remote.rsync.read", "remote.rsync.write", "remote.run.files.read", "remote.run.files.write", "remote.run.db.sqlite.query", "remote.run.process.start", "remote.run.process.stop", "remote.run.logs.transfer", "remote.run.rcon.command", "remote.run.program.command", "client-manager.deploy", "client-manager.control", "client-manager.update", "client-manager.rollback", "client-manager.uninstall", "artifacts.read", "artifacts.write", "ai.invoke" ], "remoteAccess": { "methods": [ "ftp", "rsync", "run" ], "runCapabilities": [ "remote.run.files.read", "remote.run.files.write", "remote.run.db.sqlite.query", "remote.run.process.start", "remote.run.process.stop", "remote.run.logs.transfer", "remote.run.rcon.command", "remote.run.program.command" ], "databaseEngines": [ "sqlite" ], "logTransfer": true }, "bridge": { "actions": [ "server.instances.read", "jobs.dispatch", "artifacts.open", "remote.access.request", "ai.invoke", "run.distribution.request", "dependencies.request", "client-manager.request", "plugin-lifecycle.request" ] }, "gameClientBridge": { "commands": [ { "type": "companion.diagnostics", "title": "Collect companion diagnostics", "permission": "server.game-client.read", "payloadSchemaRef": "schemas/bridge/diagnostics.payload.schema.json", "resultSchemaRef": "schemas/bridge/diagnostics.result.schema.json", "timeoutSeconds": 30, "maxPayloadBytes": 2048 }, { "type": "player.lookup", "title": "Look up SCUM player", "permission": "server.game-client.read", "payloadSchemaRef": "schemas/bridge/player-lookup.payload.schema.json", "resultSchemaRef": "schemas/bridge/player-lookup.result.schema.json", "timeoutSeconds": 30, "maxPayloadBytes": 4096 }, { "type": "reward.deliver", "title": "Deliver SCUM reward", "permission": "server.game-client.command", "payloadSchemaRef": "schemas/bridge/reward-deliver.payload.schema.json", "resultSchemaRef": "schemas/bridge/reward-deliver.result.schema.json", "timeoutSeconds": 60, "maxPayloadBytes": 4096 }, { "type": "player.notify", "title": "Notify SCUM player about approved gift", "permission": "server.game-client.command", "payloadSchemaRef": "schemas/bridge/player-notify.payload.schema.json", "resultSchemaRef": "schemas/bridge/player-notify.result.schema.json", "timeoutSeconds": 60, "maxPayloadBytes": 2048 }, { "type": "vehicle.spawn", "title": "Spawn catalogued SCUM vehicle", "permission": "server.game-client.command", "payloadSchemaRef": "schemas/bridge/vehicle-spawn.payload.schema.json", "resultSchemaRef": "schemas/bridge/vehicle-spawn.result.schema.json", "timeoutSeconds": 60, "maxPayloadBytes": 1024 }, { "type": "event.start", "title": "Start SCUM event", "permission": "server.game-client.command", "payloadSchemaRef": "schemas/bridge/event-start.payload.schema.json", "resultSchemaRef": "schemas/bridge/event-start.result.schema.json", "timeoutSeconds": 60, "maxPayloadBytes": 4096 }, { "type": "restart.prepare", "title": "Prepare SCUM restart", "permission": "server.game-client.maintenance", "payloadSchemaRef": "schemas/bridge/restart-prepare.payload.schema.json", "resultSchemaRef": "schemas/bridge/restart-prepare.result.schema.json", "timeoutSeconds": 120, "maxPayloadBytes": 4096 }, { "type": "maintenance.prepare", "title": "Prepare SCUM maintenance", "permission": "server.game-client.maintenance", "payloadSchemaRef": "schemas/bridge/maintenance-prepare.payload.schema.json", "resultSchemaRef": "schemas/bridge/maintenance-prepare.result.schema.json", "timeoutSeconds": 120, "maxPayloadBytes": 4096 }, { "type": "game-state.patch", "title": "Patch SCUM player state", "permission": "server.game-client.maintenance", "payloadSchemaRef": "schemas/bridge/game-state-patch.payload.schema.json", "resultSchemaRef": "schemas/bridge/game-state-patch.result.schema.json", "timeoutSeconds": 120, "maxPayloadBytes": 4096 } ], "snapshots": [ { "type": "companion.health", "schemaVersion": "1", "schemaRef": "schemas/bridge/companion-health.snapshot.schema.json", "keepForSeconds": 604800, "maxRecords": 1000 }, { "type": "semantic.events", "schemaVersion": "1", "schemaRef": "schemas/bridge/semantic-events.snapshot.schema.json", "keepForSeconds": 604800, "maxRecords": 1000 }, { "type": "online.sessions", "schemaVersion": "1", "schemaRef": "schemas/bridge/online-sessions.snapshot.schema.json", "keepForSeconds": 86400, "maxRecords": 1000 }, { "type": "players", "schemaVersion": "1", "schemaRef": "schemas/bridge/players.snapshot.schema.json", "keepForSeconds": 86400, "maxRecords": 1000 }, { "type": "player.state", "schemaVersion": "1", "schemaRef": "schemas/bridge/player-state.snapshot.schema.json", "keepForSeconds": 86400, "maxRecords": 1000 }, { "type": "squads", "schemaVersion": "1", "schemaRef": "schemas/bridge/squads.snapshot.schema.json", "keepForSeconds": 86400, "maxRecords": 1000 }, { "type": "vehicles", "schemaVersion": "1", "schemaRef": "schemas/bridge/vehicles.snapshot.schema.json", "keepForSeconds": 86400, "maxRecords": 1000 }, { "type": "flags", "schemaVersion": "1", "schemaRef": "schemas/bridge/flags.snapshot.schema.json", "keepForSeconds": 86400, "maxRecords": 1000 } ], "queryTemplates": [ { "key": "scum.player.profile", "title": "Read SCUM player profile, economy, squad, and position facts", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-player-profile.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-player-profile.result.schema.json", "sqlRef": "sql/scum-db-v57/users.sql", "pollIntervalSeconds": 3, "maxRows": 500, "timeoutSeconds": 15 }, { "key": "scum.squads", "title": "Read SCUM squad records", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-squads.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-squads.result.schema.json", "sqlRef": "sql/scum-db-v57/squads.sql", "pollIntervalSeconds": 1800, "maxRows": 500, "timeoutSeconds": 15 }, { "key": "scum.squad-members", "title": "Read SCUM squad membership records", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-squad-members.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-squad-members.result.schema.json", "sqlRef": "sql/scum-db-v57/squad-members.sql", "pollIntervalSeconds": 1800, "maxRows": 500, "timeoutSeconds": 15 }, { "key": "scum.vehicles", "title": "Read SCUM vehicle records and coordinates", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-vehicles.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-vehicles.result.schema.json", "sqlRef": "sql/scum-db-v57/vehicles.sql", "pollIntervalSeconds": 3, "maxRows": 500, "timeoutSeconds": 15 }, { "key": "scum.flags", "title": "Read SCUM flag and ownership records", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-flags.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-flags.result.schema.json", "sqlRef": "sql/scum-db-v57/flags.sql", "pollIntervalSeconds": 1800, "maxRows": 500, "timeoutSeconds": 15 }, { "key": "scum.positions", "title": "Read SCUM player, vehicle, base, and flag coordinates", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-positions.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-positions.result.schema.json", "sqlRef": "sql/scum-db-v57/map-points.sql", "pollIntervalSeconds": 3, "maxRows": 500, "timeoutSeconds": 15 }, { "key": "scum.tasks", "title": "Read SCUM v57 quest and task records", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-tasks.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-tasks.result.schema.json", "sqlRef": "sql/scum-db-v57/tasks.sql", "pollIntervalSeconds": 1800, "maxRows": 500, "timeoutSeconds": 15 }, { "key": "scum.events", "title": "Read SCUM v57 native event rounds and statistics", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-events.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-events.result.schema.json", "sqlRef": "sql/scum-db-v57/events.sql", "pollIntervalSeconds": 1800, "maxRows": 500, "timeoutSeconds": 15 }, { "key": "scum.native-timed-gifts", "title": "Read SCUM v57 native timed gift completion records", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-native-timed-gifts.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-native-timed-gifts.result.schema.json", "sqlRef": "sql/scum-db-v57/native-timed-gifts.sql", "pollIntervalSeconds": 1800, "maxRows": 500, "timeoutSeconds": 15 } ], "logProjections": [ { "key": "scum.battleye.login", "streamKeys": [ "scum.console.stdout" ], "steps": [ { "pattern": "Player \"(?P[^\"]+)\" reported as player (?P\\d+)" }, { "pattern": "Player (?P\\d+) SteamID \\(assumed\\): (?P\\d+)" } ], "correlationFields": [ "slot" ], "maxInterveningLines": 8, "target": { "collection": "scum_users", "upsertKeys": [ "steamId" ], "captureMappings": { "steamId": "steamId", "displayName": "displayName", "slot": "slot" }, "fixedValues": { "online": "true", "source": "process.stdout" }, "observedAtField": "lastLoginObservedAt" }, "presence": { "timestampField": "lastLoginObservedAt", "activeWindowSeconds": 600, "activityTarget": { "collection": "scum_activity_events", "upsertKeys": [ "steamId", "observedAt" ], "captureMappings": { "steamId": "steamId", "displayName": "displayName" }, "fixedValues": { "eventType": "login", "source": "process.stdout" }, "observedAtField": "observedAt" } } } ], "dataPacks": [ { "key": "scum-db-v57", "databaseUserVersion": 57, "logParserRefs": [ "data-packs/scum-db-v57/log-parsers.json" ], "configMapRefs": [ "data-packs/scum-db-v57/config-maps.json" ], "dataRefs": [ "data-packs/scum-db-v57/gift-items.json", "data-packs/scum-db-v57/map-geometry.json" ] } ], "commandRetentionSeconds": 604800, "maxCommands": 1000, "features": [ { "key": "player.intelligence", "title": "SCUM player intelligence", "permission": "server.game-client.read", "requiredHandlers": [ "player.lookup" ], "requiredEventProducers": [ "semantic.events" ] }, { "key": "reward.delivery", "title": "SCUM reward delivery", "permission": "server.game-client.command", "requiredHandlers": [ "reward.deliver", "player.notify" ] }, { "key": "state.patch", "title": "SCUM player state patch", "permission": "server.game-client.maintenance", "requiredHandlers": [ "game-state.patch" ] }, { "key": "vehicle.spawn", "title": "SCUM catalogued vehicle spawn", "permission": "server.game-client.command", "requiredHandlers": [ "vehicle.spawn" ] }, { "key": "trajectory.collect", "title": "SCUM trajectories", "permission": "server.game-client.read", "requiredEventProducers": [ "semantic.events" ] } ], "pages": [ { "pageKey": "players", "snapshotTypes": [ "players", "online.sessions" ], "queryTemplateKeys": [ "scum.player.profile", "scum.positions" ], "featureKeys": [ "player.intelligence", "state.patch" ] }, { "pageKey": "squads", "snapshotTypes": [ "squads", "flags" ], "queryTemplateKeys": [ "scum.squads", "scum.squad-members", "scum.flags" ], "featureKeys": [ "player.intelligence" ] }, { "pageKey": "live-map", "snapshotTypes": [ "players", "vehicles", "flags" ], "queryTemplateKeys": [ "scum.player.profile", "scum.vehicles", "scum.flags", "scum.positions" ], "featureKeys": [ "trajectory.collect" ] }, { "pageKey": "gifts", "snapshotTypes": [ "players" ], "queryTemplateKeys": [ "scum.native-timed-gifts" ], "commandTypes": [ "reward.deliver" ], "featureKeys": [ "reward.delivery" ] }, { "pageKey": "workflows", "queryTemplateKeys": [ "scum.player.profile", "scum.squads", "scum.squad-members", "scum.vehicles", "scum.flags", "scum.positions", "scum.tasks", "scum.events", "scum.native-timed-gifts" ], "commandTypes": [ "event.start" ], "featureKeys": [ "player.intelligence" ] } ], "companion": { "profileKey": "scum-client-manager", "configTemplateKey": "client-config", "configSchemaRef": "schemas/companion/config.schema.json", "configFormat": "yaml", "platformBaseUrlSource": "run-control", "registrationProof": "hmac-sha256", "proofMaterialSource": "component-package", "proofMaterialEnv": "SCUM_COMPONENT_PROOF", "sessionMode": "component-session", "tlsPolicy": "verify-system-roots", "heartbeatIntervalSeconds": 30, "commandPollIntervalSeconds": 5, "requestTimeoutSeconds": 15 } }, "permissions": [ "server.create", "server.read", "server.lifecycle", "server.files.read", "server.files.write", "server.logs.read", "server.artifacts.read", "server.artifacts.write", "server.remote.access", "ai.invoke", "server.run.distribution", "server.dependencies.manage", "server.client-manager.manage", "server.game-client.read", "server.game-client.command", "server.game-client.maintenance" ], "actions": { "install": "actions/install.json", "start": "actions/start.json", "stop": "actions/stop.json", "restart": "actions/restart.json", "status": "actions/status.json" }, "assetFiles": [ { "path": "actions/install.json", "mode": 384 }, { "path": "actions/start.json", "mode": 384 }, { "path": "actions/stop.json", "mode": 384 }, { "path": "actions/restart.json", "mode": 384 }, { "path": "actions/status.json", "mode": 384 }, { "path": "bin/scum-install-update.cmd", "mode": 448 }, { "path": "bin/scum-start.cmd", "mode": 448 }, { "path": "assets/map/scum-map-overview.jpg", "mode": 384 }, { "path": "sql/scum-db-v57/users.sql", "mode": 384 }, { "path": "sql/scum-db-v57/squads.sql", "mode": 384 }, { "path": "sql/scum-db-v57/squad-members.sql", "mode": 384 }, { "path": "sql/scum-db-v57/vehicles.sql", "mode": 384 }, { "path": "sql/scum-db-v57/flags.sql", "mode": 384 }, { "path": "sql/scum-db-v57/map-points.sql", "mode": 384 }, { "path": "sql/scum-db-v57/tasks.sql", "mode": 384 }, { "path": "sql/scum-db-v57/events.sql", "mode": 384 }, { "path": "sql/scum-db-v57/native-timed-gifts.sql", "mode": 384 }, { "path": "data-packs/scum-db-v57/config-maps.json", "mode": 384 }, { "path": "data-packs/scum-db-v57/log-parsers.json", "mode": 384 }, { "path": "data-packs/scum-db-v57/gift-items.json", "mode": 384 }, { "path": "data-packs/scum-db-v57/map-geometry.json", "mode": 384 } ], "productionLifecycle": { "operations": [ "install", "enable", "disable", "upgrade", "rollback", "retire", "dependency-check" ], "dependencyPolicy": "required" }, "pages": [ { "key": "players", "title": "用户管理", "path": "/players", "bundleKey": "scum-server-plugin", "bundleVersion": "1.0.3", "bundleIntegritySha256": "sha256:3488b316d909e597024f8f31c7bc96ab8019f643d74a528dc442d3df0dc3d54e", "permissions": [ "server.read", "server.remote.access", "server.game-client.read", "server.game-client.command", "server.game-client.maintenance" ], "bridgeActions": [ "server.instances.read", "remote.access.request" ], "featureKeys": [ "player.intelligence", "state.patch" ] }, { "key": "squads", "title": "队伍管理", "path": "/squads", "bundleKey": "scum-server-plugin", "bundleVersion": "1.0.3", "bundleIntegritySha256": "sha256:3488b316d909e597024f8f31c7bc96ab8019f643d74a528dc442d3df0dc3d54e", "permissions": [ "server.read", "server.remote.access", "server.game-client.read" ], "bridgeActions": [ "server.instances.read", "remote.access.request" ], "featureKeys": [ "player.intelligence" ] }, { "key": "live-map", "title": "实时地图", "path": "/live-map", "bundleKey": "scum-server-plugin", "bundleVersion": "1.0.3", "bundleIntegritySha256": "sha256:3488b316d909e597024f8f31c7bc96ab8019f643d74a528dc442d3df0dc3d54e", "permissions": [ "server.read", "server.remote.access", "server.game-client.read" ], "bridgeActions": [ "server.instances.read", "remote.access.request" ], "featureKeys": [ "trajectory.collect" ] }, { "key": "gifts", "title": "礼包管理", "path": "/gifts", "bundleKey": "scum-server-plugin", "bundleVersion": "1.0.3", "bundleIntegritySha256": "sha256:3488b316d909e597024f8f31c7bc96ab8019f643d74a528dc442d3df0dc3d54e", "permissions": [ "server.read", "server.remote.access", "server.game-client.read", "server.game-client.command" ], "bridgeActions": [ "server.instances.read", "remote.access.request" ], "featureKeys": [ "reward.delivery" ] }, { "key": "workflows", "title": "活动管理", "path": "/activity", "bundleKey": "scum-server-plugin", "bundleVersion": "1.0.3", "bundleIntegritySha256": "sha256:3488b316d909e597024f8f31c7bc96ab8019f643d74a528dc442d3df0dc3d54e", "permissions": [ "server.read", "server.remote.access", "server.game-client.read", "server.game-client.command" ], "bridgeActions": [ "server.instances.read", "remote.access.request" ], "featureKeys": [ "player.intelligence" ] } ], "ai": { "purposes": [ "config.suggest" ], "mediation": "platform", "configWritePolicy": "review-required" }, "runtimeProfiles": { "discovery": [ { "key": "steamcmd", "kind": "command.version", "targetKey": "steamcmd", "required": true }, { "key": "scum-install", "kind": "file.exists", "targetKey": "server/install-root", "required": true, "platforms": [ "windows" ] } ], "lifecycleProfiles": [ { "key": "run-local", "mode": "local-process", "capabilities": [ "process.install", "process.start", "process.stop", "process.restart", "process.status", "remote.run.process.start", "remote.run.process.stop", "remote.run.rcon.command" ], "actionRefs": { "install": "actions/install.json", "start": "actions/start.json", "stop": "actions/stop.json", "restart": "actions/restart.json", "status": "actions/status.json" }, "transportKeys": [ "server-files", "scum-management" ], "dllExtensionRefs": [ "scum-simple-rcon" ], "platforms": [ "windows" ] }, { "key": "scum-client", "mode": "custom-client", "capabilities": [ "client-manager.deploy", "client-manager.control", "logs.read" ], "clientManagerRef": "scum-client-manager", "platforms": [ "windows" ] } ], "dependencyProbes": [ { "key": "steamcmd", "kind": "command.version", "targetKey": "steamcmd", "required": true, "platforms": [ "windows", "linux" ] }, { "key": "sqlite", "kind": "package.installed", "targetKey": "sqlite-driver", "required": false, "platforms": [ "windows", "linux" ] } ], "installPlans": [ { "key": "install-scum-server", "title": "Install SCUM Dedicated Server", "platforms": [ "windows" ], "steps": [ { "type": "steamcmd-app", "targetKey": "server/install-root", "packageManager": "steamcmd", "packageName": "3792580" } ] }, { "key": "install-steamcmd-linux", "title": "Install SteamCMD", "platforms": [ "linux" ], "steps": [ { "type": "package", "targetKey": "steamcmd", "packageManager": "apt", "packageName": "steamcmd" } ] } ], "logSources": [ { "key": "scum-console-stdout", "kind": "process.stdout", "targetKey": "scum/server-process", "streamKey": "scum.console.stdout", "cursorKind": "sequence", "retentionDays": 30 }, { "key": "scum-console-stderr", "kind": "process.stderr", "targetKey": "scum/server-process", "streamKey": "scum.console.stderr", "cursorKind": "sequence", "retentionDays": 30 }, { "key": "scum-chat-events", "kind": "file.tail", "targetKey": "logs/chat", "streamKey": "scum.chat", "cursorKind": "fingerprint", "retentionDays": 90 }, { "key": "scum-server-events", "kind": "file.tail", "targetKey": "logs/server", "streamKey": "scum.server", "cursorKind": "fingerprint", "retentionDays": 90 }, { "key": "scum-login-events", "kind": "file.tail", "targetKey": "logs/login", "streamKey": "scum.login", "cursorKind": "fingerprint", "retentionDays": 90 }, { "key": "scum-kill-events", "kind": "file.tail", "targetKey": "logs/kill", "streamKey": "scum.kill", "cursorKind": "fingerprint", "retentionDays": 90 }, { "key": "scum-trade-events", "kind": "file.tail", "targetKey": "logs/trade", "streamKey": "scum.trade", "cursorKind": "fingerprint", "retentionDays": 90 }, { "key": "scum-admin-events", "kind": "file.tail", "targetKey": "logs/admin", "streamKey": "scum.admin", "cursorKind": "fingerprint", "retentionDays": 90 }, { "key": "scum-performance-events", "kind": "file.tail", "targetKey": "logs/performance", "streamKey": "scum.performance", "cursorKind": "fingerprint", "retentionDays": 30 }, { "key": "scum-client-events", "kind": "client-manager", "targetKey": "scum-client-manager", "streamKey": "scum.client", "cursorKind": "sequence", "retentionDays": 30 } ], "logEvents": [ { "key": "scum-player-position", "title": "SCUM player position", "sourceKey": "scum-client-events", "eventType": "player.position", "permission": "server.logs.read", "schemaRef": "schemas/log-events/player-position.event.schema.json", "retentionDays": 7, "severity": "info" }, { "key": "scum-vehicle-position", "title": "SCUM vehicle position", "sourceKey": "scum-client-events", "eventType": "vehicle.position", "permission": "server.logs.read", "schemaRef": "schemas/log-events/vehicle-position.event.schema.json", "retentionDays": 7, "severity": "info" }, { "key": "scum-player-vehicle-enter", "title": "SCUM player vehicle enter", "sourceKey": "scum-client-events", "eventType": "player.vehicle.enter", "permission": "server.logs.read", "schemaRef": "schemas/log-events/player-vehicle-enter.event.schema.json", "retentionDays": 7, "severity": "info" }, { "key": "scum-player-vehicle-leave", "title": "SCUM player vehicle leave", "sourceKey": "scum-client-events", "eventType": "player.vehicle.leave", "permission": "server.logs.read", "schemaRef": "schemas/log-events/player-vehicle-leave.event.schema.json", "retentionDays": 7, "severity": "info" }, { "key": "scum-chat", "title": "SCUM chat message", "sourceKey": "scum-chat-events", "eventType": "scum.chat", "permission": "server.logs.read", "schemaRef": "schemas/log-events/chat.event.schema.json", "retentionDays": 90, "severity": "info" }, { "key": "scum-login", "title": "SCUM player login", "sourceKey": "scum-login-events", "eventType": "scum.login", "permission": "server.logs.read", "schemaRef": "schemas/log-events/login.event.schema.json", "retentionDays": 90, "severity": "info" }, { "key": "scum-logout", "title": "SCUM player logout", "sourceKey": "scum-login-events", "eventType": "scum.logout", "permission": "server.logs.read", "schemaRef": "schemas/log-events/logout.event.schema.json", "retentionDays": 90, "severity": "info" }, { "key": "scum-kill", "title": "SCUM player kill", "sourceKey": "scum-kill-events", "eventType": "scum.kill", "permission": "server.logs.read", "schemaRef": "schemas/log-events/kill.event.schema.json", "retentionDays": 90, "severity": "info" }, { "key": "scum-trade", "title": "SCUM trade activity", "sourceKey": "scum-trade-events", "eventType": "scum.trade", "permission": "server.logs.read", "schemaRef": "schemas/log-events/trade.event.schema.json", "retentionDays": 90, "severity": "info" }, { "key": "scum-mine", "title": "SCUM mine activity", "sourceKey": "scum-server-events", "eventType": "scum.mine", "permission": "server.logs.read", "schemaRef": "schemas/log-events/mine.event.schema.json", "retentionDays": 90, "severity": "warning" }, { "key": "scum-unlock", "title": "SCUM unlock activity", "sourceKey": "scum-server-events", "eventType": "scum.unlock", "permission": "server.logs.read", "schemaRef": "schemas/log-events/unlock.event.schema.json", "retentionDays": 90, "severity": "warning" }, { "key": "scum-admin", "title": "SCUM admin activity", "sourceKey": "scum-admin-events", "eventType": "scum.admin", "permission": "server.logs.read", "schemaRef": "schemas/log-events/admin.event.schema.json", "retentionDays": 90, "severity": "warning" }, { "key": "scum-performance", "title": "SCUM server performance", "sourceKey": "scum-performance-events", "eventType": "scum.performance", "permission": "server.logs.read", "schemaRef": "schemas/log-events/performance.event.schema.json", "retentionDays": 30, "severity": "info" } ], "transportProfiles": [ { "key": "server-files", "kind": "file", "targetKey": "server-root", "capabilities": [ "remote.run.files.read", "remote.run.files.write" ] }, { "key": "ftp", "kind": "ftp", "targetKey": "ftp-root", "capabilities": [ "remote.ftp.read", "remote.ftp.write" ] }, { "key": "rsync", "kind": "rsync", "targetKey": "rsync-root", "capabilities": [ "remote.rsync.read", "remote.rsync.write" ] }, { "key": "scum-database", "kind": "sqlite", "targetKey": "scum-database", "capabilities": [ "remote.run.db.sqlite.query" ] }, { "key": "scum-management", "kind": "rcon", "targetKey": "scum-management", "capabilities": [ "remote.run.rcon.command" ] }, { "key": "scum-program", "kind": "program", "targetKey": "scum-program", "capabilities": [ "remote.run.program.command" ] } ], "dllExtensions": [ { "key": "scum-simple-rcon", "displayName": "SCUM Simple RCON", "kind": "ue4ss-dll", "activation": "server-start", "version": "0.1.0", "releaseState": "ready", "releaseUrl": "https://cdn.npc0.com/scum_simple_rcon_ue4s.dll", "checksum": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "sizeBytes": 1024, "targetKey": "ue4ss/scum-simple-rcon", "modKey": "scum_simple_rcon", "dllRef": "ue4ss/Mods/scum_simple_rcon/dlls/main.dll", "scumExecutableChecksum": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "ue4ssAbi": "ue4ss-3.0", "supportedTargets": [ { "os": "windows", "arch": "amd64" } ], "updateOnStart": true, "rconPort": 27015 } ], "clientManagers": [ { "key": "scum-client-manager", "displayName": "SCUM Client Manager", "version": "1.0.0", "repository": { "url": "https://github.com/F88888/scum_client.git", "revisionPolicy": "branch", "branch": "main" }, "supportedTargets": [ { "os": "windows", "arch": "amd64" } ], "build": { "system": "go", "entryRef": "main.go" }, "configTemplates": [ { "key": "client-config", "templateRef": "config.yaml.example", "outputRef": "config.yaml" } ], "outputArtifacts": [ "scum_client.exe" ], "deployment": { "mode": "run-supervised", "executableRef": "scum_client.exe", "autoStart": true, "requiredRunCapabilities": [ "client-manager.deploy", "client-manager.control", "client-manager.update", "client-manager.rollback", "client-manager.uninstall" ] }, "lifecycle": { "actions": [ "start", "stop", "restart", "status", "update", "rollback", "uninstall" ], "startupTimeoutSeconds": 60, "stopTimeoutSeconds": 30 }, "health": { "mode": "component-heartbeat", "intervalSeconds": 30, "degradedAfterSeconds": 90, "offlineAfterSeconds": 120, "requiredCapabilities": [ "component.register", "component.heartbeat", "component.health", "component.control", "game-client.bridge", "logs.stream" ] }, "updatePolicy": { "strategy": "manual-staged", "requireApproval": true, "healthConfirmationSeconds": 60, "retainPrevious": true } } ] } }