Description

HytaleVotifier
Reward your players for supporting your server!
HytaleVotifier is a powerful Votifier plugin for Hytale servers that makes it easy to track votes, reward players, and boost your server's activity. Compatible with all major voting sites that support the Votifier protocol (V1 and V2/NuVotifier)!
Features
- Dual Protocol Support — V1 (RSA encryption) and V2 (HMAC-SHA256) for maximum compatibility
- V2 Socket Server — Dedicated TCP socket with challenge-response authentication
- Custom chat messages — Send personalized thank-you messages to players after they vote
- Server broadcasts — Announce votes to the entire server when someone votes
- Automatic rewards — Run commands automatically when votes come in
- On-screen notifications — Beautiful toast popups for instant feedback
- Clickable vote links —
/votecommand shows clickable links to your voting sites - Tiered rewards — Set up chance-based rewards (common, rare, legendary drops!)
- Vote reminders — Remind players to vote on join if they haven't voted recently
- Vote tracking — Persistent SQLite storage tracks when players last voted
- Auto-updates — Get notified when new versions are available
Quick Start
- Download the latest JAR from this page or GitHub Releases
- Drop the JAR into your server's
mods/folder - Start your server — RSA keys are generated automatically on first run
- Configure your voting sites — Share your
public.keywith voting sites (V1) or exchange tokens (V2) - Customize rewards — Edit
config.jsonto set up messages and rewards
That's it! Your server is ready to receive votes.
Color Formatting
HytaleVotifier uses TaleMessage for beautiful colored messages.
Available colors:
<black>, <dark_blue>, <dark_green>, <dark_aqua>, <dark_red>, <dark_purple>, <gold>, <gray>, <blue>, <green>, <aqua>, <red>, <yellow>, <white>, <orange>
Example:
<gray>Thanks for your vote on <orange>{from}</orange>. <green>Enjoy your rewards!</green>
Clickable text:
<click:https://example.com>Click here!</click>
Configuration
Your config file is located at mods/Hyvote_HytaleVotifier/config.json
Example Setup
{
"debug": false,
"keyPath": "keys",
"voteMessage": {
"enabled": true,
"titleMessage": "Vote Received!",
"descriptionMessage": "Thanks for your vote on {from}!",
"iconItem": "Ore_Gold"
},
"broadcast": {
"enabled": true,
"message": "{username} voted on {from}!"
},
"rewardCommands": [
{
"enabled": true,
"command": "give {username} Ingredient_Stick",
"chance": 1.0
},
{
"enabled": true,
"command": "give {username} Ingredient_Bar_Gold",
"chance": 0.25
},
{
"enabled": true,
"command": "give {username} Weapon_Longsword_Adamantite_Saurian",
"chance": 0.05
}
],
"voteSites": {
"tokens": {
"TopHytaleSites": "your-secret-token-here",
"Hyvote": "another-secret-token"
}
},
"socketServer": {
"enabled": true,
"port": 8192
},
"internalHttpServer": {
"enabled": true,
"port": 8080
},
"protocols": {
"v1Enabled": true,
"v2Enabled": true
},
"voteCommand": {
"enabled": true,
"header": "★★★ Vote for our server! ★★★",
"siteTemplate": "➤ {name}",
"footer": "Thank you for supporting us!",
"sites": [
{
"name": "Hyvote.org",
"url": "https://hyvote.org/servers/my-server"
},
{
"name": "TopHytaleSites",
"url": "https://tophytalesites.com/vote/my-server"
}
]
},
"voteReminder": {
"enabled": true,
"sendOnJoin": true,
"voteExpiryInterval": 24,
"delayInSeconds": 60,
"storage": {
"type": "sqlite",
"filePath": "votes.db",
"cleanupIntervalHours": 6
},
"message": {
"enabled": true,
"text": "You haven't voted today! You can '/vote' every day to receive free rewards!"
},
"notification": {
"enabled": true,
"titleMessage": "You haven't voted today",
"descriptionMessage": "You can /vote every day for free rewards!",
"iconItem": "Upgrade_Backpack_2"
}
}
}
Configuration Options
| Option | Description |
|---|---|
debug |
Enable verbose debug logging |
keyPath |
Subdirectory for RSA keys (relative to plugin data directory) |
voteMessage |
Toast notification settings for the voter |
broadcast |
Server-wide announcement settings |
rewardCommands |
Commands to execute when votes are received |
voteSites |
V2 protocol service tokens (service name → shared secret) |
socketServer |
V2 TCP socket server settings (port 8192 by default) |
internalHttpServer |
Fallback HTTP server settings (used when Nitrado:WebServer is unavailable) |
protocols |
Enable/disable V1 (RSA over HTTP) and V2 (HMAC-SHA256) protocols |
voteCommand |
Settings for the /vote command with clickable site links |
voteReminder |
Settings for reminding players to vote on join |
Placeholders
| Placeholder | Description |
|---|---|
{username} |
Player's in-game name |
{from} |
Name of the voting site |
{name} |
Voting site display name (in vote command) |
{link} |
Voting site URL (in vote command) |
Tiered Rewards
Set chance between 0.0 and 1.0 to create exciting tiered rewards:
1.0= 100% chance (guaranteed)0.25= 25% chance (uncommon)0.05= 5% chance (rare)
Vote Reminders
HytaleVotifier can remind players to vote when they join the server. The reminder system includes:
- Chat messages — Direct message to the player
- Title display — Large text on screen
- Toast notifications — Popup notifications
- Sound effects — Audio cues
Configure voteExpiryInterval to set how many hours before a vote "expires" and reminders resume (default: 24 hours).
Vote Protocols
HytaleVotifier supports two protocols for maximum compatibility:
| Protocol | Authentication | Transport | Use Case |
|---|---|---|---|
| V1 | RSA 2048-bit encryption | HTTP | Classic Votifier compatibility |
| V2 | HMAC-SHA256 signatures | HTTP or TCP socket | Modern NuVotifier compatibility |
V1 Setup: Share your public.key file with voting sites.
V2 Setup: Exchange shared secret tokens with voting sites and add them to voteSites.tokens in your config.
For detailed protocol documentation, see the GitHub README.
Testing Your Setup
Use the /testvote command to test your configuration without needing an actual vote:
/testvote PlayerName
/testvote PlayerName MySite
Permission: votifier.admin.testvote
Permissions
| Permission | Description |
|---|---|
votifier.admin.testvote |
Use the /testvote command |
votifier.admin |
Receive update notifications on join |
votifier.admin.update_notifications |
Alternative permission for update notifications only |
File Locations
mods/Hyvote_HytaleVotifier/
├── config.json # Your configuration
├── votes.db # Vote tracking database (SQLite)
└── keys/
├── public.key # 📤 Share with voting sites (V1)
└── private.key # 🔒 Keep this secret!
💬 Support
- Discord: Discord
- Bug Reports: GitHub Issues
- Full Documentation: GitHub README
- Developer API: GitHub Docs
Having trouble with your config? Validate your JSON at hytaletools.org


