Configuring
The config files
plugins/ChorusCore/
├── config.yml storage, economy, language, confirmations, metrics,
│ staff log, updates
├── aliases.yml extra names for every command
├── messages.yml every line the plugin sends to chat
├── messages_es.yml Spanish, and the model for any other language
├── menus.yml every word that appears on a screen
├── motd.txt what players read as they join, and on /motd
├── info.txt the chapters behind /info
├── chorus.db the database, when storage is sqlite
└── modules/
├── homes.yml
├── warps.yml
├── spawn.yml
├── teleport.yml
├── utility.yml
├── economy.yml
├── shops.yml
├── chat.yml
├── items.yml
├── kits.yml
├── world.yml
├── staff.yml
├── players.yml
└── custom-commands.ymlThe rule for finding a setting: anything about one command is in that command's module
file; anything the whole plugin shares is in config.yml.
Reloading#
/chorus reload every file
/chorus reload kits one moduleThe module names are homes, warps, spawn, teleport-requests, utility, economy,
shops, chat, items, kits, world, staff, players and custom-commands.
Three things need a full restart instead:
- The
storagesection — the connection pool is built once. aliases.yml— command names are registered with the server at startup.- Adding, renaming or removing a custom command — same reason.
Changing what an existing custom command says is picked up by a reload.
config.yml#
startup-banner#
startup-banner: truefalse prints one line in the console instead of the block.
storage#
storage:
type: sqlite
file: chorus.db
mysql:
host: localhost
port: 3306
database: chorus
username: root
password: ''
pool-size: 8
properties:
useSSL: false
characterEncoding: utf8| Key | What it does |
|---|---|
type |
sqlite for a single file in this folder, nothing to set up. mysql for MySQL or MariaDB, which is what several servers sharing data need. |
file |
SQLite only, relative to plugins/ChorusCore/. |
mysql.pool-size |
How many connections are held open. Eight is plenty for one server. |
mysql.properties |
Appended to the connection URL as it is written. |
See Storage for what the tables are and how migrations work.
economy#
economy:
enabled: true
provider: auto
starting-balance: 0.0
minimum-balance: 0.0
maximum-balance: 1000000000000.0
currency:
symbol: "$"
suffix: false
decimals: 2
singular: coin
plural: coins| Key | What it does |
|---|---|
enabled |
false switches prices off entirely and leaves /pay and /balance saying so. |
provider |
auto uses the built-in ledger unless another economy plugin registered with Vault. self always uses the built-in one. vault uses another plugin only, and ignores every price if Vault is missing. off is the same as enabled: false. |
starting-balance |
What a brand new player has. |
minimum-balance / maximum-balance |
A balance is never taken past either. |
currency.symbol |
$, €, or a word. |
currency.suffix |
true writes 100$ instead of $100. |
currency.decimals |
0 to 4. |
currency.singular / plural |
The words for lines that read "5 coins". |
The currency block is only used by the built-in ledger. Another economy plugin formats its
own money its own way.
language#
language:
default: ''
per-player: falsedefault: '' is English — that is messages.yml itself. default: es gives everybody
messages_es.yml. per-player: true sends each player the file matching their own Minecraft
language instead. See Languages.
confirmations#
confirmations:
seconds: 15How long you have to run a command a second time to confirm it. 0 asks for nothing.
chorus.bypass.confirm skips them.
The commands that ask: /clearinventory, /delhome, /delwarp, /sethome over a home you
already have, /sweep of a whole world, a payment over economy.confirm-above, and both
importers.
metrics#
metrics: trueSends the server version, the storage type, the economy mode and how many modules are on to
bStats. No player data of any kind. false sends nothing.
staff-log#
staff-log:
enabled: true
keep-days: 60
page-size: 10Writes down freezing and unfreezing, /sudo, /lockdown, /tempfly, notes and every /eco.
Read it with /stafflog. keep-days: 0 keeps entries for ever, which on a busy server means
a table that only ever grows. page-size maximum is 50.
updates#
updates:
check: true
source: modrinth
project: choruscore
url: ''
notify-staff: true| Key | What it does |
|---|---|
check |
false never asks anybody anything. |
source |
modrinth, hangar, spigot or plain. |
project |
The project on that site. For spigot it is the number in the resource URL. Empty switches the check off. |
url |
Only read when source: plain — a page of your own that answers with nothing but a version number. |
notify-staff |
Tells anybody holding chorus.updates as they join. The console is told either way. |
It is a plain request for a version number, once at startup and once a day. Nothing is downloaded, nothing is installed, and nothing about this server is sent — not the address, not the player count, not even the version being run. Every failure is quiet: a site that is down, a renamed project or a server with no internet all end with no answer and no line in the console.
Module files#
Every module file has the same shape:
enabled: true # switches off every command in this file
<module>: # settings that belong to the module as a whole
...
commands:
defaults: ... # what every command below inherits
<command>: ... # what that one does differentlyThe commands half is the same everywhere and is documented once, in
Per-command rules. The settings half differs per module and is documented on
that module's own page.
Where every setting lives#
| Setting | File |
|---|---|
| Home limits, the homes menu, per-world home caps | modules/homes.yml |
Per-warp permissions, warp sorting, [Warp] signs |
modules/warps.yml |
| First-join spawn, respawn behaviour, per-world spawns | modules/spawn.yml |
Warmups, /back history, safe landing, request timeout |
modules/teleport.yml |
Service signs, /trash size, /near radius, /invsee refresh, motd on join |
modules/utility.yml |
Payment limits, /baltop size, the payment log |
modules/economy.yml |
| Sell prices, the sell multiplier, chest shop rules | modules/shops.yml |
| Mail retention and inbox size, social spy | modules/chat.yml |
Item restrictions, /condense recipes, inventory backups |
modules/items.yml |
| The kits themselves, the kit menu, the editor screen | modules/kits.yml |
Per-world permissions, /spawnmob limit, auto-sweep |
modules/world.yml |
| Auto-AFK, nickname length, GeoIP | modules/players.yml |
Your own /discord and /rules |
modules/custom-commands.yml |
modules/staff.yml holds no settings of its own: everything staff-related is a per-command
rule or a permission.
