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
| Dependency | Version | Required |
|---|---|---|
| Java | 21+ | Yes |
| Paper | 1.20 — 1.21.x | Yes (Spigot also works) |
| NuVotifier / VotifierPlus | Any modern build | Yes (for real votes) |
| Vault | 1.7+ | Optional (for money rewards) |
| PlaceholderAPI | 2.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/:
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:
general:
storage: sqlite
# SQLite needs nothing else — the file lives at
# plugins/TDXVotePlus/data.dbgeneral:
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:
/voteThe 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
- Read the Configuration overview for a tour of every YAML file
- Tune your vote rewards pool
- Set up milestones so players have something to chase
- Decide on a vote-party threshold that matches your average daily vote count