Configuration
Every key of config.yml: language, requests, match times, modes, bets, spectators, after the duel, history, replays, network, the duel scoreboards and the command allowlist, plus messages and menus.
plugins/ExyliaDuels/config.yml holds everything that is not a message, a menu, an arena or a kit. Arenas
and kits, with their flags and rules, are made in game with /duelsadmin. Every key of this file can be
changed in game too: the panel's Settings card holds the modes, bets and limits, and All settings
opens every key. Both write this file. Times are written 30s, 5m, 1h30m or 30d.
Apply a hand edit with /duelsadmin reload.
Language
languagestringpor defecto defaultdefault follows the language set in ExyliaLib's config.yml; en, es, fr, pt, ru or tr sets
this plugin alone. Each is a folder under lang/ you can edit.
debugbooleanpor defecto falseExplains in the console what the plugin is doing.
Challenges: requests
| Key | Default | What it does |
|---|---|---|
requests.expiry | 60s | How long a challenge waits for an answer. |
requests.cooldown | 10s | Time a player waits between two challenges sent. exyliaduels.cooldown.<n> gives a rank <n> seconds instead, the lowest winning. Skipped with exyliaduels.bypass.cooldown. |
The fight: match
| Key | Default | What it does |
|---|---|---|
match.countdown | 5s | Countdown before the fight, with both players frozen in place. |
match.max-duration | 10m | Longest a fight may last, every round of it together. When it runs out the duel is a draw, whatever the round score, and every stake is refunded. |
match.end-delay | 3s | Time the result stays on screen before both players are sent back, and between two rounds. |
Each round after the first starts with the same match.countdown.
Modes: modes
| Key | Default | What it does |
|---|---|---|
modes.own-inventory | true | Players may fight with their own inventory. |
modes.risk | true | With their own inventory, players may agree that the loser's inventory goes to the winner. |
A kit is always offered while at least one kit is enabled, or another plugin offers one. Which modes a player may pick also depends on their rank: see Permissions.
Bets: bets
| Key | Default | What it does |
|---|---|---|
bets.money.enabled | true | Money bets. |
bets.money.currency | "" | The currency a new money bet starts with, by its ExyliaLib id. Empty uses the server's default. It is also the currency money_won records count. |
bets.money.currencies | [] | The currencies a bet may use, by their ExyliaLib id. Empty offers every currency the player may use. |
bets.money.minimum | 100 | Smallest stake per player. |
bets.money.maximum | 0 | Largest stake per player. 0 means no limit. exyliaduels.bet.max.<n> gives a rank a largest stake of <n> (0: none) instead, the highest winning. |
bets.money.tax-percent | 5.0 | Share of the pot destroyed when a duel is won, from 0 to 100. Draws and cancelled duels are refunded in full. exyliaduels.tax.<n> gives a winner's rank <n> percent instead, the lowest winning. Players with exyliaduels.bypass.tax keep everything. |
bets.items.enabled | true | Item bets: players on the same server put their stakes in a trade window and confirm. |
List only currencies players earn in game in bets.money.currencies. Never offer a currency bought with
real money. See ExyliaLib's economy for the currency ids.
Spectators: spectators
spectators.enabledbooleanpor defecto truePlayers may watch a duel with /duel spectate <player>, in spectator mode inside the arena.
After the duel: after-duel
after-duel.windowdurationpor defecto 5mHow long the [INVENTORY], [YOURS] and [⟲ REMATCH] buttons of the end-of-duel block work. 0s
turns them off. See Duelling.
History: history
| Key | Default | What it does |
|---|---|---|
history.enabled | true | Stores every decided duel for /duel history, draws included. Cancelled duels never. |
history.keep | 45 | How many duels each player keeps, newest first. 0 keeps every one. |
history.max-age | 30d | Duels older than this are deleted. 0s keeps them however old. |
Replays: replays
| Key | Default | What it does |
|---|---|---|
replays.enabled | true | Records every duel that reaches the fight. Needs history.enabled: a replay is reached from its duel there, and goes when both players' rows of it are gone. |
replays.kit-only | false | Records only duels fought with a kit. |
replays.max-age | 14d | Replays older than this are deleted, even while the history still lists the duel. 0s keeps them as long as the history does. |
Network: network
| Key | Default | What it does |
|---|---|---|
network.enabled | false | Players on other servers can be challenged, and server-kit duels are fought on the arena server. |
network.arena-server | arena | The server-id of the server that hosts network duels, as the proxy names it. |
network.shared-economy | false | Whether every server shares one economy. Only then may players on different servers bet money. |
See Network before turning it on.
The duel scoreboards: scoreboard, hits-scoreboard, rounds-scoreboard
The sidebar both fighters see from the countdown to the end of the duel. scoreboard is the usual one;
hits-scoreboard replaces it in a duel with a hits-to-win kit, and rounds-scoreboard in a duel with a kit
of several rounds (it wins when a kit has both). The three have the same keys.
| Key | Default | What it does |
|---|---|---|
scoreboard.enabled | true | Shows the board. |
scoreboard.title | ['{primary}&lDUEL'] | The title. Several entries animate it, one per refresh. |
scoreboard.lines | see below | The lines, top first, at most 15. |
scoreboard.update.interval | 10 | Ticks between refreshes (20 ticks are one second). |
scoreboard.update.smart | true | Sends only the lines that changed. |
scoreboard.update.cache | true | Kept for older files; changes nothing. |
lines:
- ''
- '{secondary}Opponent:'
- ' {letters_black}▎ {highlight}%exyliaduels_opponent%'
- ' {letters_black}▎ {letters}Health {letters_black}» {error}%exyliaduels_opponent_health% ❤'
- ''
- '{secondary}Duel:'
- ' {letters_black}▎ {letters}Time {letters_black}» {info}%exyliaduels_time% ⌚'
- ' {letters_black}▎ {letters}Mode {letters_black}» {info}%exyliaduels_mode%'
- ' {letters_black}▎ {letters}Pot {letters_black}» {success}%exyliaduels_pot%'
- ''hits-scoreboard opens with both hit counts, and rounds-scoreboard with both round counts and the round:
lines:
- ''
- '{secondary}Rounds:'
- ' {letters_black}▎ {letters}You {letters_black}» {success}%exyliaduels_rounds_won%{letters_black}/{info}%exyliaduels_rounds_to_win%'
- ' {letters_black}▎ {letters}Them {letters_black}» {error}%exyliaduels_opponent_rounds_won%{letters_black}/{info}%exyliaduels_rounds_to_win%'
- ' {letters_black}▎ {letters}Round {letters_black}» {info}%exyliaduels_round%'
- ''
- '{secondary}Duel:'
- ' {letters_black}▎ {letters}Opponent {letters_black}» {highlight}%exyliaduels_opponent%'
- ' {letters_black}▎ {letters}Time {letters_black}» {info}%exyliaduels_time% ⌚'
- ' {letters_black}▎ {letters}Mode {letters_black}» {info}%exyliaduels_mode%'
- ' {letters_black}▎ {letters}Pot {letters_black}» {success}%exyliaduels_pot%'
- ''Commands during a duel: allowed-commands
allowed-commandslistpor defecto [duel, msg, tell, w, whisper, m, r, reply]The only commands a player can use from an accepted challenge until they are home again, and while
spectating, written without the slash. Everything else is refused. Aliases with a plugin prefix
(essentials:msg) are matched too.
Messages
lang/<language>/messages.yml holds every chat line, title, boss bar and label, grouped as challenge,
request, bet, fight, spectate, network, stats, after-duel, replay, admin, labels and
rules. Colours use palette tokens
such as {primary}, so recolouring the server never means editing this file.
%prefix%is replaced by theprefixvalue. An empty message is not sent.- A message may open with an effect tag, which never reaches the screen:
[sound:NAME|volume|pitch]plays a sound,[center]centres the line. request.receivedis the block the challenged player reads.%accept%and%decline%are the buttons, styled bylabels.accept-buttonandlabels.decline-button.fight.countdown-title,fight.fight-title,fight.victory-titleand the others are the titles;fight.time-baris the boss bar, with%time_precise%the time left.after-duel.summaryis the block both players read once a duel is decided, with%view%,%own%and%rematch%the buttons, styled byafter-duel.view-button,own-buttonandrematch-button.replay.hudis the line above the replay hotbar while watching.rulesholds what kit rules say during a duel (rounds won and lost, build height, item cooldowns) and the prompts of the screens that set them.labelsare the words injected into menus and messages (enabled, disabled, ready, random, the mode names), so one palette change restyles every screen.
Menus
The player screens under lang/<language>/menus/user/ (the challenge screen, the end-of-duel inventory
view, the history and a duel's screen) and the replay hotbar, lang/<language>/overlays/replay.yml, are
yours to restyle: an update only adds what is missing. The admin screens under menus/admin/ are
regenerated from the jar on every start. See
ExyliaLib's menus for the format.
Something missing on this page? Tell us on Discord