One snapshot per player per server, endorsed by one or more ATPcraft servers. Any trusted server's endorsement is accepted on read; on write a server adds or refreshes its own endorsement. The record key is the server's signing key id.
any
Any valid record key
Properties
aspects
array
of
ref
at.atpcraft.player.defs#aspect
Required
Opaque aspect payloads, sorted by name, names unique.
maxLength: 16 itemsendorsements
array
of
ref
#endorsement
Required
Server signatures over the canonical snapshot payload.
maxLength: 64 itemsminLength: 1 itemsissuedAt
string
datetime
Required
Snapshot creation time.
summary
ref
at.atpcraft.player.defs#summary
Required
No description available.
version
integer
Required
Monotonically increasing snapshot version (anti-rollback).
minimum: 1View raw schema
{
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"version",
"issuedAt",
"summary",
"aspects",
"endorsements"
],
"properties": {
"aspects": {
"type": "array",
"items": {
"ref": "at.atpcraft.player.defs#aspect",
"type": "ref"
},
"maxLength": 16,
"description": "Opaque aspect payloads, sorted by name, names unique."
},
"summary": {
"ref": "at.atpcraft.player.defs#summary",
"type": "ref"
},
"version": {
"type": "integer",
"minimum": 1,
"description": "Monotonically increasing snapshot version (anti-rollback)."
},
"issuedAt": {
"type": "string",
"format": "datetime",
"description": "Snapshot creation time."
},
"endorsements": {
"type": "array",
"items": {
"ref": "#endorsement",
"type": "ref"
},
"maxLength": 64,
"minLength": 1,
"description": "Server signatures over the canonical snapshot payload."
}
}
},
"description": "One snapshot per player per server, endorsed by one or more ATPcraft servers. Any trusted server's endorsement is accepted on read; on write a server adds or refreshes its own endorsement. The record key is the server's signing key id."
}