at.atpcraft.server.profile
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "The server's self-description. Exactly one per server account; the record key is always 'self'. Written into the server account's own repo (PDS-authenticated), so no per-record signature is required.",
"key": "literal:self",
"record": {
"properties": {
"address": {
"description": "Public address players connect to, e.g. play.example.com:25565.",
"maxLength": 256,
"type": "string"
},
"atpcraftVersion": {
"description": "ATPcraft mod version, read at runtime from the Fabric mod metadata.",
"maxLength": 32,
"type": "string"
},
"capabilities": {
"description": "Enabled ATPcraft features, sorted, unique.",
"items": {
"knownValues": [
"join-gate",
"player-data-sync",
"skin-sync",
"labeler",
"rpg-actor"
],
"maxLength": 64,
"type": "string"
},
"maxLength": 32,
"type": "array"
},
"createdAt": {
"description": "When the server account first published its descriptor.",
"format": "datetime",
"type": "string"
},
"description": {
"description": "Free-text server description / MOTD.",
"maxLength": 2048,
"type": "string"
},
"minecraftVersion": {
"description": "Minecraft version the server runs, read at runtime.",
"maxLength": 32,
"type": "string"
},
"name": {
"description": "Server display name.",
"maxLength": 256,
"type": "string"
},
"operator": {
"ref": "#operator",
"type": "ref"
},
"signingKey": {
"ref": "#signingKey",
"type": "ref"
},
"updatedAt": {
"description": "Record update time (refreshed on every publish).",
"format": "datetime",
"type": "string"
}
},
"required": [
"name",
"minecraftVersion",
"atpcraftVersion",
"signingKey",
"updatedAt"
],
"type": "object"
},
"type": "record"
},
"operator": {
"description": "Optional operator/contact details for server directories and discovery.",
"properties": {
"contact": {
"description": "Free-text contact (email or handle).",
"maxLength": 256,
"type": "string"
},
"did": {
"description": "Operator's ATProto DID (the server account's own DID by default).",
"format": "did",
"type": "string"
},
"handle": {
"description": "Operator's handle.",
"maxLength": 256,
"type": "string"
},
"website": {
"description": "Operator/server website.",
"format": "uri",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
},
"signingKey": {
"description": "The server's Ed25519 endorsement public key. Consumers resolve a player record's endorsement keyId (the 'server' field) to this key to verify snapshot/skin endorsements without out-of-band key sharing.",
"properties": {
"alg": {
"description": "Signature algorithm.",
"knownValues": [
"ed25519"
],
"maxLength": 32,
"type": "string"
},
"keyId": {
"description": "Signing key id: first 16 base64url chars of SHA-256 over the public key. Matches the 'server' field in player endorsements.",
"maxLength": 64,
"type": "string"
},
"publicKey": {
"description": "Base64 (standard) X.509/SPKI-encoded Ed25519 public key.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"keyId",
"publicKey",
"alg"
],
"type": "object"
}
},
"description": "Self-published descriptor of an ATPcraft Minecraft server, written by the server into its own repository.",
"id": "at.atpcraft.server.profile",
"lexicon": 1
}
Metadata
- DID
-
did:plc:6y74tzb6iqeuzuqqxgkizrek - CID
-
bafyreibntgzvtlt4pzkexiow6dj6etsaqhj4dmoiwpzuhfwglg3kgvvpua - Indexed At
- 2026-06-15 17:17 UTC
- AT-URI
-
at://did:plc:6y74tzb6iqeuzuqqxgkizrek/com.atproto.lexicon.schema/at.atpcraft.server.profile
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
at.atpcraft.player.snapshot record
Server-endorseable snapshot of a Minecraft player's state. Each endorsement is an Ed25519 signature from one trusted ATPcraft server.
-
at.atpcraft.player.skin record
Server-endorsed player skin and cape references for ATPcraft. Each record is signed by the ATPcraft server that wrote it so other servers can verify the skin.
-
tech.waow.mcp.server record
A self-published declaration that this identity maintains an MCP (Model Context Protocol) server. One record per server, on the publisher's own PDS; the record key is conventionally a slug of the server name so redeploy…