gg.postmatch.rocketleague.defs

jbhutch.bsky.social

{
  "id": "gg.postmatch.rocketleague.defs",
  "defs": {
    "side": {
      "enum": [
        "blue",
        "orange"
      ],
      "type": "string",
      "description": "An intrinsic Rocket League team side."
    },
    "team": {
      "type": "object",
      "required": [
        "side",
        "score"
      ],
      "properties": {
        "side": {
          "ref": "#side",
          "type": "ref"
        },
        "score": {
          "type": "integer",
          "minimum": 0,
          "description": "Final observed team score."
        }
      },
      "description": "Final score for one intrinsic Rocket League side."
    },
    "player": {
      "type": "object",
      "required": [
        "matchPlayerKey",
        "alias",
        "side",
        "stats"
      ],
      "properties": {
        "side": {
          "ref": "#side",
          "type": "ref",
          "description": "Intrinsic blue or orange side assigned to this player in the observed match."
        },
        "alias": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1,
          "description": "Public in-game display name observed on the final scoreboard.",
          "maxGraphemes": 32
        },
        "stats": {
          "ref": "#playerStats",
          "type": "ref"
        },
        "matchPlayerKey": {
          "type": "integer",
          "minimum": 0,
          "description": "Rocket League Shortcut value; unique only within this report and never a durable account identifier."
        }
      },
      "description": "A public final-scoreboard row identified only within this observed match."
    },
    "liveCapture": {
      "type": "object",
      "required": [
        "source",
        "transport",
        "collectorVersion",
        "endEvidence",
        "finalSnapshot"
      ],
      "properties": {
        "source": {
          "type": "string",
          "const": "rocket-league-game-data-api",
          "description": "Source API used for this observation."
        },
        "transport": {
          "type": "string",
          "const": "websocket",
          "description": "Transport used to receive the live frames."
        },
        "endEvidence": {
          "enum": [
            "match-ended-event",
            "score-derived"
          ],
          "type": "string",
          "description": "Evidence used to decide that the match was complete. match-ended-event means Rocket League emitted MatchEnded. score-derived means teardown arrived without MatchEnded and the collector inferred completion only from a decisive overtime score or a non-tied regulation score at zero seconds."
        },
        "finalSnapshot": {
          "enum": [
            "after-match-ended",
            "before-match-ended"
          ],
          "type": "string",
          "description": "Where the final scoreboard snapshot sat relative to an observed MatchEnded event. after-match-ended is the usual case. before-match-ended means the accumulated last in-match snapshot was used; endEvidence says whether MatchEnded was observed or completion was score-derived."
        },
        "collectorVersion": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1,
          "description": "Version of the Postmatch collector that assembled this report."
        }
      },
      "description": "Provenance for a complete report produced from Rocket League's live Game Data API."
    },
    "playerStats": {
      "type": "object",
      "required": [
        "score",
        "goals",
        "shots",
        "assists",
        "saves",
        "demos",
        "touches"
      ],
      "properties": {
        "demos": {
          "type": "integer",
          "minimum": 0
        },
        "goals": {
          "type": "integer",
          "minimum": 0
        },
        "saves": {
          "type": "integer",
          "minimum": 0
        },
        "score": {
          "type": "integer",
          "minimum": 0,
          "description": "In-game scoreboard points, not goals."
        },
        "shots": {
          "type": "integer",
          "minimum": 0
        },
        "assists": {
          "type": "integer",
          "minimum": 0
        },
        "touches": {
          "type": "integer",
          "minimum": 0,
          "description": "Ball touches; car-to-car contact is not included."
        }
      },
      "description": "Final Rocket League scoreboard totals for one match player."
    },
    "reportingPlayer": {
      "type": "object",
      "required": [
        "matchPlayerKey"
      ],
      "properties": {
        "matchPlayerKey": {
          "type": "integer",
          "minimum": 0,
          "description": "Must resolve to exactly one player row in this report."
        }
      },
      "description": "Identifies which match-scoped scoreboard row represents the author of this repository record."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Reusable definitions for complete Rocket League matches observed by the Postmatch live collector."
}

Validate Record

Validate a record against gg.postmatch.rocketleague.defs

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:i3mm6gpnxjjygdqt5utxopqw
CID
bafyreigadxbb3h3ljerllrb6tssdd2tkgx3xkcqkqe32u42nkiyv5smwau
Indexed At
2026-08-30 05:16 UTC
AT-URI
at://did:plc:i3mm6gpnxjjygdqt5utxopqw/com.atproto.lexicon.schema/gg.postmatch.rocketleague.defs

Lexicon Garden

@