{ "$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 plugin-owned RCON data flows.", "version": "0.1.24", "kind": "game-plugin", "tags": [ "scum", "survival", "dedicated-server", "game-operations", "rcon" ], "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.process.start", "remote.run.process.stop", "remote.run.logs.transfer", "remote.run.rcon.command", "remote.run.program.command", "remote.run.db.sqlite.query", "artifacts.read", "artifacts.write", "ai.invoke" ], "remoteAccess": { "methods": [ "ftp", "rsync", "run" ], "runCapabilities": [ "remote.run.files.read", "remote.run.files.write", "remote.run.process.start", "remote.run.process.stop", "remote.run.logs.transfer", "remote.run.rcon.command", "remote.run.program.command", "remote.run.db.sqlite.query" ], "rcon": true, "databaseEngines": [ "sqlite" ], "logTransfer": true }, "bridge": { "actions": [ "server.instances.read", "jobs.dispatch", "artifacts.open", "remote.access.request", "ai.invoke", "run.distribution.request", "dependencies.request", "plugin-lifecycle.request" ] }, "gameClientBridge": { "commands": [ { "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 } ], "snapshots": [ { "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 } ], "dataPacks": [ { "key": "scum-config-v57", "databaseUserVersion": 57, "configMapRefs": [ "data-packs/scum-config-v57/config-maps.json" ], "dataRefs": [ "data-packs/scum-config-v57/gift-items.json", "data-packs/scum-config-v57/map-geometry.json" ] } ], "commandRetentionSeconds": 604800, "maxCommands": 1000, "features": [ { "key": "player.intelligence", "title": "SCUM player intelligence", "permission": "server.game-client.read", "requiredHandlers": [ "player.lookup" ] }, { "key": "reward.delivery", "title": "SCUM reward delivery", "permission": "server.game-client.command", "requiredHandlers": [ "reward.deliver", "player.notify" ] }, { "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": [ "players", "vehicles" ] } ], "pages": [ { "pageKey": "players", "snapshotTypes": [ "players", "online.sessions" ], "featureKeys": [ "player.intelligence" ] }, { "pageKey": "squads", "snapshotTypes": [ "squads", "flags" ], "featureKeys": [ "player.intelligence" ] }, { "pageKey": "live-map", "snapshotTypes": [ "players", "vehicles", "flags" ], "featureKeys": [ "trajectory.collect" ] }, { "pageKey": "gifts", "snapshotTypes": [ "players" ], "commandTypes": [ "reward.deliver" ], "featureKeys": [ "reward.delivery" ] }, { "pageKey": "workflows", "commandTypes": [ "event.start" ], "featureKeys": [ "player.intelligence" ] } ], "queryTemplates": [ { "key": "scum.database.players", "title": "Read SCUM player, squad, economy, and position facts", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-database-players.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-database-players.result.schema.json", "sqlRef": "sql/scum-db-v57/players.sql", "pollIntervalSeconds": 60, "maxRows": 180, "timeoutSeconds": 30, "projections": [ { "collection": "scum.users", "rowPath": "rows", "upsertKeys": [ "steamId" ], "fieldMappings": { "steamId": "steamId", "displayName": "displayName", "loginIp": "lastLoginIp", "squadId": "squadId", "online": "online", "login": "freshLogin", "loginObservedAt": "lastLoginTime", "bankBalance": "normalBalance", "goldBars": "goldBalance", "riddenGameVehicleId": "riddenGameVehicleId", "x": "x", "y": "y", "z": "z" } } ] }, { "key": "scum.database.vehicles", "title": "Read SCUM vehicle positions and classes", "permission": "server.game-client.read", "engine": "sqlite", "transportKey": "scum-database", "targetKey": "scum-database", "parameterSchemaRef": "schemas/bridge/queries/scum-database-vehicles.parameters.schema.json", "resultSchemaRef": "schemas/bridge/queries/scum-database-vehicles.result.schema.json", "sqlRef": "sql/scum-db-v57/vehicles.sql", "pollIntervalSeconds": 120, "maxRows": 220, "timeoutSeconds": 30, "projections": [ { "collection": "scum.vehicles", "rowPath": "rows", "upsertKeys": [ "gameVehicleId" ], "fieldMappings": { "gameVehicleId": "gameVehicleId", "vehicleClass": "vehicleClass", "displayName": "displayName", "exists": "existsInGame", "x": "x", "y": "y", "z": "z", "observedAt": "observedAt" } } ] } ] }, "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.game-client.read", "server.game-client.command", "server.game-client.maintenance" ], "fileWorkspace": { "defaultDirectoryKey": "scum-config", "directories": [ { "key": "scum-config", "label": "服务器配置", "scope": "config" }, { "key": "scum-logs", "label": "日志文件", "scope": "logs" } ], "files": [ { "key": "scum-server-settings", "directoryKey": "scum-config", "label": "ServerSettings.ini", "kind": "config", "editable": true }, { "key": "scum-admin-users", "directoryKey": "scum-config", "label": "AdminUsers.ini", "kind": "config", "editable": true }, { "key": "scum-banned-users", "directoryKey": "scum-config", "label": "BannedUsers.ini", "kind": "config", "editable": true }, { "key": "scum-whitelist-users", "directoryKey": "scum-config", "label": "WhitelistUsers.ini", "kind": "config", "editable": true }, { "key": "scum-server-log", "directoryKey": "scum-logs", "label": "Server.log", "kind": "log", "streamKey": "scum.server" }, { "key": "scum-chat-log", "directoryKey": "scum-logs", "label": "Chat.log", "kind": "log", "streamKey": "scum.chat" }, { "key": "scum-login-log", "directoryKey": "scum-logs", "label": "Login.log", "kind": "log", "streamKey": "scum.login" }, { "key": "scum-kill-log", "directoryKey": "scum-logs", "label": "Kill.log", "kind": "log", "streamKey": "scum.kill" }, { "key": "scum-admin-log", "directoryKey": "scum-logs", "label": "Admin.log", "kind": "log", "streamKey": "scum.admin" }, { "key": "scum-performance-log", "directoryKey": "scum-logs", "label": "Performance.log", "kind": "log", "streamKey": "scum.performance" } ], "configFields": [ { "key": "server-name", "fileKey": "scum-server-settings", "configKey": "scum.ServerName", "label": "服务器名称", "description": "显示在服务器浏览器与玩家连接界面。", "control": "text", "defaultValue": "SCUM Server", "restartImpact": "restart-required" }, { "key": "max-players", "fileKey": "scum-server-settings", "configKey": "scum.MaxPlayers", "label": "最大玩家数", "description": "允许同时进入服务器的玩家上限。", "control": "number", "minimum": 1, "maximum": 128, "defaultValue": "128", "restartImpact": "restart-required" }, { "key": "welcome-message", "fileKey": "scum-server-settings", "configKey": "scum.WelcomeMessage", "label": "欢迎消息", "description": "登录成功后由已声明的服务器扩展显示给玩家。", "control": "text", "defaultValue": "", "restartImpact": "none" }, { "key": "server-description", "fileKey": "scum-server-settings", "configKey": "scum.ServerDescription", "label": "服务器描述", "description": "显示在服务器列表中的详细描述。", "control": "text", "defaultValue": "", "restartImpact": "restart-required" }, { "key": "server-password", "fileKey": "scum-server-settings", "configKey": "scum.ServerPassword", "label": "服务器密码", "description": "留空表示不设置连接密码。", "control": "text", "defaultValue": "", "restartImpact": "restart-required" }, { "key": "server-playstyle", "fileKey": "scum-server-settings", "configKey": "scum.ServerPlaystyle", "label": "服务器玩法", "description": "服务器使用的玩法类型,例如 PVE 或 PVP。", "control": "text", "defaultValue": "PVE", "restartImpact": "restart-required" }, { "key": "message-of-the-day", "fileKey": "scum-server-settings", "configKey": "scum.MessageOfTheDay", "label": "每日公告", "description": "玩家进入服务器后看到的每日公告。", "control": "text", "defaultValue": "", "restartImpact": "none" }, { "key": "allow-first-person", "fileKey": "scum-server-settings", "configKey": "scum.AllowFirstPerson", "label": "允许第一人称", "description": "允许玩家使用第一人称视角。", "control": "boolean", "defaultValue": "True", "restartImpact": "restart-required" }, { "key": "allow-third-person", "fileKey": "scum-server-settings", "configKey": "scum.AllowThirdPerson", "label": "允许第三人称", "description": "允许玩家使用第三人称视角。", "control": "boolean", "defaultValue": "True", "restartImpact": "restart-required" }, { "key": "allow-global-chat", "fileKey": "scum-server-settings", "configKey": "scum.AllowGlobalChat", "label": "允许公频聊天", "description": "允许玩家使用公频聊天。", "control": "boolean", "defaultValue": "True", "restartImpact": "none" }, { "key": "disable-base-building", "fileKey": "scum-server-settings", "configKey": "scum.DisableBaseBuilding", "label": "禁用建家", "description": "是否完全禁止玩家建造基地。", "control": "boolean", "defaultValue": "False", "restartImpact": "restart-required" }, { "key": "allow-map-screen", "fileKey": "scum-server-settings", "configKey": "scum.AllowMapScreen", "label": "允许地图", "description": "是否允许玩家打开地图。", "control": "boolean", "defaultValue": "True", "restartImpact": "none" }, { "key": "allow-kill-claiming", "fileKey": "scum-server-settings", "configKey": "scum.AllowKillClaiming", "label": "允许领取击杀", "description": "是否允许玩家领取击杀奖励。", "control": "boolean", "defaultValue": "True", "restartImpact": "none" }, { "key": "allow-coma", "fileKey": "scum-server-settings", "configKey": "scum.AllowComa", "label": "允许昏迷", "description": "是否启用昏迷机制。", "control": "boolean", "defaultValue": "True", "restartImpact": "restart-required" }, { "key": "allow-mines-and-traps", "fileKey": "scum-server-settings", "configKey": "scum.AllowMinesAndTraps", "label": "允许地雷和陷阱", "description": "是否允许使用地雷和陷阱。", "control": "boolean", "defaultValue": "False", "restartImpact": "restart-required" }, { "key": "allow-events", "fileKey": "scum-server-settings", "configKey": "scum.AllowEvents", "label": "允许服务器事件", "description": "是否启用服务器事件。", "control": "boolean", "defaultValue": "True", "restartImpact": "restart-required" }, { "key": "logout-timer", "fileKey": "scum-server-settings", "configKey": "scum.LogoutTimer", "label": "下线倒计时", "description": "玩家下线前的倒计时秒数。", "control": "number", "minimum": 0, "maximum": 3600, "defaultValue": "60", "restartImpact": "restart-required" }, { "key": "fame-gain-multiplier", "fileKey": "scum-server-settings", "configKey": "scum.FameGainMultiplier", "label": "声望获取倍率", "description": "玩家获得声望的倍率。", "control": "number", "minimum": 0, "maximum": 100, "defaultValue": "1", "restartImpact": "none" }, { "key": "max-allowed-characters", "fileKey": "scum-server-settings", "configKey": "scum.MaxAllowedCharacters", "label": "世界角色上限", "description": "世界中同时存在的角色数量上限。", "control": "number", "minimum": 0, "maximum": 10000, "defaultValue": "500", "restartImpact": "restart-required" }, { "key": "max-allowed-zombies", "fileKey": "scum-server-settings", "configKey": "scum.MaxAllowedZombies", "label": "僵尸上限", "description": "世界中同时存在的僵尸数量上限。", "control": "number", "minimum": 0, "maximum": 10000, "defaultValue": "300", "restartImpact": "restart-required" }, { "key": "max-allowed-animals", "fileKey": "scum-server-settings", "configKey": "scum.MaxAllowedAnimals", "label": "动物上限", "description": "世界中同时存在的动物数量上限。", "control": "number", "minimum": 0, "maximum": 10000, "defaultValue": "-1", "restartImpact": "restart-required" }, { "key": "exterior-zombie-amount", "fileKey": "scum-server-settings", "configKey": "scum.ExteriorZombieAmountModifier", "label": "室外僵尸倍率", "description": "室外僵尸数量倍率。", "control": "number", "minimum": 0, "maximum": 100, "defaultValue": "3.9", "restartImpact": "restart-required" }, { "key": "interior-zombie-amount", "fileKey": "scum-server-settings", "configKey": "scum.InteriorZombieAmountModifier", "label": "室内僵尸倍率", "description": "室内僵尸数量倍率。", "control": "number", "minimum": 0, "maximum": 100, "defaultValue": "2.8", "restartImpact": "restart-required" }, { "key": "fuel-drain-multiplier", "fileKey": "scum-server-settings", "configKey": "scum.FuelDrainFromEngineMultiplier", "label": "车辆耗油倍率", "description": "车辆发动机燃油消耗倍率。", "control": "number", "minimum": 0, "maximum": 100, "defaultValue": "1", "restartImpact": "none" }, { "key": "vehicle-inactivity-time", "fileKey": "scum-server-settings", "configKey": "scum.MaximumTimeOfVehicleInactivity", "label": "车辆不活跃时间", "description": "车辆不活跃后被处理的时间。", "control": "text", "defaultValue": "168:10:00", "restartImpact": "restart-required" }, { "key": "log-vehicle-destroyed", "fileKey": "scum-server-settings", "configKey": "scum.LogVehicleDestroyed", "label": "记录车辆摧毁", "description": "是否记录车辆被摧毁事件。", "control": "boolean", "defaultValue": "True", "restartImpact": "none" }, { "key": "raid-protection-type", "fileKey": "scum-server-settings", "configKey": "scum.RaidProtectionType", "label": "抄家保护类型", "description": "服务器抄家保护规则类型。", "control": "number", "minimum": 0, "maximum": 10, "defaultValue": "3", "restartImpact": "restart-required" }, { "key": "quests-enabled", "fileKey": "scum-server-settings", "configKey": "scum.QuestsEnabled", "label": "启用任务", "description": "是否启用商人任务系统。", "control": "boolean", "defaultValue": "True", "restartImpact": "none" }, { "key": "new-player-protection", "fileKey": "scum-server-settings", "configKey": "scum.EnableNewPlayerProtection", "label": "新人保护", "description": "是否启用新人保护。", "control": "boolean", "defaultValue": "True", "restartImpact": "restart-required" } ] }, "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": "bin/scum-stop.cmd", "mode": 448 }, { "path": "bin/scum-rcon.ps1", "mode": 384 }, { "path": "assets/map/scum-map-overview.jpg", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_Barba.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_CityBike.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_Cruiser.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_Dirtbike.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_Kinglet_Duster.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_Kinglet_Mariner.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_Laika.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_MountainBike.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_RIS.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_Rager.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_Tractor.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BPC_WolfsWagen.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BP_WheelBarrow_Improvised.webp", "mode": 384 }, { "path": "assets/vehicles/vehicle-BP_WheelBarrow_Metal.webp", "mode": 384 }, { "path": "data-packs/scum-config-v57/config-maps.json", "mode": 384 }, { "path": "data-packs/scum-config-v57/gift-items.json", "mode": 384 }, { "path": "data-packs/scum-config-v57/map-geometry.json", "mode": 384 }, { "path": "sql/scum-db-v57/players.sql", "mode": 384 }, { "path": "sql/scum-db-v57/vehicles.sql", "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" ] }, { "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" ] } ], "dependencyProbes": [ { "key": "steamcmd", "kind": "command.version", "targetKey": "steamcmd", "required": true, "platforms": [ "windows", "linux" ] }, { "key": "scum-server-build", "kind": "steam.update", "targetKey": "steamcmd", "steamAppId": "3792580", "required": false, "platforms": [ "windows" ] } ], "installPlans": [ { "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 } ], "dataTargets": [ { "key": "scum-database", "kind": "sqlite.snapshot", "transportKey": "scum-database", "sourceRootKey": "server-root", "sourcePath": "SCUM/Saved/SaveFiles/SCUM.db", "workspaceKey": "databases/scum/SCUM.db", "refreshPolicy": "on-demand-snapshot", "maxBytes": 1073741824, "platforms": [ "windows" ] } ], "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", "targetExecutableChecksum": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "ue4ssAbi": "ue4ss-3.0", "supportedTargets": [ { "os": "windows", "arch": "amd64" } ], "updateOnStart": true, "rconPort": 27015 } ] } }