The only Hytale vote plugin that handles both Webhook and Votifier sites through one unified pipeline. Connect all 7 major server list sites with a single plugin — no open ports, no extra setup per protocol, no juggling multiple vote plugins.
Every provider feeds into the same reward system — no separate plugins needed.
| Provider | Data Received |
|---|---|
| Hytale-Servers.pro | Hytale username, Vote ID, Server slug |
| HytaleCharts | Discord ID & username, Server stats |
| Hylist.io | Username, Server ID, Total votes |
Votes arrive over HTTPS. You get a webhook URL and secret from the dashboard — paste them into the vote site settings.
| Provider | Protocol Versions |
|---|---|
| HytaleLobby | V1 (RSA) + V2 (HMAC) |
| HytaleServer.xyz | V1 (RSA) + V2 (HMAC) |
| HytaleOnlineServers | V1 (RSA) + V2 (HMAC) |
| ServeurHytale.fr | V1 (RSA) + V2 (HMAC) |
Votes arrive over TCP using the Votifier protocol. VotePipe auto-generates your RSA keys and HMAC tokens — just copy the connection info from the dashboard into the vote site. One-click key rotation if you ever need it.
VotePipe.jar and place it in your server's plugins/ folder/votepipe token vpt_your_token or edit plugins/votepipe/config.jsonVotes start flowing within seconds. Your server only makes outbound requests — no open ports, no firewall rules. Failed deliveries retry automatically.
Configure everything from the dashboard. No code required.
Full control with custom code. Register a handler for VoteReceivedEvent and implement your own reward logic.
event.success() or event.fail(reason) to report delivery status| Type | Description | Free | Pro+ |
|---|---|---|---|
| Base Rewards | Given for every vote | Yes | Yes |
| Streak Rewards | Bonuses for consecutive voting days (3, 7, 14, 30 days) | - | Yes |
| Lucky Votes | Random chance rewards with configurable tiers | - | Yes |
| Milestones | Rewards at vote count thresholds (10, 50, 100, 500 votes) | - | Yes |
Actions are the building blocks of rewards. Combine them freely in each reward config.
| Action | Description | Plans |
|---|---|---|
| Command | Execute server commands (with {player} substitution) | All |
| Broadcast | Send a message to all online players | All |
| Player Message | Send a private message to the voter | All |
| Sound | Play a sound effect for the voter | All |
| Item | Give items to the voter's inventory | All |
| Title | Display a title/subtitle on screen | Pro+ |
| UI Notification | Show an in-game notification popup | Pro+ |
Variables available in actions:
| Variable | Description |
|---|---|
{player} | Player username |
{service} | Provider name |
{vote_count} | Player's total votes |
{streak} | Current voting streak |
{provider_server_url} | Provider's server/vote page URL |
Text formatting tags:
| Tag | Effect |
|---|---|
<#RRGGBB> | Set hex color |
<BOLD> | Bold text |
<ITALIC> | Italic text |
<MONO> | Monospace text |
<RESET> | Reset formatting |
Example:
<#FFD700><BOLD>{player}<RESET> voted on <#00BFFF>{service}<RESET>!Location: plugins/votepipe/config.json
{
"token": "vpt_your_token_here",
"api_base_url": "https://api.votepipe.com/v1",
"poll_interval_ms": 5000,
"claim_timeout_ms": 5000,
"enabled": true,
"debug": false
}| Setting | Default | Description |
|---|---|---|
token | required | Plugin token from your dashboard (Settings > Plugin) |
api_base_url | https://api.votepipe.com/v1 | API endpoint |
poll_interval_ms | 5000 | How often to check for new votes (minimum 5000ms) |
claim_timeout_ms | 5000 | Timeout for Developer mode reward handlers |
enabled | true | Enable or disable the plugin |
debug | false | Enable verbose logging for troubleshooting |
| Command | Description |
|---|---|
/votepipe | Show available commands |
/votepipe status | Show connection status, token info, and vote statistics |
/votepipe reload | Reload configuration from disk |
/votepipe token <token> | Set plugin token without restarting the server |
For developers who want full control, VotePipe provides both an event system and a static API.
import com.mythlane.votepipe.event.VoteReceivedEvent;
public class MyPlugin extends JavaPlugin {
@Override
public void setup() {
getEventRegistry().register(VoteReceivedEvent.class, event -> {
Player player = server.getPlayer(event.getVoterName());
if (player != null && player.isOnline()) {
player.getInventory().add(new ItemStack(Items.DIAMOND, 5));
player.sendMessage("Thanks for voting on " + event.getProviderName() + "!");
event.success();
} else {
event.fail("Player offline");
}
});
}
}Event fields:
| Field | Type | Description |
|---|---|---|
voteId | String | Vote ID (UUID) |
voterName | String | Player username |
provider | String | Provider key |
providerName | String | Provider display name |
receivedAt | Instant | Vote timestamp |
Add VotePipe as a compile-only dependency:
dependencies {
compileOnly("com.mythlane:votepipe:1.0.1")
}import com.mythlane.votepipe.api.VotePipe;
// Check connection status
boolean connected = VotePipe.isConnected();
// Get leaderboard
VotePipe.getLeaderboard().thenAccept(leaderboard -> {
for (LeaderboardEntry entry : leaderboard.getEntries()) {
System.out.println(entry.getRank() + ". " + entry.getPlayerName());
}
});
// Get leaderboard with options
VotePipe.getLeaderboard(new LeaderboardOptions()
.period(Period.WEEKLY)
.limit(20)
.provider("hytalecharts")
);
// Trigger manual poll
VotePipe.triggerPoll();VotePipe now natively supports the Votifier protocol (both V1 RSA and V2 HMAC), making migration simpler than ever. You don't need to change how your vote sites send votes — VotePipe can receive them directly.
VotePipe.jar in your plugins/ folder/votepipe token <token>VoteReceivedEventplugins/| Before (Votifier) | After (VotePipe) |
|---|---|
| Open port 8192 on your server | No incoming connections needed |
| Votes go directly to your server | Votes go to VotePipe cloud, plugin polls for them |
| No retry if server is offline | Automatic retry until delivered |
| No analytics | Full dashboard with vote history, streaks, leaderboards |
| Config files only | Visual reward builder + config files |
| No Discord notifications | Built-in Discord notifications |
| Feature | Free | Pro | Network |
|---|---|---|---|
| Automatic Rewards | Yes | Yes | Yes |
| Reward Configs | 3 | 5 | Unlimited |
| Actions per Config | 5 | 10 | Unlimited |
| Streak Tiers | - | 5 | Unlimited |
| Lucky Tiers | - | 3 | Unlimited |
| Milestones | - | 5 | Unlimited |
Plugin API calls (polling, claims, leaderboard) don't count against your rate limits.
MIT License
0 Comments