> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mrerrorx.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure PrimaxBattleRoyaleX: All Settings Explained

> A complete guide to every BattleRoyaleX configuration file — config.yml, messages.yml, game-settings.yml, and world-settings.yml with examples.

BattleRoyaleX uses four separate configuration files, each responsible for a distinct aspect of the plugin. Understanding what each file controls lets you tailor every match to your server's needs without touching settings you don't need to change.

**Configuration files at a glance:**

* `config.yml` — Core plugin behaviour, debug mode, language, and in-game locations.
* `messages.yml` — Every player-facing message with full color code and placeholder support.
* `game-settings.yml` — Per-mode rules: player limits, PvP timers, respawn mechanics, and more.
* `world-settings.yml` — World border sizing, shrink schedule, and spawn drop height.
* `data.yml` — Auto-managed player statistics. **Do not edit this file manually.**

***

## config.yml

`config.yml` is the main entry point for the plugin. It controls global behaviour that applies regardless of the active game mode.

| Field                      | Type     | Default   | Description                                                          |
| -------------------------- | -------- | --------- | -------------------------------------------------------------------- |
| `plugin.debug`             | Boolean  | `false`   | Enables verbose console logging. Enable only when diagnosing issues. |
| `plugin.check-for-updates` | Boolean  | `true`    | Checks for new plugin versions on startup and notifies ops.          |
| `plugin.language`          | String   | `en_US`   | Sets the active language file loaded from the `lang/` folder.        |
| `locations.lobby`          | Location | *(unset)* | The lobby teleport point. Set in-game with `/brsetlobby`.            |
| `locations.spawn`          | Location | *(unset)* | The match spawn point. Set in-game with `/brsetspawn`.               |

```yaml config.yml theme={null}
plugin:
  debug: false
  check-for-updates: true
  language: "en_US"

locations:
  lobby:    # Set with /brsetlobby
  spawn:    # Set with /brsetspawn
```

<Note>
  Never edit the `locations` block by hand. Use `/brsetlobby` and `/brsetspawn` in-game while standing at the correct position — BattleRoyaleX writes the coordinates automatically.
</Note>

***

## messages.yml

`messages.yml` contains every string shown to players. All messages support standard Minecraft color codes (`&a`, `&6`, etc.) and a set of built-in placeholders that BattleRoyaleX replaces at runtime.

**Available placeholders:**

| Placeholder   | Replaced with                 |
| ------------- | ----------------------------- |
| `{player}`    | The relevant player's name    |
| `{remaining}` | Number of players still alive |
| `{time}`      | Countdown or elapsed time     |
| `{kills}`     | Kill count in context         |
| `{team}`      | The player's team name        |

```yaml messages.yml theme={null}
winner-announcement: '&6{player} &ehas won the Battle Royale!'
kill-message: '&c{player} &7was eliminated. &e{remaining} &7players remain.'
```

Edit any value freely — changes take effect after a server restart.

***

## game-settings.yml

`game-settings.yml` governs the rules for each game mode individually. Each mode — `solo`, `squad`, and `deathmatch` — has its own configuration block, so you can apply different player limits, timers, and mechanics to each without affecting the others.

**What you can configure per mode:**

* Minimum and maximum player (or team) counts before a match starts.
* PvP grace period — the window at match start during which players cannot damage each other.
* Maximum match duration before a forced ending.
* Elytra availability during the match.
* Friendly fire rules (squad mode).
* Respawn delay (deathmatch mode).

```yaml game-settings.yml theme={null}
solo:
  min-players: 2
  max-players: 50
  pvp-grace-period: 30  # seconds before PvP is enabled
  match-timer: 600      # max match duration in seconds
  elytra-enabled: true

squad:
  min-teams: 2
  min-team-size: 2
  max-players: 40
  friendly-fire: false

deathmatch:
  match-duration: 600   # 10 minutes
  respawn-delay: 3      # seconds
```

***

## world-settings.yml

`world-settings.yml` controls the physical environment of each match — how large the world border starts, how quickly it closes in, and where players are dropped at the beginning of a round.

| Field                    | Description                                                     |
| ------------------------ | --------------------------------------------------------------- |
| `border.initial-size`    | The radius of the border when the match begins (in blocks).     |
| `border.final-size`      | The minimum radius the border shrinks to before the match ends. |
| `border.shrink-interval` | Seconds between each shrink step.                               |
| `border.shrink-amount`   | How many blocks the border contracts per step.                  |
| `spawn.height`           | The Y-level from which players are dropped at match start.      |
| `spawn.use-terraform`    | Whether to flatten or prepare the terrain around spawn points.  |

```yaml world-settings.yml theme={null}
border:
  initial-size: 1000
  final-size: 50
  shrink-interval: 60   # seconds between shrink steps
  shrink-amount: 50     # blocks per step

spawn:
  height: 200           # Y level for player drop
  use-terraform: true
```

***

<Tip>
  Apply configuration changes by restarting the server. Avoid using `/reload` — it can cause plugin state issues and lead to unexpected behaviour with BattleRoyaleX.
</Tip>

<Warning>
  `data.yml` is managed entirely by BattleRoyaleX and stores all player statistics. Do not edit this file manually — doing so can corrupt player data or cause the plugin to fail on startup.
</Warning>
