{
  "_doc": "The running battle-pass season. Read by api/main.py from {MIRROR_DIR}/battlepass.json — scp it up to start/replace a season, no deploy needed. Bumping `season` resets every player's xp and claims (api/main.py `_pass_doc`). Delete the file (or empty `tiers`) to run no season at all: the launcher hides the section.",
  "_fields_doc": "xp_per_minute + daily_bonus + daily_xp_cap drive /pass/report; daily_xp_cap is the anti-cheat ceiling, since session length is client-reported. Each tier: xp (threshold) + kind (neo|cape|skin) + amount (نئو) or id (a live capes_catalog/skins_catalog id — an id that isn't on sale makes the claim fail) + name (shown in the launcher).",
  "season": 1,
  "name": "فصل اول — شروع",
  "ends_at": 1788134400,
  "xp_per_minute": 1,
  "daily_bonus": 30,
  "daily_xp_cap": 240,
  "_tiers_doc": "`kind: \"coins\"` no longer exists — the launcher does not pay out the SERVER economy (mc-launcher-3e3, ruled 2026-08-01) and api/main.py now raises on it. Currency tiers are `kind: \"neo\"` + `amount`. APPEND new tiers, never insert: a player's claims are stored by tier INDEX, so inserting one in the middle re-points every claim after it at a different reward.",
  "tiers": [
    { "xp": 0, "kind": "cape", "id": "neocraft", "name": "شنل نئوکرافت" },
    { "xp": 300, "kind": "skin", "id": "royal", "name": "اسکین سلطنتی" },
    { "xp": 800, "kind": "cape", "id": "aurora", "name": "شنل شفق" },
    { "xp": 1500, "kind": "skin", "id": "void", "name": "اسکین تهی" },
    { "xp": 2400, "kind": "cape", "id": "ember", "name": "شنل اخگر" },
    { "xp": 3200, "kind": "neo", "amount": 300, "name": "۳۰۰ نئو" },
    { "xp": 4200, "kind": "neo", "amount": 600, "name": "۶۰۰ نئو" }
  ]
}
