> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/pinnapass/the-pass/seasons.md).

# Seasons

The pass runs in numbered seasons (`data/season.yml`; with MySQL storage the database, so every server sharing it runs the same season, see [Storage & MySQL](/p/pinnapass/getting-started/storage.md)). A new season gives everyone a fresh pass: tier 1, no XP, no claims, new quests. Players online are reset at once, everyone else the next time their pass is loaded, so starting a season never scans the database.

```yaml
season:
  name: 'Season {number}'
  length-days: 0       # 0 = no end
  auto-next: false     # start the next season by itself when one ends
  reset:
    premium: true      # bought / given passes end with the season
    multiplier: true   # bought multiplier levels
    infinite: true     # the Infinite Pass
    boosts: false      # personal boosts still running
```

| Command                           |                                                                         |
| --------------------------------- | ----------------------------------------------------------------------- |
| `/pinnapass season`               | number, name, time left                                                 |
| `/pinnapass season start [days]`  | starts the next season now (`days` overrides `length-days`, 0 = no end) |
| `/pinnapass season end`           | ends the running season now                                             |
| `/pinnapass season setend <days>` | the season ends this many days from now (0 = no end)                    |

When a season with an end runs out and `auto-next` is off, the pass freezes (no XP, no new quests) and players are told once; start the next season when you are ready. Claiming already unlocked rewards still works.

Changing the rewards for a new season: edit `tiers.yml` / `quests.yml`, `/pinnapass reload`, then `/pinnapass season start`. Other plugins hear about it through `PassSeasonStartEvent`.
