Skip to content

config.yml

config.yml carries a config-version. When the number on disk is older than the plugin expects, AtlasRealms backs up the old file to config.yml.backup-v<old> and rewrites config.yml from the bundled layout with your values merged on top. Your own comments survive only in the backup. The current version is 11 — do not change that number by hand.

config-version: 11
locale: 'en_US'
debug: false
Key Default Notes
config-version 11 Moves forward on its own. Never edit it.
locale 'en_US' The file name under locales/, without the extension. See Messages & locale.
debug false Writes extra lines to the console.

Where realm, profile and template records live — never world data.

database:
type: sqlite
file: 'atlasrealms.db'
mysql:
host: 'localhost'
port: 3306
database: 'atlasrealms'
username: 'root'
password: ''
use-ssl: false
pool-size: 10
Key Default Notes
database.type sqlite sqlite or mysql (mariadb also works). SQLite needs no server; pick mysql when more than one server has to read the same records.
database.file 'atlasrealms.db' SQLite only. Lives in the plugin’s own folder.
database.mysql.host 'localhost' MySQL only.
database.mysql.port 3306 1–65535.
database.mysql.database 'atlasrealms'
database.mysql.username 'root'
database.mysql.password ''
database.mysql.use-ssl false
database.mysql.pool-size 10 Minimum 1.

This section only takes effect after a restart/realm admin reload does not re-read it.

realm:
world-storage: folder
polar-store: file
Key Default Notes
realm.world-storage folder folder (an ordinary Paper world per realm) or polar (one compact file per realm through PolarPaper — needs PolarPaper 2.1.0+ and Java 25).
realm.polar-store file file (one .polar file per world) or mysql (a row per world in atlasrealms_worlds; needs database.type: mysql). Ignored while world-storage: folder.
realm:
layout: world
grid:
world: ''
nether-world: ''
end-world: ''
spacing: 8192
width: 256
stamp-chunks-per-tick: 1
stamp-concurrency: 1
Key Default Notes
realm.layout world world (each realm is a world of its own) or grid (every realm is a square inside one shared world). Grid is the only layout that runs on Folia.
realm.grid.world '' Required when layout: grid. A world you make and load at startup — AtlasRealms only reads the name.
realm.grid.nether-world '' Optional. Leave blank and realms have no such side to their portals.
realm.grid.end-world '' Optional, same rule.
realm.grid.spacing 8192 Blocks between one realm and the next. Minimum 1024, and must be larger than realm.default-size.
realm.grid.width 256 Realms per row. Changing it after realms exist moves every one of them — set it once.
realm.grid.stamp-chunks-per-tick 1 Chunks written per tick while a realm is built or reset.
realm.grid.stamp-concurrency 1 How many realms may be built at once. Raise it on a region-threaded server (CanvasMC, Folia) if creation queues too long.

See World storage & layout for what the grid needs and what /realm admin status reports about it.

realm:
default-size: 100
default-member-size: 6
invite-expiry-seconds: 120
browse-limit: 100
unload-delay-seconds: 30
Key Default Notes
realm.default-size 100 World border size in blocks. atlasrealms.realm.size.<n> wins over this — see Permissions.
realm.default-member-size 6 Member seats. atlasrealms.member.size.<n> wins over this.
realm.invite-expiry-seconds 120 How long an invitation stays open.
realm.browse-limit 100 How many realms the browse menu lists. Each one builds a player head, so a high number costs time on the thread that opens the menu.
realm.unload-delay-seconds 30 Seconds a realm stays loaded, empty, after the last player leaves it. 0 unloads a tick later. Ignored under layout: grid, which loads nothing to unload.
realm:
purge:
after-days: 0
automatic: false
interval-hours: 24
Key Default Notes
realm.purge.after-days 0 Off until you write a number. A realm is abandoned when its owner and every member have been away this many days. A player never recorded keeps the realm.
realm.purge.automatic false Whether the plugin purges on its own. Leave this false and /realm admin purge confirm is the only thing that deletes.
realm.purge.interval-hours 24 Hours between automatic runs. Ignored while automatic is false.

realm.purge.automatic and realm.purge.interval-hours need a restart to take effect; after-days is read live by the manual command.

realm:
staged-copies: 1
pregen-chunks-per-tick: 4
Key Default Notes
realm.staged-copies 1 Ready copies of each template kept under plugins/AtlasRealms/staged/, so creating a realm is a rename rather than a folder copy. folder storage only — Polar keeps none. 0 copies on demand instead.
realm.pregen-chunks-per-tick 4 Chunks asked for per tick while theme generate builds a biome template.

Recipes for /realm admin theme generate-all, run one after another. This is not the list of themes the server has — that lives in the database and /realm admin theme list prints it.

realm:
generated-themes:
- id: plains
biome: plains
- id: desert
biome: desert
- id: snowy
biome: snowy_taiga
- id: cherry
biome: cherry_grove
- id: jungle
biome: jungle
- id: savanna
biome: savanna
- id: badlands
biome: badlands
- id: swamp
biome: swamp

Each entry needs id and biome. environment is optional and defaults to NORMAL — add a second entry with the same id and environment: NETHER to give that theme its own nether. See Themes & templates.

What a realm is worth on the day it is made. The owner changes these from the settings menu, and only what they change is written to their realm.

Flag Default Flag Default
pvp false fall-damage true
tnt-explosion true keep-inventory false
creeper-explosion true always-day false
fire-spread true always-night false
lava-flow true always-rain false
water-flow true always-clear false
enderman-grief true visitor-item-pickup true
mob-griefing true natural-monster-spawn false
crop-trample true natural-animal-spawn true
spawner-spawn true
realm:
locked-flags:
- keep-inventory
- pvp

realm.locked-flags names flags an owner may not change — the flag still holds at whatever realm.flags says, only the switch is taken away. See Flags & roles for what each flag does and how overrides persist.

realm:
reset:
cooldown-seconds: 0
max: 0
Key Default Notes
realm.reset.cooldown-seconds 0 Seconds a player waits between two resets. 0 is no wait.
realm.reset.max 0 How many resets a player gets, ever. 0 is no limit.

Both are counted against the player, not the realm, and neither needs Vault — they are limits, not prices. An admin running /realm admin realm reset <player> is never held by either.

Every key here needs Vault and an economy plugin behind it. Without one, every price is off — not free. See The bank & upgrades.

economy:
create-cost: 0
bank:
step: 100
border:
step: 0
cost: 1000
rise: 250
members:
step: 0
cost: 2500
rise: 1000
Key Default Notes
economy.create-cost 0 What /realm create costs, from the player’s own pocket. 0 is free. Refunded if creation fails.
economy.bank.step 100 What one click of the deposit or withdraw button moves. Shift-click is ten of them. /realm bank deposit <amount> still takes any number. Anything below 1 is read as 1.
economy.border.step 0 Blocks added per border upgrade purchase. 0 turns border upgrades off — the rank node then sets the border outright instead of capping it.
economy.border.cost 1000 What the first border step costs out of the bank.
economy.border.rise 250 Added to the cost for every step already bought. 0 keeps every step the same price.
economy.members.step 0 Seats added per member upgrade purchase. 0 turns member upgrades off.
economy.members.cost 2500 What the first member step costs.
economy.members.rise 1000 Added to the cost for every step already bought.

/realm admin status prints which economy AtlasRealms found, and the current create cost and ladder prices.