at.atpcraft.player.snapshot
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.
Details · record, key any
| Kind | record |
|---|---|
| Record key | any |
| Authority | player.atpcraft.at |
| Indexed |
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"endorsement": {
"properties": {
"alg": {
"description": "Signature algorithm.",
"knownValues": [
"ed25519"
],
"maxLength": 32,
"type": "string"
},
"server": {
"description": "Signing server key id.",
"maxLength": 64,
"type": "string"
},
"sig": {
"description": "Ed25519 signature (64 bytes) over the canonical payload.",
"maxLength": 64,
"type": "bytes"
}
},
"required": [
"server",
"alg",
"sig"
],
"type": "object"
},
"main": {
"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.",
"key": "any",
"record": {
"properties": {
"aspects": {
"description": "Opaque aspect payloads, sorted by name, names unique.",
"items": {
"ref": "at.atpcraft.player.defs#aspect",
"type": "ref"
},
"maxLength": 16,
"type": "array"
},
"endorsements": {
"description": "Server signatures over the canonical snapshot payload.",
"items": {
"ref": "#endorsement",
"type": "ref"
},
"maxLength": 64,
"minLength": 1,
"type": "array"
},
"issuedAt": {
"description": "Snapshot creation time.",
"format": "datetime",
"type": "string"
},
"summary": {
"ref": "at.atpcraft.player.defs#summary",
"type": "ref"
},
"version": {
"description": "Monotonically increasing snapshot version (anti-rollback).",
"minimum": 1,
"type": "integer"
}
},
"required": [
"version",
"issuedAt",
"summary",
"aspects",
"endorsements"
],
"type": "object"
},
"type": "record"
}
},
"description": "Server-endorseable snapshot of a Minecraft player's state. Each endorsement is an Ed25519 signature from one trusted ATPcraft server.",
"id": "at.atpcraft.player.snapshot",
"lexicon": 1
}