games.cavu.game

Cavu's sidecar to a game's games.atmosphere.define record: how the game launches and what it may do with a player's account. Same rkey as the define record: the game's slug (e.g. 'haiku-day'), which scopes everything the game may write (games.cavu.score / games.cavu.save at '<slug>[:...]', actor.rpg.stats at '<slug>'). The game's name, description, art and links live in the define record.

Repository @pardy.at did:plc:dp7v5b5kejmmzzpwmqyf5wj6 namespace authority
Details · record, key any
Kindrecord
Record keyany
Authoritycavu.games
Indexed

Record

record · key any

Properties

capabilities

requiredarray

Everything the game may do through a player's host. Shown before launch.

itemsref

define

requiredstring · at-uri

The games.atmosphere.define record this extends (same repo, same rkey).

guests

requiredboolean

Whether the game can be played without signing in (nothing is saved).

launchService

requiredstring · did

DID whose document names the launch service endpoint (#cavu_launch) and its grant-signing key.

listed

boolean

False keeps the game out of catalog listings (it can still be launched by link), e.g. while it is tested in production.

  • default: true

network

array

Outside services the game's server sends game data to (e.g. AI models). Requests may only go to these hosts. Shown to players before launch.

  • maxLength: 16
itemsref

pack

ref

The games.cavu.pack this game runs (Lua + assets), as an exact version (same repo). Publishing a new version, or rolling back, is pointing this at another pack.

Similar lexicons

semantic match

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

  • badge.blue CID-first attestation over the grant: DAG-CBOR(grant) -> SHA-256 -> CIDv1(dag-cbor), signed with low-S ECDSA by the key `key` (a DID URL resolving to a verification method in the launch service's DID document).

  • games.atmosphere.define

    record not from the namespace authority

    A game definition: what it is, what a player needs to play it, and what records it uses.

  • lol.folk.game

    record

    A game, published by the developer that made it. One per repo: the record lives in the developer's own repository and is the canonical, self-asserted definition of the game. Player-side records reference it by AT-URI.

  • One version of a game's code and assets: every file the game runs (its manifest.json, Lua modules, data files, assets/ and og.png), each a blob. A pack is never edited: a new version is a new record, and it goes live when the game's games.cavu.game record (same repo) points `pack` at it, so rolling back is pointing it at an older one. Game servers fetch the pack and check every blob against its CID.

  • A game somebody made in Make the Sky, published into their own repo: a title, a line about it, its look, and one to eight chapters, each one of Game the Sky's engines (a module) on one of its levels (a preset) with its knobs set. Play is decided by the chapters alone (and, in a game whose story branches, where its choices and jumps go). A game is edited in place (the same record, a new version): its board belongs to its way of playing (the chapters' modules, versions, presets and settings, and i