Description
JHS-Votifier
JHS-Votifier is a modern, secure, network-ready Votifier plugin for Hytale that allows voting websites to notify your server when players vote — automatically rewarding players and increasing engagement.
Built specifically for Hytale, JHS-Votifier supports multiple vote protocols, hub → backend forwarding (TCP & Poll-based), full localization, native UI popups, advanced reward systems, and seamless compatibility with server list websites.
Quick Start:
https://joinhytaleservers.com/how-to-install-votifier-for-hytale
🚀 What’s New (1.3.2 – 2026-02-24)
🔁 Poll-Based Vote Forwarding (Docker / Pterodactyl Ready)
A pull-based alternative to TCP forwarding designed for container environments.
Why this matters:
Backends only make outbound HTTP requests — no inbound ports required, no Docker IP headaches.
✔ How It Works
- Hub runs an embedded HTTP server (no WebServer dependency required)
- Backends poll the hub for queued votes
- Votes are claimed after successful processing
- Persistent queue survives restarts
- Duplicate protection on backend side
🔐 Security Built-In
- Per-backend authentication tokens
- Constant-time token comparison
- IP rate limiting (60 req/min)
- 4KB body limit
- Configurable vote TTL
- Configurable queue limits
- Cleanup intervals
- Detailed hub + client logging
- Status visibility in
/votifieradmin status
📁 New Config Files
forward_poll_hub.jsonforward_poll_client.json
🆚 When To Use Poll vs TCP
| Use Case | Recommended Method |
|---|---|
| Docker / Pterodactyl | ✅ Poll Forwarding |
| Static IP network | ✅ TCP Forwarding |
| Hybrid setup | Both can run together |
Poll forwarding is disabled by default.
✨ Core Features
🔌 Multi-Protocol Vote Receiving
- Votifier V1 (RSA)
- Votifier V2 (HMAC token)
- HTTP POST endpoint (optional WebServer)
- Pull-based vote polling from vote sites (1.3.1+)
- Hub → Backend forwarding (TCP + Poll)
🎁 Advanced Reward Systems
- Command-based rewards
- Weighted random rewards
- Optional “Nothing” RNG outcome
- Vote Party milestones
- Voting streak milestones
- Offline vote storage +
/claimvotes - Vote leaderboard tracking

💬 Messaging & UI
- Global vote broadcasts
- Private thank-you messages
- Scheduled vote reminders
- Native popup notifications
- Fully localizable message system (~90 keys)
- TaleMessage gradient + clickable formatting

🖥 Native Popup Notifications
- Uses Hytale’s built-in popup system
- Chat + popup toggles per notification type
- Styles: Success, Warning, Danger, Default
- Fully configurable titles & descriptions

🌍 Full Localization System
messages.jsonwith dot-notation keys- TaleMessage formatting support
- Placeholder support (
%player%,%service%, etc.) - Auto-merges new keys safely on update
- No translation loss during upgrades
🏗 Network Support (Hub & Backend)
TCP Forwarding (1.3.0+)
- Asynchronous vote forwarding to multiple targets
- HMAC-SHA256 authentication per backend
- Exponential retry backoff
/forwardtestdiagnostic command- Works best with static container IPs
Poll Forwarding (1.3.2+)
- Backends poll hub over HTTP
- No inbound backend ports required
- Ideal for Docker & Pterodactyl
- Persistent vote queues
- Built-in rate limiting & validation
📦 Installation
- Download the latest JHS-Votifier JAR
- Place it in your server’s
mods/directory - Start server once to generate configs
- Configure your chosen protocol(s)
- Restart or run
/votifieradmin reload
🧾 Commands
| Command | Description |
|---|---|
/vote |
Open vote menu |
/claimvotes |
Claim offline votes |
/voteleaderboard |
View top voters |
/voteleaderboardadmin |
Manage leaderboard |
/voteparty |
Vote party tools |
/testvote <player> |
Fire test vote |
/forwardtest |
Test TCP forwarding |
/votifieradmin status |
View protocol + forwarding status |
/votifieradmin reload |
Reload configs |
🔐 Security
- RSA encryption (V1)
- HMAC authentication (V2)
- Dedicated HTTP token
- Per-service tokens
- Replay attack prevention
- Timestamp validation (seconds + milliseconds auto-detect)
- Request size limits
- Scanner throttling
- Safe JSON response handling
- Test votes isolated from rewards & forwarding
🧱 Dependencies
Works out-of-the-box.
Bundled: TaleMessage
Optional: Nitrado WebServer (HTTP endpoint only)
🧪 Troubleshooting
- Verify correct protocol enabled
- Check
/votifieradmin status - Use
/forwardtestfor TCP networks - Enable debug in config for verbose logging
- Restart after changing protocol configs
🆘 Support
Discord:
https://discord.gg/KPzSCm83Km
Quick Start Guide:
https://joinhytaleservers.com/how-to-install-votifier-for-hytale
📜 License
MIT License
