promotional bannermobile promotional banner

JHS-Votifier | Voting, Vote Party & Streaks

A modern voting plugin for Hytale with V1, V2, and HTTP support. Includes Vote Party, streak rewards, reminders, custom UI menus, and full server-list compatibility.

File Details

JHS-Votifier-1.0.2.jar

  • R
  • Jan 21, 2026
  • 4.65 MB
  • 29
  • Early Access

File Name

JHS-Votifier-1.0.2.jar

Supported Versions

  • Early Access

Changelog

All notable changes to JHS-Votifier will be documented in this file.

[1.0.2] - 2026-01-20

Added

  • Replay Attack Prevention - Votes with timestamps older than 5 minutes are now rejected

    • New security section in config.json with maxVoteAgeMinutes setting
    • Configurable max vote age (default: 5 minutes, set to 0 to disable)
    • Protects against vote replay attacks where old vote payloads are resent
    • Also rejects votes with timestamps too far in the future (clock skew tolerance: 1 minute)
  • Timestamp Auto-Detection - Automatically handles both seconds and milliseconds timestamps

    • Voting sites may send Unix timestamps in seconds (10 digits) or milliseconds (13 digits)
    • Plugin auto-detects format and normalizes to milliseconds internally
    • Works across all protocols (V1, V2, HTTP)

Config Changes

New security section in config.json:

{
  "security": {
    "maxVoteAgeMinutes": 5,
    "_comment": "maxVoteAgeMinutes: Votes older than this are rejected to prevent replay attacks. Set to 0 to disable."
  }
}

[1.0.1] - 2026-01-20

Added

  • On-Screen Popup Notifications - Vote notifications now support Hytale's native on-screen popup system alongside chat messages

    • Vote broadcasts can show popups to all players
    • Voter "thank you" messages can show popups to the voter
    • Vote reminders can show popups to remind players to vote
    • Each notification type has independent chatEnabled and popupEnabled toggles
    • Configurable popup styles: Default, Success (green), Warning (yellow), Danger (red)
    • Popup title and description support TaleMessage formatting and placeholders
  • Dedicated HTTP Token - HTTP endpoint now has its own token, separate from V2 TCP token

    • Clearer separation between V2 TCP (port 8192) and HTTP POST protocols
    • Auto-generated on first run like V2 token
    • Delete http_config.json to regenerate
  • serviceTokens Help - Config files now include _serviceTokensHelp field with example format

    • Shows how to give each voting site a unique token
    • serviceTokens defaults to empty, example shown in help text
  • HTTP Endpoint Documentation - http_config.json now shows available endpoints

    • _endpointVote: POST /JHS/Votifier/vote
    • _endpointStatus: GET /JHS/Votifier/status
    • _endpointTest: GET /JHS/Votifier/test

Fixed

  • Vote reminder service now properly restarts on /votereload to apply new interval settings

Changed

  • JAR filename now uses proper casing: JHS-Votifier-1.0.1.jar
  • Improved config documentation with clearer comments
  • Updated README with comprehensive token documentation
  • Reload command now shows reminder interval in output

Config Changes

New notifications section in config.json:

{
  "notifications": {
    "voteBroadcast": {
      "chatEnabled": true,
      "popupEnabled": true,
      "popupStyle": "Success",
      "popupTitle": "<gold>Vote Received!</gold>",
      "popupDescription": "<green>%player%</green> voted on <aqua>%service%</aqua>"
    },
    "voterNotify": {
      "chatEnabled": true,
      "popupEnabled": true,
      "popupStyle": "Success",
      "popupTitle": "<green>Thank You!</green>",
      "popupDescription": "Your vote on <aqua>%service%</aqua> was received!"
    },
    "reminder": {
      "chatEnabled": true,
      "popupEnabled": false,
      "popupStyle": "Warning",
      "popupTitle": "<yellow>Vote Reminder</yellow>",
      "popupDescription": "Don't forget to <aqua>/vote</aqua> for rewards!"
    }
  }
}

New http_config.json structure with dedicated token:

{
  "enabled": false,
  "token": "auto-generated-http-token",
  "serviceTokens": {},
  "_serviceTokensHelp": "Example: {\"JoinHytaleServers\": \"token-for-jhs\", ...}"
}

[1.0.0] - Initial Release

Features

  • Multi-protocol vote receiving (Votifier V1, V2, HTTP)
  • UDP Query protocol for server status polling
  • Vote rewards with configurable commands
  • Per-service reward configuration
  • TaleMessage rich text formatting
  • Vote GUI with clickable links
  • Chat-based vote links
  • Vote reminders for online players
  • Rate limiting (30 requests/minute)
  • RSA key auto-generation (V1)
  • Token auto-generation (V2)