games.cavu.tier-madness.subscribeGame
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"created": {
"description": "Reply to #create: the join code to share, and what goes in the host's games.cavu.tier-madness.lobby record.",
"properties": {
"code": {
"maxLength": 4,
"minLength": 4,
"type": "string"
},
"codeHash": {
"maxLength": 128,
"type": "string"
},
"expiresAt": {
"format": "datetime",
"type": "string"
},
"game": {
"maxLength": 64,
"type": "string"
},
"spaceHost": {
"format": "did",
"type": "string"
}
},
"required": [
"game",
"code",
"codeHash",
"expiresAt"
],
"type": "object"
},
"main": {
"description": "A game's live channel. The socket is bidirectional: the client sends games.cavu.tier-madness.clientFrame frames (#auth then #create/#join to play, or just #spectate to watch); the server sends a #snapshot of the game as that viewer may see it whenever it changes.",
"errors": [
{
"name": "GameNotFound"
},
{
"name": "AuthRequired"
},
{
"name": "BadFrame"
},
{
"name": "IllegalAction"
},
{
"name": "RateLimited"
},
{
"name": "GameStarted"
},
{
"description": "Couldn't record the move in the player's PDS; it wasn't applied.",
"name": "WriteFailed"
}
],
"message": {
"schema": {
"refs": [
"#snapshot",
"#created"
],
"type": "union"
}
},
"parameters": {
"properties": {},
"type": "params"
},
"type": "subscription"
},
"snapshot": {
"properties": {
"now": {
"description": "Server time, ms since epoch.",
"type": "integer"
},
"seq": {
"minimum": 0,
"type": "integer"
},
"view": {
"ref": "games.cavu.tier-madness.defs#gameView",
"type": "ref"
}
},
"required": [
"seq",
"now",
"view"
],
"type": "object"
}
},
"id": "games.cavu.tier-madness.subscribeGame",
"lexicon": 1
}
Metadata
- DID
-
did:plc:dp7v5b5kejmmzzpwmqyf5wj6 - CID
-
bafyreief6qk3w7o6j2c4sqtgqcu56tukpbaw3lyt54rro4fxy6sxybnhje - Indexed At
- 2026-10-02 18:11 UTC
- AT-URI
-
at://did:plc:dp7v5b5kejmmzzpwmqyf5wj6/com.atproto.lexicon.schema/games.cavu.tier-madness.subscribeGame
Referenced Schemas (1)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
games.cavu.subscribeSession subscription
Bidirectional game session. Server->client messages are below; client->server frames are games.cavu.clientFrame.
-
Frames a client sends up the games.cavu.tier-madness.subscribeGame socket. Intents only: the server validates each, records it in the player's own PDS (secret move + public commitment), and only then applies it.
-
games.cavu.clientFrame object
Frames a client sends up the games.cavu.subscribeSession socket (DAG-CBOR event-stream framing: header {op:1, t:'#join'|'#intent'|'#ping'} + body).