ink.igav.galaxius.temp.map

galaxius-gm.igav.ink

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "credit": {
      "properties": {
        "did": {
          "description": "The person's DID, when one is known.",
          "format": "did",
          "type": "string"
        },
        "name": {
          "description": "The person's name as text; profiles are looked up by DID, never copied here.",
          "maxGraphemes": 200,
          "type": "string"
        },
        "role": {
          "description": "What the person did for the map.",
          "knownValues": [
            "author",
            "renewed"
          ],
          "maxGraphemes": 32,
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "main": {
      "description": "A Galaxius map under a readable slug; its credits name who made it. Content records are immutable: a changed map is a new record under a new slug.",
      "key": "any",
      "record": {
        "properties": {
          "createdAt": {
            "description": "When this record was created.",
            "format": "datetime",
            "type": "string"
          },
          "credits": {
            "description": "The people who made the map.",
            "items": {
              "ref": "#credit",
              "type": "ref"
            },
            "maxLength": 100,
            "type": "array"
          },
          "description": {
            "description": "A short description of the map.",
            "maxGraphemes": 3000,
            "type": "string"
          },
          "name": {
            "description": "The map's name.",
            "maxGraphemes": 100,
            "type": "string"
          },
          "players": {
            "description": "The number of seats the map is designed for; the engine and the game record decide what a game can seat.",
            "ref": "#players",
            "type": "ref"
          },
          "size": {
            "description": "The playfield size, in hundredths of a map unit.",
            "ref": "#size",
            "type": "ref"
          },
          "stars": {
            "description": "The stars, inline: at most 5,000, so the record stays under a PDS's usual 1 MiB request limit.",
            "items": {
              "ref": "#star",
              "type": "ref"
            },
            "maxLength": 5000,
            "minLength": 1,
            "type": "array"
          }
        },
        "required": [
          "name",
          "credits",
          "size",
          "players",
          "stars",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "players": {
      "properties": {
        "max": {
          "description": "The most seats the map is designed for.",
          "minimum": 1,
          "type": "integer"
        },
        "min": {
          "description": "The fewest seats the map is designed for.",
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "min",
        "max"
      ],
      "type": "object"
    },
    "size": {
      "properties": {
        "height": {
          "description": "The playfield's height, in hundredths of a map unit.",
          "minimum": 1,
          "type": "integer"
        },
        "width": {
          "description": "The playfield's width, in hundredths of a map unit.",
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "width",
        "height"
      ],
      "type": "object"
    },
    "star": {
      "properties": {
        "asteroids": {
          "description": "Asteroids to mine; a mining station yields 3 per asteroid per hour.",
          "minimum": 0,
          "type": "integer"
        },
        "defence": {
          "description": "Combat multiplier e^(defence/100), in percent, for whoever holds the star. May be negative.",
          "type": "integer"
        },
        "habitable": {
          "description": "Whether a colony can be built; mining works either way.",
          "type": "boolean"
        },
        "id": {
          "description": "The star's number on the map; unique within the map.",
          "minimum": 1,
          "type": "integer"
        },
        "income": {
          "description": "Money per game hour, once a colony is built.",
          "minimum": 0,
          "type": "integer"
        },
        "name": {
          "description": "The star's name.",
          "maxGraphemes": 64,
          "type": "string"
        },
        "productivity": {
          "description": "Factories beyond this many produce only 40%. May be negative.",
          "type": "integer"
        },
        "start": {
          "description": "Whether a player can start here.",
          "type": "boolean"
        },
        "tech": {
          "description": "The most labs the star can have.",
          "minimum": 0,
          "type": "integer"
        },
        "type": {
          "description": "The star's sprite, 1-9 in the original maps; no effect on play.",
          "minimum": 1,
          "type": "integer"
        },
        "x": {
          "description": "The star's x position, in hundredths of a map unit.",
          "minimum": 0,
          "type": "integer"
        },
        "y": {
          "description": "The star's y position, in hundredths of a map unit.",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "id",
        "name",
        "x",
        "y",
        "type",
        "income",
        "productivity",
        "tech",
        "asteroids",
        "defence",
        "habitable",
        "start"
      ],
      "type": "object"
    }
  },
  "description": "A Galaxius map: the star field, the seat count and the credits for one playfield.",
  "id": "ink.igav.galaxius.temp.map",
  "lexicon": 1
}

Validate Record

Validate a record against ink.igav.galaxius.temp.map

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:whg4cehv5lzx6yorjkwzbk56
CID
bafyreihubc6iohirkfuqteycpf52rdet2bgppdkmlg7no4eqiwkybtcesy
Indexed At
2026-10-04 16:54 UTC
AT-URI
at://did:plc:whg4cehv5lzx6yorjkwzbk56/com.atproto.lexicon.schema/ink.igav.galaxius.temp.map

Lexicon Garden

@