at.turtleme.player.status

turtleme.at

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "afloat": {
      "description": "The player has the game open but is not doing anything in particular.",
      "type": "token"
    },
    "cooking": {
      "description": "The player is at the range.",
      "type": "token"
    },
    "fishing": {
      "description": "The player is fishing, by any of the four methods.",
      "type": "token"
    },
    "main": {
      "description": "A declaration that an account plays turtle meat, and optionally that it is playing right now. Written by the player's own client and not verified by anyone: nothing here affects scoring, so there is nothing to gain by lying in it. Progress that does affect scoring lives in at.turtleme.player.state, which carries a signature.",
      "key": "literal:self",
      "record": {
        "properties": {
          "activity": {
            "description": "What the player is doing. Absent means they are not declaring a live session, only that they play.",
            "knownValues": [
              "at.turtleme.player.status#afloat",
              "at.turtleme.player.status#fishing",
              "at.turtleme.player.status#cooking"
            ],
            "type": "string"
          },
          "appearOffline": {
            "description": "Whether the player asks to be shown as offline. A record that sets it carries no activity or durationMinutes, so no reader finds a window open; the flag is here so that the choice follows the player to other clients. Absent means the same as false.",
            "type": "boolean"
          },
          "createdAt": {
            "description": "When the declaration was written. Client-declared and unverified.",
            "format": "datetime",
            "type": "string"
          },
          "durationMinutes": {
            "description": "How long the declared activity should be believed for, counted from createdAt. Presence expires rather than being switched off, because a browser tab that closes badly never gets to write the record that would clear it. A reader treats the player as present only while createdAt plus this duration is still in the future.",
            "maximum": 1440,
            "minimum": 1,
            "type": "integer"
          },
          "ranked": {
            "description": "Whether the player wants to appear on the public leaderboard. This is a request rather than a setting: what actually puts someone on the board is having published at.turtleme.player.state, and deleting that record removes them regardless of what this says.",
            "type": "boolean"
          }
        },
        "required": [
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "at.turtleme.player.status",
  "lexicon": 1
}

Validate Record

Validate a record against at.turtleme.player.status

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:f4h4tl43o4vx4hv2xps6siuz
CID
bafyreiephziykn7f35bpzugibv64bxho54xfr22kn6pjoxp4psujjxclxu
Indexed At
2026-09-25 16:39 UTC
AT-URI
at://did:plc:f4h4tl43o4vx4hv2xps6siuz/com.atproto.lexicon.schema/at.turtleme.player.status

Version History (2 versions)

Similar Lexicons

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

  • One adjudicated session of play, published by the player as a public trail of how their progress was earned. The leaderboard does not need these records; at.turtleme.player.state alone is enough to rank someone. They ex…

  • A player's game progress, as adjudicated by turtle meat and published by the player. The record lives in the player's own repository and can be deleted by them at any time, which removes them from the public leaderboard…

  • A declaration of a at://2048 player's profile

Lexicon Garden

@