TDXPlugins
TDX VotePlus

Installation

Install TDX VotePlus on a Paper 1.20+ server with Votifier already running.

This page walks you from a clean Paper install to a working /vote menu in about five minutes.

Requirements

DependencyVersionRequired
Java21+Yes
Paper1.20 — 1.21.xYes (Spigot also works)
NuVotifier / VotifierPlusAny modern buildYes (for real votes)
Vault1.7+Optional (for money rewards)
PlaceholderAPI2.11+Optional (placeholder expansion)

TDX VotePlus does not replace Votifier. It listens to the standard VotifierEvent, which means you need NuVotifier (or another compatible plugin) installed and configured to receive votes from your server-list trackers first.

Steps

Install NuVotifier (if you haven't already)

If you don't already have a Votifier-compatible plugin running, install NuVotifier and verify it's actually receiving votes from your sites. The /nvreload and /testvote commands are the easiest way to confirm this end-to-end.

Drop the jar in plugins/

Download the latest TDXVotePlus-x.y.z.jar from your purchase account on BuiltByBit, SpigotMC or Polymart and place it in your server's plugins/ folder.

Start the server

On first boot the plugin generates a folder of feature-specific YAML files inside plugins/TDXVotePlus/:

config.yml
vote-rewards.yml
vote-sites.yml
leaderboard.yml
monthly-rewards.yml
milestones.yml
vote-party.yml
reminders.yml
effects.yml
discord.yml
messages.yml

Each file is heavily commented and is the authoritative source. The docs are a high-level map; the YAML comments are the truth.

Pick a storage backend

For a single server, SQLite (the default) is fine — it's a single file, requires no setup, and uses WAL mode for safe concurrent reads.

For a network of servers sharing one database, MySQL is what you want. Edit plugins/TDXVotePlus/config.yml:

plugins/TDXVotePlus/config.yml
general:
  storage: sqlite
  # SQLite needs nothing else — the file lives at
  # plugins/TDXVotePlus/data.db
plugins/TDXVotePlus/config.yml
general:
  storage: mysql

mysql:
  host: "db.your-host.tld"
  port: 3306
  database: "tdx_voteplus"
  username: "tdx"
  password: "a-strong-password"
  use-ssl: true
  pool-size: 8

  # Per-server isolation. Set this to a unique value per backend
  # if you run the same database across Survival, Skyblock, etc.
  # Player counters stay isolated; the global vote-party counter
  # is intentionally still shared so parties fire network-wide.
  server-id: "survival"

Edit vote-sites.yml

Open plugins/TDXVotePlus/vote-sites.yml and replace the example sites with the real URLs you've registered on the server-list trackers. This is the file players actually see when they run /vote.

Restart the server

/stop
# (start the server again)

Then in-game:

/vote

The main GUI should open with your sites listed. Cast a /testvote through NuVotifier to confirm rewards fire correctly, then you're done.

What to do next