games.cavu.tier-madness.subscribeGame
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.
Details · subscription
| Kind | subscription |
|---|---|
| Authority | tier-madness.cavu.games |
| Indexed |
Checks
Valid Lint pass{
"$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
}