> 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/pinnaduels/getting-started/configuration.md).

# Configuration

Everything is in `plugins/PinnaDuels/config.yml` and `messages.yml`; `/duel admin reload` reloads both and the arenas (a running duel keeps its settings). Every option is commented in the file.

## config.yml sections

| Section                | What                                                                                                                                                                 |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `world`                | name of the void world holding the arenas                                                                                                                            |
| `storage`              | `type` (`yaml` files or `mysql`) and the MySQL login; read at startup only, see [Storage](/p/pinnaduels/getting-started/storage.md)                                  |
| `tokens`               | Duel Token speed and cap, see [Tokens](/p/pinnaduels/playing/tokens-queue.md)                                                                                        |
| `duel`                 | `duration`, `countdown`, `results`, `afk-seconds`, `fallback-pickaxe` (material, name, lore, efficiency), `haste`, `allow-flight`, `refill-below`, `blocked-worlds`  |
| `display`              | `score-panel`, `boss-bar`, `win-particles`, `colors` (panel, track, left, right, highlight as `#RRGGBB` or `#AARRGGBB`)                                              |
| `arena`                | the generated arena, `palette` (mine blocks), `spacing`, `max-arenas`, `paste-ms-per-tick`, `time`, `keep-default`; see [Arenas](/p/pinnaduels/setting-up/arenas.md) |
| `queue`                | `require-accept`, `accept-seconds`, `decline-lockout`, `elo-range`, `elo-range-growth`, `max-elo-range`, `ghost-after`                                               |
| `friendly`             | `cooldown`, `invite-seconds`                                                                                                                                         |
| `ranked`               | ELO, placement, ghost K, daily rival limit, `decay`; see [Ranked](/p/pinnaduels/playing/ranked.md)                                                                   |
| `leagues` / `unranked` | the leagues                                                                                                                                                          |
| `title-glyphs`         | optional font characters for `_glyphs` placeholders                                                                                                                  |
| `season`               | `length-days`, `soft-reset`                                                                                                                                          |
| `rewards`              | `win`, `loss`, `weekly-wins`, `weekly-chest`, `season.<league>`                                                                                                      |
| `ghosts`               | `enabled`, `keep-per-player`, `max-total`, `min-score`, `held-item`, `glow`                                                                                          |
| `sounds`               | `'NAME volume pitch'` or a resource-pack key `'namespace:sound 1 1'`; `''` = off                                                                                     |

## messages.yml

* `prefix` is put wherever a message has `{prefix}`.
* `''` turns a message off; a list is several lines.
* Colours: `&` codes and `&#RRGGBB`.
* Titles are sections with `title`, `subtitle` and `times: 'fadeIn stay fadeOut'` (ticks).
* Keys missing from an old file are taken from the defaults, so updates never break it.
* Groups: chat messages, `titles.*`, `summary-*`, `bossbar.*`, `actionbar.*`, `panel.*` (score panel), `format.*` (score difference, versus), `leagues.*` (leagues menu), `setup.*` (arena wizard), `admin.*`, `broadcast-*` (end-of-duel announcements, `{button}` = the clickable queue button).
