games.cavu.pack

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.

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

Record

record · key tid

Properties

createdAt

requiredstring · datetime

files

requiredarray
  • maxLength: 4096
itemsref
Reference

game

requiredref

The game this is a version of (the games.cavu.game rkey).

version

string

A label for people (e.g. '1.4.0'); servers go by the record's CID.

  • maxLength: 64

#file

object

Properties

blob

requiredblob
  • maxSize: 100000000
  • accept: */*

path

requiredstring

Where the file sits in the pack: relative, '/'-separated, no '..' and no segment starting with '.'.

  • maxLength: 256

Similar lexicons

semantic match

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

  • One published build of a game: its logic, its display, and what it replaces. Everything that doesn't change between builds lives on the game's title instead (ADR 0037).

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