SIEGEBREAK

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.0

Key options

SectionOptionPurpose
databasetypesqlite (default) or mysql - see Storage
gamedurationRound length in seconds
gamerespawn-timeDelay before respawn
gamespawn-invincibility-timePost-respawn protection
kinghealthKing's max health
rewards.moneywinner / prime-winner / loserPayouts (needs Vault)
rewards.*-commands-Console commands run per player

Reward command placeholders

Reward commands support these placeholders:

PlaceholderReplaced 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:
      - ""
      - "&#8B93A7Arena &#FFFFFF%arena_name%"
      - "&#8B93A7Team  %team_color%%team%"
      - ""
      - "&#8B93A7Kills  &#5BD16A%kills%"
      - "&#8B93A7Deaths &#FF5C5C%deaths%"
      - ""
      - "&#8B93A7Time   &#FFC95C%time_left%"
      - "&#8B93A7King   %king_status%"
      - ""
      - "&#6E7687siegebreak.net"

update_intervals:
  global_spawn: 20
  waiting_lobby: 10
  game_active: 10

settings:
  max_line_length: 128
  use_teams: true

Boards

BoardShown when
global_spawnPlayer is at the global spawn / lobby
waiting_lobbyPlayer is in an arena waiting for the game to start
game_activePlayer is in a running game

Scoreboard placeholders

ScopePlaceholders
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+.

On this page