TDXDevelopment
TDX LeaderboardsConfiguration

general

Refresh interval, board size, hiding banned players, the storage backend selector and the debug toggle.

The general block is the smallest section in config.yml but the one that decides how the rest of the plugin behaves at runtime.

Quick example

plugins/TDXLeaderboards/config.yml
general:
  update-interval: 300        # seconds between board refreshes
  leaderboard-size: 10        # players shown on each board
  hide-banned-players: true   # keep banned players off every board
  storage: sqlite             # sqlite | mysql
  debug: false

That's the entire block on a default install. For most servers, the defaults are correct.

Reference

KeyTypeDefaultNotes
update-intervalinteger300Seconds between board refreshes. Lower is more current, higher is lighter on the server. Needs a restart to change.
leaderboard-sizeinteger10How many players each board keeps. Applies to the GUI, chat and placeholders.
hide-banned-playersbooleantrueKeeps banned players off every board. Uses LiteBans when it is installed, otherwise the vanilla ban list.
storagestringsqliteStorage backend, sqlite or mysql. Needs a restart to change, and does not move your data.
debugbooleanfalsePrints extra lines to the console, such as each finished update cycle. Turn it on when you are troubleshooting.

Tuning notes

  • update-interval trades freshness for server load. The default of 300 seconds suits most servers. A board only recalculates players who are online, so the cost grows with your online count, not your total player base.
  • hide-banned-players exists because a board only refreshes a player while they are online. Without it, somebody banned while sitting at #1 would stay there for the rest of the period. A banned player drops off within one update cycle of the ban.

Switching storage from sqlite to mysql (or back) is not reload-safe and does not migrate data. See the Storage page for the details.