Configuration
Every option in config.yml and scoreboards.yml explained.
config.yml
# Siegebreak Configuration
config-version: 1
database:
type: "sqlite"
sqlite:
file: "stats.db"
mysql:
host: "localhost"
port: 3306
database: "siegebreak"
username: "root"
password: "password"
useSSL: false
game:
duration: 300 # round length in seconds
respawn-time: 3 # seconds before a dead player respawns
countdown: 10 # lobby countdown when minimum is met
countdown_full_players: 3 # shorter countdown when the arena is full
spawn-invincibility-time: 5 # seconds of invincibility after respawning
spawn-at-global-spawn: true # send players to global spawn on leave
join-gui:
enabled: true
material: "EMERALD_BLOCK"
lore:
- ""
- "Status: %status%"
- "Players: %players%/%max_players%"
- ""
- "&aClick to Join!"
king:
name: "King"
health: 100.0
rewards:
money:
winner: 100
prime-winner: 250
loser: 25
winner-commands:
- "say {winner} helped win the castle siege!"
prime-winner-commands:
- "say {prime_winner} was the hero of the castle siege!"
loser-commands:
- "say Better luck next time, {loser}!"
global-spawn:
world: ""
x: 0.0
y: 0.0
z: 0.0
yaw: 0.0
pitch: 0.0Key options
| Section | Option | Purpose |
|---|---|---|
database | type | sqlite (default) or mysql - see Storage |
game | duration | Round length in seconds |
game | respawn-time | Delay before respawn |
game | spawn-invincibility-time | Post-respawn protection |
king | health | King's max health |
rewards.money | winner / prime-winner / loser | Payouts (needs Vault) |
rewards.*-commands | - | Console commands run per player |
Reward command placeholders
Reward commands support these placeholders:
| Placeholder | Replaced with |
|---|---|
{winner} | Each winning player's name |
{prime_winner} | The MVP (most damage / King killer) |
{loser} | Each losing player's name |
global-spawn is written by /siegebreak setgspawn - don't edit it by hand.
An empty world means "not set".
Config versioning
config-version is managed automatically by BoostedYAML. When a new
plugin version ships config changes, your file is merged with the new defaults
and re-versioned on startup - you keep your values and gain any new keys without
the plugin disabling itself.
scoreboards.yml
Scoreboards are rendered with FastBoard and support & codes plus 1.16+ hex
colors written as &#RRGGBB. Use an empty string for a blank spacer line - no
strikethrough separators needed.
scoreboards:
game_active:
enabled: true
title: "&#FF4D4D&lSIEGE&#FFFFFF&lBREAK"
lines:
- ""
- "B93A7Arena &#FFFFFF%arena_name%"
- "B93A7Team %team_color%%team%"
- ""
- "B93A7Kills BD16A%kills%"
- "B93A7Deaths &#FF5C5C%deaths%"
- ""
- "B93A7Time &#FFC95C%time_left%"
- "B93A7King %king_status%"
- ""
- "E7687siegebreak.net"
update_intervals:
global_spawn: 20
waiting_lobby: 10
game_active: 10
settings:
max_line_length: 128
use_teams: trueBoards
| Board | Shown when |
|---|---|
global_spawn | Player is at the global spawn / lobby |
waiting_lobby | Player is in an arena waiting for the game to start |
game_active | Player is in a running game |
Scoreboard placeholders
| Scope | Placeholders |
|---|---|
| Global | %player%, %online_players%, %total_arenas%, %active_games% |
| Lobby | %arena_name%, %current_players%, %max_players%, %min_players%, %countdown%, %team%, %team_color% |
| Game | %arena_name%, %team%, %team_color%, %kills%, %deaths%, %time_left%, %king_status% |
max_line_length is high (128) on purpose - each &#RRGGBB hex code expands
into a long section-sign sequence, and FastBoard handles long lines fine on
1.16+.