feat(scum): rebuild plugin-owned management data

This commit is contained in:
npc0-hue
2026-08-15 12:43:09 +08:00
parent 92b1159cc8
commit 65353cf269
113 changed files with 3116 additions and 8058 deletions
@@ -3,12 +3,23 @@
"title": "SCUMEventStartPayload",
"type": "object",
"additionalProperties": false,
"required": ["eventType"],
"required": ["eventId", "eventType", "class", "title", "placard", "percent", "produces", "durationSeconds"],
"properties": {
"eventId": {
"type": "string",
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:-]{1,96}$"
},
"eventType": {
"type": "string",
"maxLength": 24,
"enum": ["airdrop", "convoy", "horde", "zombie-surge"]
"enum": ["range", "fixed"]
},
"class": {
"type": "integer",
"minimum": 1,
"maximum": 2,
"enum": [1, 2]
},
"durationSeconds": {
"type": "integer",
@@ -23,6 +34,37 @@
"announce": {
"type": "boolean"
},
"placard": {
"type": "string",
"maxLength": 500
},
"percent": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"npc": { "type": "integer", "minimum": 0, "maximum": 10000 },
"item": { "type": "integer", "minimum": 0, "maximum": 10000 },
"zombie": { "type": "integer", "minimum": 0, "maximum": 10000 },
"animal": { "type": "integer", "minimum": 0, "maximum": 10000 },
"produces": {
"type": "array",
"maxItems": 100,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["tradeGoodsId", "percent", "value", "r", "x", "y", "z"],
"properties": {
"tradeGoodsId": { "type": "string", "minLength": 1, "maxLength": 128 },
"percent": { "type": "integer", "minimum": 0, "maximum": 100 },
"value": { "type": "integer", "minimum": 1, "maximum": 10000 },
"r": { "type": "number", "minimum": 0, "maximum": 2000000 },
"x": { "type": "number", "minimum": -2000000, "maximum": 2000000 },
"y": { "type": "number", "minimum": -2000000, "maximum": 2000000 },
"z": { "type": "number", "minimum": -2000000, "maximum": 2000000 }
}
}
},
"title": {
"type": "string",
"minLength": 1,
@@ -50,9 +50,9 @@
"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 }
"x": { "type": "number", "minimum": -2000000, "maximum": 2000000 },
"y": { "type": "number", "minimum": -2000000, "maximum": 2000000 },
"z": { "type": "number", "minimum": -2000000, "maximum": 2000000 }
}
},
"tags": {
@@ -0,0 +1,11 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMEventsParameters",
"type": "object",
"additionalProperties": false,
"properties": {
"eventId": { "type": "string", "minLength": 1, "maxLength": 96 },
"userProfileId": { "type": "string", "minLength": 1, "maxLength": 96 },
"limit": { "type": "integer", "minimum": 1, "maximum": 500 }
}
}
@@ -0,0 +1,34 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMEventsResult",
"type": "object",
"additionalProperties": false,
"required": ["rows"],
"properties": {
"rows": {
"type": "array",
"maxItems": 500,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["eventRecordId", "eventId", "roundId", "userProfileId", "startTime", "endTime", "state", "score", "enemyKills", "teamKills", "deaths", "assists", "headshots"],
"properties": {
"eventRecordId": { "type": "string", "minLength": 1, "maxLength": 192 },
"eventId": { "type": "string", "minLength": 1, "maxLength": 96 },
"roundId": { "type": "string", "minLength": 1, "maxLength": 96 },
"userProfileId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"startTime": { "type": ["string", "null"], "maxLength": 120 },
"endTime": { "type": ["string", "null"], "maxLength": 120 },
"state": { "enum": ["active", "finished"] },
"score": { "type": ["number", "null"] },
"enemyKills": { "type": ["integer", "null"] },
"teamKills": { "type": ["integer", "null"] },
"deaths": { "type": ["integer", "null"] },
"assists": { "type": ["integer", "null"] },
"headshots": { "type": ["integer", "null"] }
}
}
},
"truncated": { "type": "boolean" }
}
}
@@ -11,18 +11,21 @@
"items": {
"type": "object",
"additionalProperties": false,
"required": ["flagId"],
"required": ["flagId", "entityId", "baseId", "ownerProfileId", "ownerPlayerId", "ownerSquadId", "ownerSquadName", "overtakerProfileId", "overtakeEndTime", "ownershipConfidence", "x", "y", "z"],
"properties": {
"flagId": { "type": "string", "minLength": 1, "maxLength": 96 },
"entityId": { "type": "string", "minLength": 1, "maxLength": 96 },
"ownerProfileId": { "type": "string", "minLength": 1, "maxLength": 96 },
"ownerPlayerId": { "type": "string", "minLength": 1, "maxLength": 96 },
"ownerSquadId": { "type": "string", "minLength": 1, "maxLength": 96 },
"ownerSquadName": { "type": "string", "minLength": 1, "maxLength": 80 },
"baseId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"ownerProfileId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"ownerPlayerId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"ownerSquadId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"ownerSquadName": { "type": ["string", "null"], "minLength": 1, "maxLength": 80 },
"overtakerProfileId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"overtakeEndTime": { "type": ["string", "null"], "format": "date-time" },
"ownershipConfidence": { "enum": ["direct", "member", "squad", "unknown"] },
"x": { "type": "number" },
"y": { "type": "number" },
"z": { "type": "number" }
"x": { "type": ["number", "null"] },
"y": { "type": ["number", "null"] },
"z": { "type": ["number", "null"] }
}
}
},
@@ -0,0 +1,10 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMNativeTimedGiftsParameters",
"type": "object",
"additionalProperties": false,
"properties": {
"userProfileId": { "type": "string", "minLength": 1, "maxLength": 96 },
"limit": { "type": "integer", "minimum": 1, "maximum": 500 }
}
}
@@ -0,0 +1,26 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMNativeTimedGiftsResult",
"type": "object",
"additionalProperties": false,
"required": ["rows"],
"properties": {
"rows": {
"type": "array",
"maxItems": 500,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["timedGiftId", "userProfileId", "mapId", "spawnTime", "spawnAt"],
"properties": {
"timedGiftId": { "type": "string", "minLength": 1, "maxLength": 192 },
"userProfileId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"mapId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"spawnTime": { "type": ["integer", "null"] },
"spawnAt": { "type": ["string", "null"], "format": "date-time" }
}
}
},
"truncated": { "type": "boolean" }
}
}
@@ -11,21 +11,22 @@
"items": {
"type": "object",
"additionalProperties": false,
"required": ["userProfileId"],
"required": ["userProfileId", "steamId", "gamePlayerId", "displayName", "squadId", "squadName", "famePoints", "normalBalance", "goldBalance", "x", "y", "z", "lastLoginTime", "lastSaveTime"],
"properties": {
"gamePlayerId": { "type": "string", "minLength": 1, "maxLength": 96 },
"gamePlayerId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"userProfileId": { "type": "string", "minLength": 1, "maxLength": 96 },
"steamId": { "type": "string", "minLength": 1, "maxLength": 96 },
"displayName": { "type": "string", "minLength": 1, "maxLength": 80 },
"squadId": { "type": "string", "minLength": 1, "maxLength": 96 },
"squadName": { "type": "string", "minLength": 1, "maxLength": 80 },
"famePoints": { "type": "number" },
"normalBalance": { "type": "number" },
"goldBalance": { "type": "number" },
"x": { "type": "number" },
"y": { "type": "number" },
"z": { "type": "number" },
"lastSaveTime": { "type": "string", "format": "date-time" }
"squadId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"squadName": { "type": ["string", "null"], "minLength": 1, "maxLength": 80 },
"famePoints": { "type": ["number", "null"] },
"normalBalance": { "type": ["number", "null"] },
"goldBalance": { "type": ["number", "null"] },
"x": { "type": ["number", "null"] },
"y": { "type": ["number", "null"] },
"z": { "type": ["number", "null"] },
"lastLoginTime": { "type": ["string", "null"], "maxLength": 120 },
"lastSaveTime": { "type": ["string", "null"], "format": "date-time" }
}
}
},
@@ -4,7 +4,7 @@
"type": "object",
"additionalProperties": false,
"properties": {
"subjectType": { "enum": ["player", "vehicle", "flag"] },
"subjectType": { "enum": ["player", "vehicle", "base", "flag"] },
"subjectId": { "type": "string", "minLength": 1, "maxLength": 96 },
"limit": { "type": "integer", "minimum": 1, "maximum": 500 }
}
@@ -11,17 +11,19 @@
"items": {
"type": "object",
"additionalProperties": false,
"required": ["subjectType", "subjectId", "x", "y"],
"required": ["subjectType", "subjectId", "userProfileId", "gamePlayerId", "vehicleId", "entityId", "baseId", "x", "y", "z", "observedAt"],
"properties": {
"subjectType": { "enum": ["player", "vehicle", "flag"] },
"subjectType": { "enum": ["player", "vehicle", "base", "flag"] },
"subjectId": { "type": "string", "minLength": 1, "maxLength": 96 },
"gamePlayerId": { "type": "string", "minLength": 1, "maxLength": 96 },
"vehicleId": { "type": "string", "minLength": 1, "maxLength": 96 },
"entityId": { "type": "string", "minLength": 1, "maxLength": 96 },
"x": { "type": "number" },
"y": { "type": "number" },
"z": { "type": "number" },
"lastSaveTime": { "type": "string", "format": "date-time" }
"userProfileId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"gamePlayerId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"vehicleId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"entityId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"baseId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"x": { "type": ["number", "null"] },
"y": { "type": ["number", "null"] },
"z": { "type": ["number", "null"] },
"observedAt": { "type": ["string", "null"], "format": "date-time" }
}
}
},
@@ -11,16 +11,15 @@
"items": {
"type": "object",
"additionalProperties": false,
"required": ["squadId", "userProfileId"],
"required": ["squadId", "userProfileId", "gamePlayerId", "steamId", "displayName", "rank", "isLeader"],
"properties": {
"squadId": { "type": "string", "minLength": 1, "maxLength": 96 },
"userProfileId": { "type": "string", "minLength": 1, "maxLength": 96 },
"gamePlayerId": { "type": "string", "minLength": 1, "maxLength": 96 },
"steamId": { "type": "string", "minLength": 1, "maxLength": 96 },
"gamePlayerId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"steamId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"displayName": { "type": "string", "minLength": 1, "maxLength": 80 },
"rank": { "type": "string", "minLength": 1, "maxLength": 32 },
"isLeader": { "type": "boolean" },
"joinedAt": { "type": "string", "format": "date-time" }
"rank": { "type": ["string", "null"], "minLength": 1, "maxLength": 32 },
"isLeader": { "type": "integer", "minimum": 0, "maximum": 1 }
}
}
},
@@ -11,14 +11,18 @@
"items": {
"type": "object",
"additionalProperties": false,
"required": ["squadId"],
"required": ["squadId", "name", "leaderProfileId", "leaderPlayerId", "memberCount", "score", "memberLimit", "message", "info", "lastMemberLoginTime"],
"properties": {
"squadId": { "type": "string", "minLength": 1, "maxLength": 96 },
"name": { "type": "string", "minLength": 1, "maxLength": 80 },
"leaderProfileId": { "type": "string", "minLength": 1, "maxLength": 96 },
"leaderPlayerId": { "type": "string", "minLength": 1, "maxLength": 96 },
"leaderProfileId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"leaderPlayerId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"memberCount": { "type": "integer", "minimum": 0, "maximum": 1000 },
"score": { "type": "number" }
"score": { "type": ["number", "null"] },
"memberLimit": { "type": ["integer", "null"], "minimum": 0 },
"message": { "type": ["string", "null"], "maxLength": 4096 },
"info": { "type": ["string", "null"], "maxLength": 4096 },
"lastMemberLoginTime": { "type": ["string", "null"], "maxLength": 120 }
}
}
},
@@ -0,0 +1,10 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMTasksParameters",
"type": "object",
"additionalProperties": false,
"properties": {
"userProfileId": { "type": "string", "minLength": 1, "maxLength": 96 },
"limit": { "type": "integer", "minimum": 1, "maximum": 500 }
}
}
@@ -0,0 +1,31 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SCUMTasksResult",
"type": "object",
"additionalProperties": false,
"required": ["rows"],
"properties": {
"rows": {
"type": "array",
"maxItems": 500,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["taskRecordId", "taskKind", "userProfileId", "mapId", "trackingDataSetId", "dataAssetPath", "sequenceIndex", "isTracked", "state", "completionDeadline"],
"properties": {
"taskRecordId": { "type": "string", "minLength": 1, "maxLength": 160 },
"taskKind": { "enum": ["active-quest", "active-task", "available-task"] },
"userProfileId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"mapId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"trackingDataSetId": { "type": ["string", "null"], "minLength": 1, "maxLength": 96 },
"dataAssetPath": { "type": "string", "minLength": 1, "maxLength": 512 },
"sequenceIndex": { "type": ["integer", "null"] },
"isTracked": { "type": "integer", "minimum": 0, "maximum": 1 },
"state": { "enum": ["active", "available", "completed-before"] },
"completionDeadline": { "type": ["number", "null"] }
}
}
},
"truncated": { "type": "boolean" }
}
}
@@ -11,15 +11,14 @@
"items": {
"type": "object",
"additionalProperties": false,
"required": ["vehicleId"],
"required": ["vehicleId", "entityId", "className", "label", "x", "y", "z", "lastAccessTime", "isFunctional"],
"properties": {
"vehicleId": { "type": "string", "minLength": 1, "maxLength": 96 },
"entityId": { "type": "string", "minLength": 1, "maxLength": 96 },
"className": { "type": "string", "minLength": 1, "maxLength": 120 },
"label": { "type": "string", "minLength": 1, "maxLength": 120 },
"ownerProfileId": { "type": "string", "minLength": 1, "maxLength": 96 },
"ownerPlayerId": { "type": "string", "minLength": 1, "maxLength": 96 },
"squadId": { "type": "string", "minLength": 1, "maxLength": 96 },
"label": { "type": "string", "maxLength": 120 },
"lastAccessTime": { "type": ["string", "null"], "format": "date-time" },
"isFunctional": { "type": "integer", "minimum": 0, "maximum": 1 },
"x": { "type": "number" },
"y": { "type": "number" },
"z": { "type": "number" }
@@ -3,7 +3,7 @@
"title": "SCUMRewardDeliverPayload",
"type": "object",
"additionalProperties": false,
"required": ["grantId", "playerId", "items"],
"required": ["grantId", "playerId", "items", "operations"],
"properties": {
"playerId": {
"type": "string",
@@ -17,17 +17,25 @@
},
"items": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["catalogItemKey", "quantity"],
"required": ["catalogCode", "quantity"],
"properties": {
"catalogItemKey": { "type": "string", "maxLength": 64, "pattern": "^[a-z0-9-]{1,64}$" },
"catalogCode": { "type": "string", "maxLength": 128, "pattern": "^[A-Za-z0-9_.-]{1,128}$" },
"quantity": { "type": "integer", "minimum": 1, "maximum": 100 }
}
}
},
"operations": {
"type": "array",
"maxItems": 1000,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4096
}
}
}
}