Skip to content

config.yml

config.yml contains global behavior shared by every Snake arena. Per-arena locations, blocks, speed, and win conditions belong in arena.yml and should normally be changed through the arena editor.


The current runtime selects a database implementation from the database key:

database: flat

Accepted values are:

  • flat, flatfile, or default for stats.yml storage;
  • mysql or sql for the connection defined in mysql.yml.

KeyDefaultPurpose
statistic-saving-period300Describes a statistics saving interval in seconds. The current scheduler uses a fixed five-minute interval.
update-notifiertrueChecks Spigot resource 120508 during startup and logs a link when an update is available.

messages.commands controls usage errors and all arena join, edit, and deletion feedback.

KeyUsed when
correct-usageA command is missing required arguments. {0} is the expected usage.
created-arenaA new arena is created. {0} is the arena ID.
deleted-arenaAn arena is deleted. {0} is the arena ID.
no-arenaThe supplied arena ID does not exist.
someone-editingAnother player already has the arena editor open.
already-editingThe sender is already editing the arena.
editing-nowEditing starts successfully.
arena-already-createdCreate is used with an existing ID.
arena-not-readyJoin is attempted before all locations are saved.
already-playingA player already belongs to a Snake arena.
someone-playingThe target arena is occupied.
not-playingLeave is used outside a Snake arena.

Messages support legacy ampersand color codes. Positional variables use {0}, {1}, and {2}.


The messages.game section has separate results for quitting, dying, and winning:

  • quit and died receive the current score as {0} and total board cells as {1};
  • the *-without-a-score variants are used when the score is zero;
  • win-eaten-all is used when targetScore is 0;
  • win-reached-target-score receives the configured target as {2}.

messages.subtitles.up, down, left, and right are shown after an accepted turn. messages.subtitles.new-point appears when an apple is collected.


Each entry under sounds has a sound, volume, and pitch:

EntryTrigger
failA collision or non-wrapping border loss.
direction-changeA valid direction change.
tickEvery snake movement update.
pointApple collection.
winA completed win condition.

Set a sound to NONE to disable it.


The placeholders section controls output when data is missing:

  • no-player: an arena has no current player;
  • not-in-arena: the requested player is not playing;
  • no-name and no-value: reserved leaderboard fallbacks;
  • states.waiting, pre-in-game, in-game, ending, and inactive: friendly text for state_pretty.