Overview
One YAML per subsystem, what each file does and where to look first.
TDX VotePlus splits its configuration across one file per subsystem. Each file is small and self-contained, so you can tune milestones without scrolling past 400 lines of unrelated YAML.
Every bundled file is heavily commented. If something on these pages disagrees with a comment in the file you are editing, trust the file and tell us, because the page is wrong.
Where to look
general
Debug, storage type, timezone, offline auto-claim, bStats.
storage
SQLite vs MySQL, MySQL credentials, per-server isolation.
vote-rewards
The rewards paid on every vote, all nine reward types, the offline queue.
vote-sites
The list of sites players see in /vote sites.
milestones
Rewards at TOTAL / MONTHLY / WEEKLY / DAILY / STREAK thresholds.
vote-party
Server-wide vote party, shared counter, rewards.
leaderboard
How many players are ranked and how often the boards refresh.
monthly-rewards
Per-rank prizes paid when the month rolls over.
reminders
Periodic 'don't forget to vote' nudges.
effects
Sound and particles played on every vote.
discord
Webhook posts for votes, milestones and vote parties.
messages
Every chat line the plugin sends, MiniMessage formatted.
guis/
One YAML per inventory menu layout.
Automatic updates of your files
config.yml and the nine feature files each carry a config-version
number. When a plugin update ships a newer version of a file, the
keys you are missing are added to your copy and a timestamped
backup is written next to it first, for example
vote-rewards.yml.backup-20260411-183005. Values you have set are
never changed.
messages.yml and the files in guis/ are not rewritten. A message
key missing from your messages.yml falls back to the bundled
default text, and a menu file that does not exist is created from
the bundled one.
Reload vs restart
/voteplus reloadapplies everything in the feature files,messages.ymlandguis/, andgeneral.debug,general.timezoneandgeneral.auto-claim-offlinefromconfig.yml.- A restart is needed for
general.storageand everything undermysql, because the database connection is only opened at startup, and formetrics.enabled.