games.cavu.subscribeSession

Bidirectional game session. Server->client messages are below; client->server frames are games.cavu.clientFrame.

Repository @pardy.at did:plc:dp7v5b5kejmmzzpwmqyf5wj6 namespace authority
Details · subscription
Kindsubscription
Authoritycavu.games
Indexed

Subscription

subscription · WebSocket

Parameters

query string

Messages

DAG-CBOR frames

#world

object

This viewer's projections of the entities that changed since its last #world frame. The first frame on a connection is a reset (every entity it can see). Never contains other players' secrets.

Errors

UnknownGame

No description in schema.

InvalidJoin

No description in schema.

RoomInitFailed

No description in schema.

ReduceFailed

No description in schema.

InvalidFrame

No description in schema.

UnknownFrame

No description in schema.

#world

object

This viewer's projections of the entities that changed since its last #world frame. The first frame on a connection is a reset (every entity it can see). Never contains other players' secrets.

Properties

ack

requiredinteger

Highest intent seq from this viewer that the world reflects.

  • minimum: 0

del

requiredarray

Entities gone, or no longer visible to this viewer.

itemsstring

reset

boolean

Replace the whole mirror with `set` (the connection's first frame).

set

requiredunknown

Map of entity id to its projection: { id, kind, parent?, children, ...fields } (typed by the game).

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Frames a client sends up the games.cavu.subscribeSession socket (DAG-CBOR event-stream framing: header {op:1, t:'#join'|'#intent'|'#ping'} + body).

  • 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.