Only show guides for your app
Almost every plugin config is a YAML file, and almost every "my plugin broke" is one wrong space. Learn the handful of rules, how to read the error the console prints, and how the File Manager warns you before you even save.
Nearly every plugin stores its settings in a .yml file — that's YAML, a format built to be human-readable. It mostly is, until one stray space or tab stops your whole plugin from loading. The good news: YAML has only a few rules, the console tells you exactly where you broke one, and the File Manager warns you before you even save. Learn this once and you'll never fear a config again.
| At a glance | |
|---|---|
| You need | A plugin installed (so it has a config), and the File Manager |
| Plan | Any |
| Time | Ten minutes, then it's a reflex |
YAML is key: value, grouped by indentation. Ninety percent of config trouble comes down to five rules:
enabled: true, not enabled:true.#, %, &, or starts with a symbol, wrap it in quotes: motd: "Welcome: come on in!". Color codes are the classic trap — write prefix: "&aServer &7» ", quoted.worlds:
- world
- world_nether
Here's a small, correct config so the shape is clear:
settings:
enabled: true
max-homes: 3
welcome-message: "&aWelcome, %player%!"
disabled-worlds:
- creative
- minigames
⚠️ Heads up: Never press Tab to indent in a config file. It looks the same as spaces but YAML rejects it. If your editor inserts tabs on Tab, type the spaces manually.
You don't have to spot mistakes with your eyes. Open the config in the File Manager editor and it does real work for you:
Alt+Z) so long lines don't hide off-screen, and use find & replace (Ctrl+H) to change a value everywhere at once.💡 Tip: Copy the file before a big edit (multi-select → Copy in the File Manager). If your change breaks something, you've got the working version to fall back to.
Save a broken config, restart, and the plugin's loader (SnakeYAML) prints something like this:
[ERROR] Could not load 'plugins/Essentials/config.yml'
mapping values are not allowed here
in 'reader', line 8, column 15:
motd: Welcome: to my server
^
Read it like a map:
line 8, column 15 — the exact spot. Jump to line 8 in the File Manager (the line numbers match), and count to column 15.^ pointer sits under the character that broke parsing. Here it's the second colon in Welcome: to my server — YAML thought a new key was starting. The fix is to quote the value: motd: "Welcome: to my server".Two other errors you'll meet:
| Console says | It means | Fix |
|---|---|---|
found character '\t' that cannot start any token |
A tab where spaces belong | Delete the tab, retype spaces |
mapping values are not allowed here |
An unquoted : inside a value |
Wrap the value in quotes |
could not find expected ':' |
A missing space after a colon, or bad indentation | Add the space; line up the indent |
Full walkthrough of the position pointer for JSON and YAML: Config file syntax errors.
🎯 Good to know: A plugin that fails to read its config often either regenerates a fresh default (losing your changes) or disables itself. Either way the console says so — so always check the console after a config edit.
After a restart, the console should show the plugin enabling normally with no YAML error, and your changed setting should take effect in-game. Run /plugins — a plugin that loaded cleanly shows green.
^ points to; the real mistake is at or just above it.