功能修改

This commit is contained in:
npc0-hue
2026-07-20 16:42:33 +08:00
parent 48b8ad8d6c
commit a0e69417db
224 changed files with 22015 additions and 884 deletions
@@ -0,0 +1,14 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMAnnouncementPayload",
"type": "object",
"additionalProperties": false,
"required": ["message"],
"properties": {
"message": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
}
}
@@ -0,0 +1,17 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMAnnouncementResult",
"type": "object",
"additionalProperties": false,
"required": ["accepted"],
"properties": {
"accepted": {
"type": "boolean"
},
"messageId": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
}
}
@@ -0,0 +1,37 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMCompanionHealthSnapshot",
"type": "object",
"additionalProperties": false,
"required": ["status", "observedAt"],
"properties": {
"status": {
"type": "string",
"enum": ["online", "degraded", "offline"]
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"observedAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
},
"latencyMs": {
"type": "integer",
"minimum": 0,
"maximum": 30000
},
"capabilities": {
"type": "array",
"maxItems": 16,
"items": {
"type": "string",
"pattern": "^[a-z][a-z0-9.-]{0,79}$"
},
"uniqueItems": true
}
}
}
@@ -0,0 +1,16 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMCompanionDiagnosticsPayload",
"type": "object",
"additionalProperties": false,
"properties": {
"includeWindowState": {
"type": "boolean"
},
"maxEntries": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
}
}
@@ -0,0 +1,24 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMCompanionDiagnosticsResult",
"type": "object",
"additionalProperties": false,
"required": ["status"],
"properties": {
"status": {
"type": "string",
"maxLength": 16,
"enum": ["online", "degraded", "offline"]
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"lastHeartbeatAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
}
}
}
@@ -0,0 +1,32 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMEventStartPayload",
"type": "object",
"additionalProperties": false,
"required": ["eventType"],
"properties": {
"eventType": {
"type": "string",
"maxLength": 24,
"enum": ["airdrop", "convoy", "horde", "zombie-surge"]
},
"durationSeconds": {
"type": "integer",
"minimum": 30,
"maximum": 86400
},
"maxParticipants": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"announce": {
"type": "boolean"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
}
}
@@ -0,0 +1,26 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMEventStartResult",
"type": "object",
"additionalProperties": false,
"required": ["accepted", "status"],
"properties": {
"accepted": {
"type": "boolean"
},
"status": {
"type": "string",
"maxLength": 16,
"enum": ["started", "queued", "rejected"]
},
"eventId": {
"type": "string",
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"message": {
"type": "string",
"maxLength": 200
}
}
}
@@ -0,0 +1,66 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMFlagsSnapshot",
"type": "object",
"additionalProperties": false,
"required": ["observedAt", "flags"],
"properties": {
"observedAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
},
"flags": {
"type": "array",
"maxItems": 512,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["flagId", "status"],
"properties": {
"flagId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"status": {
"type": "string",
"enum": ["active", "inactive", "contested", "unknown"]
},
"ownerPlayerId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"squadId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"radiusMeters": {
"type": "number",
"minimum": 0,
"maximum": 5000
},
"position": {
"type": "object",
"additionalProperties": false,
"required": ["x", "y", "z"],
"properties": {
"x": { "type": "number", "minimum": -100000, "maximum": 100000 },
"y": { "type": "number", "minimum": -100000, "maximum": 100000 },
"z": { "type": "number", "minimum": -100000, "maximum": 100000 }
}
},
"capturedAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
},
"lastUpdatedAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
}
}
}
}
}
}
@@ -0,0 +1,29 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMMaintenancePreparePayload",
"type": "object",
"additionalProperties": false,
"required": ["scope", "noticeSeconds", "reason"],
"properties": {
"scope": {
"type": "string",
"maxLength": 16,
"enum": ["server", "database", "companion"]
},
"noticeSeconds": {
"type": "integer",
"minimum": 60,
"maximum": 86400
},
"estimatedDurationSeconds": {
"type": "integer",
"minimum": 60,
"maximum": 86400
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
@@ -0,0 +1,26 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMMaintenancePrepareResult",
"type": "object",
"additionalProperties": false,
"required": ["accepted", "status"],
"properties": {
"accepted": {
"type": "boolean"
},
"status": {
"type": "string",
"maxLength": 16,
"enum": ["prepared", "queued", "rejected"]
},
"maintenanceId": {
"type": "string",
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"message": {
"type": "string",
"maxLength": 200
}
}
}
@@ -0,0 +1,45 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMOnlineSessionsSnapshot",
"type": "object",
"additionalProperties": false,
"required": ["observedAt", "onlineCount", "sessions"],
"properties": {
"observedAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
},
"onlineCount": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"sessions": {
"type": "array",
"maxItems": 200,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["sessionId", "playerName"],
"properties": {
"sessionId": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"playerName": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"startedAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
}
}
}
}
}
}
@@ -0,0 +1,22 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMPlayerLookupPayload",
"type": "object",
"additionalProperties": false,
"required": ["query", "maxResults"],
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"includeOffline": {
"type": "boolean"
},
"maxResults": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
}
}
@@ -0,0 +1,48 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMPlayerLookupResult",
"type": "object",
"additionalProperties": false,
"required": ["players"],
"properties": {
"players": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["playerId", "playerName", "status"],
"properties": {
"playerId": {
"type": "string",
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"playerName": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"status": {
"type": "string",
"maxLength": 16,
"enum": ["online", "offline", "unknown"]
},
"squadId": {
"type": "string",
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"lastSeenAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
}
}
}
},
"truncated": {
"type": "boolean"
}
}
}
@@ -0,0 +1,73 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMPlayersSnapshot",
"type": "object",
"additionalProperties": false,
"required": ["observedAt", "players"],
"properties": {
"observedAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
},
"players": {
"type": "array",
"maxItems": 1000,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["playerId", "playerName", "status"],
"properties": {
"playerId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"playerName": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"status": {
"type": "string",
"enum": ["online", "offline", "unknown"]
},
"squadId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"pingMs": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"lastSeenAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
},
"position": {
"type": "object",
"additionalProperties": false,
"required": ["x", "y", "z"],
"properties": {
"x": { "type": "number", "minimum": -100000, "maximum": 100000 },
"y": { "type": "number", "minimum": -100000, "maximum": 100000 },
"z": { "type": "number", "minimum": -100000, "maximum": 100000 }
}
},
"tags": {
"type": "array",
"maxItems": 16,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[A-Za-z0-9_.:-]+$"
}
}
}
}
}
}
}
@@ -0,0 +1,10 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMFlagOwnershipParameters",
"type": "object",
"additionalProperties": false,
"required": ["flagId"],
"properties": {
"flagId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" }
}
}
@@ -0,0 +1,27 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMFlagOwnershipResult",
"type": "object",
"additionalProperties": false,
"required": ["ownership"],
"properties": {
"ownership": {
"type": "array",
"maxItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["flagId", "status"],
"properties": {
"flagId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"ownerPlayerId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"ownerPlayerName": { "type": "string", "minLength": 1, "maxLength": 80 },
"squadId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"squadName": { "type": "string", "minLength": 1, "maxLength": 80 },
"status": { "type": "string", "minLength": 1, "maxLength": 16, "enum": ["active", "inactive", "contested", "unknown"] },
"lastUpdatedAt": { "type": "string", "minLength": 1, "maxLength": 64, "format": "date-time" }
}
}
}
}
}
@@ -0,0 +1,15 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMPlayerByIdParameters",
"type": "object",
"additionalProperties": false,
"required": ["playerId"],
"properties": {
"playerId": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
}
}
}
@@ -0,0 +1,26 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMPlayerByIdResult",
"type": "object",
"additionalProperties": false,
"required": ["players"],
"properties": {
"players": {
"type": "array",
"maxItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["playerId", "playerName"],
"properties": {
"playerId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"playerName": { "type": "string", "minLength": 1, "maxLength": 80 },
"platformUserId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"squadId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"famePoints": { "type": "integer", "minimum": 0, "maximum": 2147483647 },
"lastSeenAt": { "type": "string", "minLength": 1, "maxLength": 64, "format": "date-time" }
}
}
}
}
}
@@ -0,0 +1,11 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMPlayerSearchParameters",
"type": "object",
"additionalProperties": false,
"required": ["nameContains", "limit"],
"properties": {
"nameContains": { "type": "string", "minLength": 1, "maxLength": 80 },
"limit": { "type": "integer", "minimum": 1, "maximum": 50 }
}
}
@@ -0,0 +1,27 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMPlayerSearchResult",
"type": "object",
"additionalProperties": false,
"required": ["players"],
"properties": {
"players": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["playerId", "playerName", "online"],
"properties": {
"playerId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"playerName": { "type": "string", "minLength": 1, "maxLength": 80 },
"platformUserId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"squadId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"online": { "type": "boolean" },
"lastSeenAt": { "type": "string", "minLength": 1, "maxLength": 64, "format": "date-time" }
}
}
},
"truncated": { "type": "boolean" }
}
}
@@ -0,0 +1,11 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMSquadMembersParameters",
"type": "object",
"additionalProperties": false,
"required": ["squadId", "limit"],
"properties": {
"squadId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"limit": { "type": "integer", "minimum": 1, "maximum": 64 }
}
}
@@ -0,0 +1,26 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMSquadMembersResult",
"type": "object",
"additionalProperties": false,
"required": ["members"],
"properties": {
"members": {
"type": "array",
"maxItems": 64,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["squadId", "playerId", "playerName", "role"],
"properties": {
"squadId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"playerId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"playerName": { "type": "string", "minLength": 1, "maxLength": 80 },
"role": { "type": "string", "minLength": 1, "maxLength": 16, "enum": ["leader", "member", "unknown"] },
"joinedAt": { "type": "string", "minLength": 1, "maxLength": 64, "format": "date-time" }
}
}
},
"truncated": { "type": "boolean" }
}
}
@@ -0,0 +1,10 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMVehicleOwnerParameters",
"type": "object",
"additionalProperties": false,
"required": ["vehicleId"],
"properties": {
"vehicleId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" }
}
}
@@ -0,0 +1,26 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMVehicleOwnerResult",
"type": "object",
"additionalProperties": false,
"required": ["ownership"],
"properties": {
"ownership": {
"type": "array",
"maxItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["vehicleId", "vehicleType", "status"],
"properties": {
"vehicleId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"vehicleType": { "type": "string", "minLength": 1, "maxLength": 80 },
"ownerPlayerId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"ownerPlayerName": { "type": "string", "minLength": 1, "maxLength": 80 },
"squadId": { "type": "string", "minLength": 1, "maxLength": 96, "pattern": "^[A-Za-z0-9_.:-]{1,96}$" },
"status": { "type": "string", "minLength": 1, "maxLength": 16, "enum": ["owned", "unowned", "unknown"] }
}
}
}
}
}
@@ -0,0 +1,24 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMRestartPreparePayload",
"type": "object",
"additionalProperties": false,
"required": ["warningSeconds", "reason"],
"properties": {
"warningSeconds": {
"type": "integer",
"minimum": 30,
"maximum": 3600
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"scheduleAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
}
}
}
@@ -0,0 +1,26 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMRestartPrepareResult",
"type": "object",
"additionalProperties": false,
"required": ["accepted", "status"],
"properties": {
"accepted": {
"type": "boolean"
},
"status": {
"type": "string",
"maxLength": 16,
"enum": ["prepared", "queued", "rejected"]
},
"restartId": {
"type": "string",
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"message": {
"type": "string",
"maxLength": 200
}
}
}
@@ -0,0 +1,29 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMRewardDeliverPayload",
"type": "object",
"additionalProperties": false,
"required": ["playerId", "itemId", "quantity"],
"properties": {
"playerId": {
"type": "string",
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"itemId": {
"type": "string",
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
}
@@ -0,0 +1,26 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMRewardDeliverResult",
"type": "object",
"additionalProperties": false,
"required": ["accepted", "status"],
"properties": {
"accepted": {
"type": "boolean"
},
"status": {
"type": "string",
"maxLength": 16,
"enum": ["queued", "delivered", "rejected"]
},
"deliveryId": {
"type": "string",
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"message": {
"type": "string",
"maxLength": 200
}
}
}
@@ -0,0 +1,62 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMSquadsSnapshot",
"type": "object",
"additionalProperties": false,
"required": ["observedAt", "squads"],
"properties": {
"observedAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
},
"squads": {
"type": "array",
"maxItems": 256,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["squadId", "name", "memberCount"],
"properties": {
"squadId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"memberCount": {
"type": "integer",
"minimum": 0,
"maximum": 64
},
"leaderPlayerId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"memberPlayerIds": {
"type": "array",
"maxItems": 64,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
}
},
"createdAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
},
"lastActiveAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
}
}
}
}
}
}
@@ -0,0 +1,71 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMVehiclesSnapshot",
"type": "object",
"additionalProperties": false,
"required": ["observedAt", "vehicles"],
"properties": {
"observedAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
},
"vehicles": {
"type": "array",
"maxItems": 2000,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["vehicleId", "vehicleType", "status"],
"properties": {
"vehicleId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"vehicleType": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"status": {
"type": "string",
"enum": ["parked", "in_use", "damaged", "destroyed", "unknown"]
},
"ownerPlayerId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"squadId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"fuelPercent": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"healthPercent": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"position": {
"type": "object",
"additionalProperties": false,
"required": ["x", "y", "z"],
"properties": {
"x": { "type": "number", "minimum": -100000, "maximum": 100000 },
"y": { "type": "number", "minimum": -100000, "maximum": 100000 },
"z": { "type": "number", "minimum": -100000, "maximum": 100000 }
}
},
"lastSeenAt": {
"type": "string",
"maxLength": 64,
"format": "date-time"
}
}
}
}
}
}