> 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/edevents/features/configuration.md).

# Configuration (config.yml)

`config.yml` holds the global settings and the **event defaults**. Events live in `events/<id>.yml` (see [Creating Events](/p/edevents/features/events.md)); anything an event file does not set is taken from `event-defaults`, so most event files are 20 lines long.

Colors: `&a` legacy codes and `&#RRGGBB` hex everywhere. Durations: `90s`, `5m`, `1h30m`, `2d`.

## General

| Key                                 | Description                                                                                                                                                                                                                           |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `host-plugin`                       | `AUTO` detects the installed plugin (EdPrison / PinnaPrison / EdTools / EdDungeons). Only set a name when several are installed.                                                                                                      |
| `debug`                             | Extra console output.                                                                                                                                                                                                                 |
| `max-concurrent-events`             | How many events may run at once (default `1`).                                                                                                                                                                                        |
| `rewards-on-manual-stop`            | Give rewards when an event is stopped with `/events stop`.                                                                                                                                                                            |
| `community-placements-when-failed`  | In a COMMUNITY event that missed its goal, still reward the top contributors.                                                                                                                                                         |
| `time-format` / `time-format-short` | Patterns for `{time_left}`, `{duration}`, `%edevents_next_in%`... Tokens: `{d} {h} {m} {s}`, zero-padded `{hh} {mm} {ss}`, and conditional blocks `[d]...[/d]` `[h]...[/h]` `[m]...[/m]` that only show when that unit is above zero. |

```yaml
time-format: "[d]{d}d [/d][h]{h}h [/h][m]{m}m [/m]{s}s"   # 1h 5m 3s
time-format-short: "[d]{d}d [/d][h]{h}:[/h]{mm}:{ss}"       # 1:05:03
```

## Number format

Used by every `{..._formatted}` placeholder when the host plugin cannot format numbers (all four supported plugins can, so on them `1.5K` matches the rest of the server).

```yaml
format:
  mode: ABBREVIATED       # ABBREVIATED (1.5K) or PRETTY (1,500)
  decimals: 2
  separator: ","
  suffixes: [K, M, B, T, Qa, Qi, Sx, Sp, Oc, No, Dc]
```

## Progress bar

`{bar}` (goal progress), `{player_bar}` (own progress) and `{time_bar}` (time left):

```yaml
progress-bar:
  length: 20
  filled: "&a|"
  empty: "&7|"
```

## Scheduler

See [Automatic Events](/p/edevents/features/scheduler.md).

## Action bar

See [Boss Bar & Action Bar](/p/edevents/features/displays.md).

## Chat head

See [Winner Announcement & Chat Heads](/p/edevents/features/winner-announcement.md).

## Progress sources

```yaml
objectives:
  blocks:
    source: AUTO              # AUTO | HOST | VANILLA | BOTH
  mobs:
    source: AUTO
  damage:
    source: AUTO
```

* `AUTO` — the host plugin's events when it provides that objective, vanilla Bukkit events otherwise.
* `HOST` — host plugin only. `VANILLA` — vanilla `BlockBreakEvent` / `EntityDeathEvent` / damage only.
* `BOTH` — both (on EdPrison this double counts hand-mined blocks; on PinnaPrison/EdTools zone blocks are client-side and never fire vanilla events, so `BOTH` simply adds real-world blocks).
* Blocks broken by enchants, explosions, bombs, drills and autominers are **not** counted unless the event sets `objective.count-enchant-blocks: true` (see [Creating Events](/p/edevents/features/events.md)).

## Other

| Key                          | Description                                                                      |
| ---------------------------- | -------------------------------------------------------------------------------- |
| `leaderboard.per-page`       | Entries per page in `/events top`.                                               |
| `rewards.queued-delay-ticks` | Delay before rewards queued for an offline player are delivered after they join. |
| `storage.*`                  | Database settings, see below.                                                    |

## Storage

```yaml
storage:
  type: H2                 # H2 (file database, no setup) or MYSQL
  save-interval: 30
  history-size: 50
  table-prefix: edevents_
  h2-file: data/edevents
  mysql:
    host: localhost
    port: 3306
    database: edevents
    username: root
    password: ''
    ssl: false
    properties: ''
```

Player data (statistics, display toggles, queued offline rewards) and the event history live in `<prefix>players` and `<prefix>history`. **H2** works out of the box (file `data/edevents.mv.db`); set `type: MYSQL` for networks (uses the MySQL driver shipped with the server, falls back to H2 with an error if none is available). Everything is cached in memory: reads never hit the database and changed players are written asynchronously every `save-interval` seconds and on shutdown. Old `data/players.json` / `data/history.json` files from the first builds are imported automatically once.

## Event defaults

The `event-defaults` section accepts **every key an event file accepts** — it is the base every event inherits from. Put your server-wide look (boss bar style, start/end messages, sounds, winner announcement, participation reward...) there once and keep event files minimal. See [Creating Events](/p/edevents/features/events.md) for every key.
