ink.igav.galaxius.temp.game

galaxius-gm.igav.ink

Documentation

A Galaxius game, written once by the game master; the game's whole public identity and the commitment its periods hang from.

main record

A Galaxius game, written once by the game master; the game's whole public identity and the commitment its periods hang from.

Record Key any Any valid record key

Properties

botSeats array of ref #botSeat Required

The seats the game master plays with in-process bots.

maxLength: 100 items
chainHead string Required

The hash chain's head, sha256 of period zero's secret, as 64 lowercase hex digits.

maxLength: 64 bytes
createdAt string datetime Required

When the game was created.

endTick integer Required

The tick the game ends on, from one; the period count is the ceiling of endTick over periodTicks.

minimum: 1
engineVersion string Required

The engine version the game is pinned to; a changed engine refuses to resume it.

maxGraphemes: 64 graphemes
liveKey string Required

The server's ack key as a did:key, so anyone can check its acknowledgements.

maxLength: 128 bytes
options ref #options Required

The creation flags that change the rules.

periodTicks integer Required

How many ticks make one period.

minimum: 1
preset string Required

The game's shape: a short match, or a persistent game that runs for days.

maxGraphemes: 32 graphemes
Known values: match, persistent
publicKey string Optional

The game master's public key, for M4's encrypted periods.

maxLength: 128 bytes
seats integer Required

The number of seats the game was created with, from two to sixteen.

minimum: 2maximum: 16
startRule string Required

How the seats got their start stars; drawn from the game's seed in M3b1.

maxGraphemes: 32 graphemes
Known values: drawn
tickMs integer Required

Real milliseconds per tick, fixed for the game.

minimum: 1
View raw schema
{
  "description": "A Galaxius game, written once by the game master; the game's whole public identity and the commitment its periods hang from.",
  "key": "any",
  "record": {
    "properties": {
      "botSeats": {
        "description": "The seats the game master plays with in-process bots.",
        "items": {
          "ref": "#botSeat",
          "type": "ref"
        },
        "maxLength": 100,
        "type": "array"
      },
      "chainHead": {
        "description": "The hash chain's head, sha256 of period zero's secret, as 64 lowercase hex digits.",
        "maxLength": 64,
        "type": "string"
      },
      "createdAt": {
        "description": "When the game was created.",
        "format": "datetime",
        "type": "string"
      },
      "endTick": {
        "description": "The tick the game ends on, from one; the period count is the ceiling of endTick over periodTicks.",
        "minimum": 1,
        "type": "integer"
      },
      "engineVersion": {
        "description": "The engine version the game is pinned to; a changed engine refuses to resume it.",
        "maxGraphemes": 64,
        "type": "string"
      },
      "liveKey": {
        "description": "The server's ack key as a did:key, so anyone can check its acknowledgements.",
        "maxLength": 128,
        "type": "string"
      },
      "map": {
        "description": "A strongRef to the map record.",
        "ref": "com.atproto.repo.strongRef",
        "type": "ref"
      },
      "options": {
        "description": "The creation flags that change the rules.",
        "ref": "#options",
        "type": "ref"
      },
      "periodTicks": {
        "description": "How many ticks make one period.",
        "minimum": 1,
        "type": "integer"
      },
      "preset": {
        "description": "The game's shape: a short match, or a persistent game that runs for days.",
        "knownValues": [
          "match",
          "persistent"
        ],
        "maxGraphemes": 32,
        "type": "string"
      },
      "publicKey": {
        "description": "The game master's public key, for M4's encrypted periods.",
        "maxLength": 128,
        "type": "string"
      },
      "ruleset": {
        "description": "A strongRef to the ruleset record.",
        "ref": "com.atproto.repo.strongRef",
        "type": "ref"
      },
      "seats": {
        "description": "The number of seats the game was created with, from two to sixteen.",
        "maximum": 16,
        "minimum": 2,
        "type": "integer"
      },
      "startRule": {
        "description": "How the seats got their start stars; drawn from the game's seed in M3b1.",
        "knownValues": [
          "drawn"
        ],
        "maxGraphemes": 32,
        "type": "string"
      },
      "tickMs": {
        "description": "Real milliseconds per tick, fixed for the game.",
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "map",
      "ruleset",
      "preset",
      "tickMs",
      "periodTicks",
      "endTick",
      "seats",
      "botSeats",
      "options",
      "startRule",
      "engineVersion",
      "chainHead",
      "liveKey",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}
botSeat object

No description available.

Properties

kind string Required

The bot's kind, one of the M1d bot configurations.

maxGraphemes: 32 graphemes
Known values: raider, balanced, turtle
seat integer Required

The seat the bot plays.

minimum: 1
View raw schema
{
  "properties": {
    "kind": {
      "description": "The bot's kind, one of the M1d bot configurations.",
      "knownValues": [
        "raider",
        "balanced",
        "turtle"
      ],
      "maxGraphemes": 32,
      "type": "string"
    },
    "seat": {
      "description": "The seat the bot plays.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "seat",
    "kind"
  ],
  "type": "object"
}
options object

No description available.

Properties

anonymous boolean Optional

Whether seats after the first may be taken without an ATProto account; absent in games from before identity.

diplomacy string Optional

The diplomacy mode the ruleset's flags.diplomacy is set to; absent keeps the ruleset's own.

maxGraphemes: 32 graphemes
Known values: none, open, fixed_teams
redirect boolean Required

Whether fleets in flight may always be redirected, overriding the ruleset's redirect gate.

rich boolean Required

Whether the game has the rich start: more starting money and capacity.

View raw schema
{
  "properties": {
    "anonymous": {
      "description": "Whether seats after the first may be taken without an ATProto account; absent in games from before identity.",
      "type": "boolean"
    },
    "diplomacy": {
      "description": "The diplomacy mode the ruleset's flags.diplomacy is set to; absent keeps the ruleset's own.",
      "knownValues": [
        "none",
        "open",
        "fixed_teams"
      ],
      "maxGraphemes": 32,
      "type": "string"
    },
    "redirect": {
      "description": "Whether fleets in flight may always be redirected, overriding the ruleset's redirect gate.",
      "type": "boolean"
    },
    "rich": {
      "description": "Whether the game has the rich start: more starting money and capacity.",
      "type": "boolean"
    }
  },
  "required": [
    "rich",
    "redirect"
  ],
  "type": "object"
}

Lexicon Garden

@