DUXPLIMA Documentation

Configuration

Every file the plugin writes, what belongs in it, reloading, and what an update does to your files.

The plugin writes its files into plugins/uxmKotl/ on first start; the folder is shown in Installation. Every file is HOCON. Run /uxmkotl reload (uxmkotl.admin.reload) after an edit; the few keys that need a restart say so on their page.

PageWhat it holds
config.confLanguage, storage, the crown, the outline, the plate push, the stick, rewards, economy, boards, menu sounds, moments
Arena filesarenas/<arena>.conf: one arena each
commands.confThe name, aliases and switch of every command
Menu filesmenus/*.conf: the four windows, and every key a window file takes
Messagesmessages/messages_<language>.conf: every line a player reads
LanguagesThe seven shipped languages, adding one, and how a player's language is chosen
theme.confThe colours, glyphs and small capitals every UXM plugin shares

HOCON in two minutes

RuleExample
A block opens and closes with bracescrown { claim-cooldown-ms = 1500 }
= or : between key and value; a block needs neitherslot = 0, stick { ... }
Text in quotes, numbers and true/false withouttype = "sqlite", pool-size = 4
Lists in square brackets, commas betweenperiods = [ alltime, weekly ]
A comment starts with ## the default is 1500
Two blocks of the same name mergea crown { } at the end adds to the one at the top

A file that does not parse stops the reload, keeps the configuration that worked, and the console names the file and the line. It is almost always a missing } or quote.

Reloading

/uxmkotl reload reads config.conf, the messages, theme.conf, the window files, the menu sounds and every arena file again, and starts the crown rings again for the arenas that are on. The configuration is swapped in one go, so nothing runs on half a file. A value that is wrong, such as a stick slot of 9, stops the reload with admin.reload-failed and the reason in the console, and the server keeps running on the last configuration that worked. The reply says how many milliseconds the reload took.

Needs a restartWhy
commands.confThe server builds its command tree once, at start
leaderboard.refresh-secondsThe board timer is started once
storageThe database is opened once

Players already in an arena keep the arena as it was when they got in until they leave.

What an update does

You never replace your files after an update. On the start after a new jar:

  1. Every file the jar ships that is missing is written.
  2. A key the release added is written into your config.conf with the comment that explains it, at its default.
  3. A value you set is never changed.
  4. Your file as it was goes to backups/<file>-<date>.conf; the last five copies of each file are kept.
  5. The database moves forward on its own.

The file is written again from what it holds, so your own formatting, such as alignment inside a block, may move. A key you deleted comes back with its default, which is why every switch says in its comment what turning it off means. The arena files are yours and an update never writes them.

Related: config.conf, Installation