JHS-Votifier
A modern, secure Votifier plugin for Hytale supporting V1 (RSA), V2 (HMAC), and HTTP voting with automatic rewards, vote reminders, GUI menus, and server-list compatibility.
Описание
JHS-Votifier
JHS-Votifier Это современный, безопасный плагин Votifier для сказка Это позволяет веб-сайтам для голосования уведомлять ваш сервер, когда игроки голосуют, автоматически вознаграждая игроков и поощряя взаимодействие.
Разработанный специально для Hytale, этот плагин поддерживает Протоколы множественного голосования, богатый обмен сообщениями в игре и бесшовная совместимость с веб-сайтами списка серверов.
Быстрый старт: https://joinhytaleservers.com/how-to-install-votifier-for-hytale
Что нового в [1.0.4] - 2026-01-27
Добавлено
Рандомизированные взвешенные награды
Новыйслучайные наградыСистема, которая выбирает одно вознаграждение за голос на основе настраиваемых весов.- Каждая награда включает в себя:
имявескомандовать- независимый
Вознаграждение включеноToggle (отключен по умолчанию) - Можно использовать рядом или вместо фиксированных
командоватьнаграды
Безопасная миграция конфигураций
Конфигурации теперь объединяют новые поля без перезаписи существующих пользовательских данных.- Все конфигурационные файлы используют слияние уровня JSON при запуске
- Новые поля добавляются автоматически
- Существующие ценности никогда не изменяются.
измененный
WebServer стал опциональным
Плагин загружается безNitrado: WebServer. Конечные точки HTTP активируются только при наличии WebServer.Сняты устаревшие варианты вознаграждения
Для упрощения конфигурации были удалены следующие опции:услугаRandomRewardsPerService
Особенности
Многопротоколный Поддержка
- Votifier V1 (шифрование RSA)
- Votifier V2 (на основе токенов)
- Конечные точки HTTP POST (через плагин WebServer, защищенный токеном)
Автоматическое вознаграждение за голосование
- Выполняйте команды, когда игроки голосуют
- Дополнительные вознаграждения за услуги

Обмен сообщениями игрока
- Глобальная трансляция голосов
- Частные благодарственные сообщения
- Запланированные напоминания о голосовании
- необязательный Экранные всплывающие уведомления (Hytale native UI)

Native Popup Notifications (1.0.1+)
- Использует встроенную систему всплывающих окон Hytale
- Работает вместе с сообщениями чата или самостоятельно
- Пер-уведомление переключается:
доступныйивсплывающее окно - Настраиваемые стили всплывающих окон: Успех (зеленый), Предупреждение (желтый), Опасность (красный), По умолчанию
- Заголовок и описание всплывающего окна поддерживают форматирование и заполнители TaleMessage
Примеры Popup

Пользовательский интерфейс голосования
- кликабельный
/голосоватьменю GUI - Кликабельные ссылки для голосования в чате
Совместимость списка серверов
- Протокол запросов UDP для опроса состояния сервера
Богатое форматирование текста
- Полная поддержка TaleMessage (цвета, градиенты, кликабельные ссылки)
Разработчик Friendly
- Огонь А
Голосованиедля пользовательских интеграций
Установка
- Скачать последнюю JHS-Votifier Джар
- Поместите его на свой сервер
модс/справочник - Запустите сервер для генерации файлов конфигурации по умолчанию
- Настройка предпочтительного протокола(ов) голосования
- Перезагрузить сервер или запустить
Голосование
Команды
| Командование | Описание |
|---|---|
/голосовать |
Открывает меню голосования и/или отправляет ссылки для голосования |
/testvote <player> [сервис] |
Голосование без награды (Admin Command) |
/votifieradmin статус |
Просмотр протокола и статус слушателя (Admin Command) |
/votifieradmin скачать |
Перезагрузка конфигурационных файлов (Admin Command) |
Командные примеры


Пример конфигурации
Ниже находится A базовая примерная конфигурация показывает общую настройку с использованием Votifier V2 с вознаграждением за голосование и /голосовать командование.
Эта конфигурация работает из коробки для большинства серверов.
config.json (основная конфигурация)
{
"отладка": ложная,
"keyPath": "ключи",
"Сообщения": {
"voteBroadcast":
"<gradient:blue:aqua><bold> [Голосование]</bold></gradient> <green>%player%</green> <white>voted on</white> <gold>%service%</gold><white>!</white>,
"<gray>Использовать <aqua>/vote</aqua> для голосования и получения вознаграждений!</gray>"
]
"Голосовать за частную жизнь":
"<gradient:gold:yellow>--------------------------------</gradient>".
"<green><bold> Спасибо, что проголосовали!</bold></green>
"<white>Ваш голос по <aqua>%service%</aqua> был получен.</white>".
"<gray>Награды были применены к вашей учетной записи.</gray>"
"<gradient:gold:yellow>---------------------------</gradient>"
]
"Напоминание":
"<gradient:gold:orange>--------------------------------</gradient>"
"<yellow><bold> Не забудьте проголосовать!</bold></yellow>,
<white>Поддержите наш сервер и получите вознаграждение!</white>
"<gray>Type <aqua>/vote</aqua> to see vote links.</gray>"
"<gradient:gold:orange>-------------------------
]
"напоминание интервал-минут": 1
?
"Награды": {
"Включено": правда,
"команды":
"# Примеры команд (удалить #, чтобы включить):"
"# дай % игроку % алмаз 1"
"# дай % игроку % изумруд 5"
"# опыт добавить % игрока 100%"
]
"Сервис": {
"TopHytaleServers":
#командные команды для TopHytaleServers:
"# дай % игроку % золото_ingot 5"
]
"HytaleServerList":
"# Команды для HytaleServerList Голоса:"
"# дай % игроку % алмаз 2"
]
?
?
"Команда по голосованию": {
"openCustomGui": правда,
"sendChatMessage": правда,
"ChatHeader":
"<gray>----------------- <gold><bold>Голд> -----------------------
<white> Нажмите на ссылку ниже, чтобы проголосовать и заработать награды!</white>
]
"ЧатФутер":
"<серый>--------------------------------------------------------------
]
«chatLinkTemplate»: «<gold>[<yellow>#%id%</yellow>]</gold><yellow><click:%link%>%name% <bold>(Click to Vote)</bold></click></yellow>»
?
"Голосуйте Линкс":
{
"сервисное имя": "JoinHytaleServers",
"link": "https://joinhytaleservers.com/"
?
]
?
Конфигурация всплывающих уведомлений (1.0.1+)
JHS-Votifier поддерживает встроенные всплывающие окна на экране с помощью системы пользовательского интерфейса Hytale. Каждый тип уведомлений может самостоятельно включать сообщения чата и всплывающие окна.
Пример уведомления конфигурация
{
"Уведомления": {
"Голосование": {
"ChatEnabled": правда,
"popupEnabled": правда,
«popupStyle»: «Успех»
«popupTitle»: «<gold>Vote Received!</gold>»
"popupDescription": "<green>%player%</green> проголосовал за <aqua>%service%</aqua>"
?
"Уведомить избирателя": {
"ChatEnabled": правда,
"popupEnabled": правда,
«popupStyle»: «Успех»
"popupTitle": "<green>Спасибо!</green>"
"popup-описание": Ваш голос на <aqua>%service%</aqua> был получен!
?
"напоминание": {
"ChatEnabled": правда,
"popupEnabled": ложный,
"popupStyle": "Предупреждение",
"popupTitle": "<yellow>Vote Reminder</yellow>",
"popup-описание": Не забудьте проголосовать за награды!
?
?
?
HTTP Token Security (1.0.1+)
Конечные точки голосования HTTP теперь используют выделенный токенОтдельно от токена V2 TCP.
- Токен автоматически генерируется при первом запуске
- храниться в
http_config.json - Можно регенерировать путем удаления
http_config.jsonи возобновить - Дополнительная услуга Поддерживаются HTTP-токены
Разрешения
| Разрешение | Описание |
|---|---|
jhs.votifier.admin |
Доступ ко всем командам admin |
Безопасность
- Шифрование RSA для протокола V1
- Аутентификация HMAC на основе токенов для V2
- Криптографически безопасные, автоматически генерируемые ключи
- Дополнительные токены per-service
- Тестовые голоса изолированы (нет наград или трансляций).
Поддержка протоколов
| Протокол | Поддерживаемый |
|---|---|
| Votifier V1 (RSA) | ✅ |
| Votifier V2 (HMAC) | ✅ |
| HTTP POST | ✅ |
| UDP Запрос | ✅ |
HTTP конечные точки
| Конечная точка | метод | Цель |
|---|---|---|
/JHS/Votifier/ Голосование |
Пост | Получить уведомления о голосовании |
/JHS/Votifier/status |
Встать | Проверка здоровья |
/JHS/Votifier/Test |
Встать | Испытание на отладчиках |
Зависимости и кредиты
JHS-Votifier предназначен для работы без каких-либо внешних зависимостей.
Связанные библиотеки
- TaleMessage
Используется для насыщенного форматирования текста (цвета, градиенты, кликабельные ссылки).
https://www.curseforge.com/hytale/mods/talemessage
Факультативные зависимости
Nitrado WebServer
требуемый только Если вы хотите получать голоса через конечные точки HTTP POST.
https://www.curseforge.com/hytale/mods/nitrado-webserverЕсли он не установлен, просто отключите поддержку HTTP.
http_config.json.
Минимальная настройка
Никаких дополнительных плагинов не требуется.
Поддерживает Votifier V1 и V2 по умолчанию.
Полная настройка
устанавливать Nitrado WebServer Возможность голосования на основе HTTP.
для разработчиков
JHS-Votifier запускает Голосование на которые могут подписаться другие плагины, что позволяет настраивать поведение при получении голосов.
Поддерживает стандарт Библиотеки для отправки голосов и пользовательские интеграции.
Устранение неполадок
- Убедитесь, что TCP порт 8192 открыта
- Проверка состояния протокола с помощью
/votifieradmin статус - допускать
Альбом: Trueдля детального лесозаготовки - Перезагрузить сервер после включения/отключения протокола
Поддержка
Нужна помощь, нашли ошибку, или есть запрос функции?
Присоединяйтесь к официальному JHS раздор Поддержка и обновления:
😉 https://discord.gg/KPzSCm83Km 😉 https://joinhytaleservers.com/how-to-install-votifier-for-hytale
Лицензия
МТИ Лицензия
Показать оригинальное описание (English)
JHS-Votifier
JHS-Votifier is a modern, secure Votifier plugin for Hytale that allows voting websites to notify your server when players vote, automatically rewarding players, and encouraging engagement.
Designed specifically for Hytale, this plugin supports multiple vote protocols, rich in-game messaging, and seamless compatibility with server list websites.
Quick Start: https://joinhytaleservers.com/how-to-install-votifier-for-hytale
🆕 What’s New in [1.0.4] - 2026-01-27
Added
Randomized Weighted Rewards
NewrandomRewardssystem that picks one reward per vote based on configurable weights.- Each reward entry includes:
nameweightcommands- Independent
randomRewardsEnabledtoggle (disabled by default) - Can be used alongside or instead of fixed
commandsrewards
Safe Config Migration
Configs now merge new fields without overwriting existing user data.- All config files use JSON-level merging on startup
- New fields are added automatically
- Existing values are never modified
Changed
WebServer is now optional
The plugin loads withoutNitrado:WebServer. HTTP endpoints activate only when the WebServer is present.Removed deprecated reward options
The following options were removed to simplify configuration:perServicerandomRewardsPerService
✨ Features
🔌 Multi-Protocol Support
- Votifier V1 (RSA encryption)
- Votifier V2 (HMAC / token-based)
- HTTP POST endpoints (via WebServer plugin, token-secured)
🎁 Automatic Vote Rewards
- Execute commands when players vote
- Optional per-service rewards

💬 Player Messaging
- Global vote broadcast messages
- Private thank-you messages
- Scheduled vote reminders
- Optional on-screen popup notifications (Hytale native UI)

🖥 Native Popup Notifications (1.0.1+)
- Uses Hytale’s built-in on-screen popup system
- Works alongside chat messages or independently
- Per-notification toggles:
chatEnabledandpopupEnabled - Configurable popup styles: Success (green), Warning (yellow), Danger (red), Default
- Popup title and description support TaleMessage formatting and placeholders
📸 Popup Examples

🧭 Custom Vote Interface
- Clickable
/voteGUI menu - Clickable vote links in chat
🌐 Server List Compatibility
- UDP query protocol for server status polling
🎨 Rich Text Formatting
- Full TaleMessage support (colors, gradients, clickable links)
🧑💻 Developer Friendly
- Fires a
VoteEventfor custom integrations
📦 Installation
- Download the latest JHS-Votifier JAR
- Place it in your server’s
mods/directory - Start the server to generate default configuration files
- Configure your preferred vote protocol(s)
- Restart the server or run
/votereload
🧾 Commands
| Command | Description |
|---|---|
/vote |
Opens the vote menu and/or sends vote links |
/testvote &amp;amp;lt;player&amp;amp;gt; [service] |
Fires a test vote (no rewards) (Admin Command) |
/votifieradmin status |
View protocol and listener status (Admin Command) |
/votifieradmin reload |
Reload configuration files (Admin Command) |
📸 Command Examples


🧩 Example Configuration
Below is a basic example configuration showing a common setup using Votifier V2 with vote rewards and a /vote command.
This configuration works out-of-the-box for most servers.
config.json (Main Configuration)
{
"debug": false,
"keyPath": "keys",
"messages": {
"voteBroadcast": [
"<gradient:blue:aqua><bold>[ VOTE ]</bold></gradient> <green>%player%</green> <white>voted on</white> <gold>%service%</gold><white>!</white>",
"<gray>Use <aqua>/vote</aqua> to vote and earn rewards!</gray>"
],
"votePrivate": [
"<gradient:gold:yellow>----------------------</gradient>",
"<green><bold>Thank you for voting!</bold></green>",
"<white>Your vote on <aqua>%service%</aqua> was received.</white>",
"<gray>Rewards have been applied to your account.</gray>",
"<gradient:gold:yellow>----------------------</gradient>"
],
"voteReminder": [
"<gradient:gold:orange>----------------------</gradient>",
"<yellow><bold>Don't forget to vote!</bold></yellow>",
"<white>Support our server and earn rewards!</white>",
"<gray>Type <aqua>/vote</aqua> to see vote links.</gray>",
"<gradient:gold:orange>----------------------</gradient>"
],
"reminderIntervalMinutes": 1
},
"rewards": {
"enabled": true,
"commands": [
"# Example commands (remove # to enable):",
"# give %player% diamond 1",
"# give %player% emerald 5",
"# experience add %player% 100"
],
"perService": {
"TopHytaleServers": [
"# Commands for TopHytaleServers votes:",
"# give %player% gold_ingot 5"
],
"HytaleServerList": [
"# Commands for HytaleServerList votes:",
"# give %player% diamond 2"
]
}
},
"voteCommand": {
"openCustomGui": true,
"sendChatMessage": true,
"chatHeader": [
"<gray>--------------- <gold><bold>Vote Links</bold></gold> ---------------</gray>",
"<white>Click a link below to vote and earn rewards!</white>"
],
"chatFooter": [
"<gray>------------------------------------------</gray>"
],
"chatLinkTemplate": "<gold>[<yellow>#%id%</yellow>]</gold> <yellow><click:%link%>%name% <bold>(Click to Vote)</bold></click></yellow>"
},
"voteLinks": [
{
"serviceName": "JoinHytaleServers",
"link": "https://joinhytaleservers.com/"
}
]
}
🔔 Popup Notifications Configuration (1.0.1+)
JHS-Votifier supports native on-screen popups using Hytale’s UI system. Each notification type can independently enable chat messages and popups.
Example notifications config
{
"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!"
}
}
}
🔐 HTTP Token Security (1.0.1+)
HTTP vote endpoints now use a dedicated token, separate from the V2 TCP token.
- Token is auto-generated on first startup
- Stored in
http_config.json - Can be regenerated by deleting
http_config.jsonand restarting - Optional per-service HTTP tokens are supported
🔐 Permissions
| Permission | Description |
|---|---|
jhs.votifier.admin |
Access to all admin commands |
🔒 Security
- RSA encryption for V1 protocol
- Token-based HMAC authentication for V2
- Cryptographically secure, auto-generated keys
- Optional per-service tokens
- Test votes are isolated (no rewards or broadcasts)
🌐 Protocol Support
| Protocol | Supported |
|---|---|
| Votifier V1 (RSA) | ✅ |
| Votifier V2 (HMAC) | ✅ |
| HTTP POST | ✅ |
| UDP Query | ✅ |
🔗 HTTP Endpoints
| Endpoint | Method | Purpose |
|---|---|---|
/JHS/Votifier/vote |
POST | Receive vote notifications |
/JHS/Votifier/status |
GET | Health check |
/JHS/Votifier/test |
GET | Debug testing |
🧱 Dependencies & Credits
JHS-Votifier is designed to work out-of-the-box with no required external dependencies.
Bundled Libraries
- TaleMessage
Used for rich text formatting (colors, gradients, clickable links).
➜ https://www.curseforge.com/hytale/mods/talemessage
Optional Dependencies
Nitrado WebServer
Required only if you want to receive votes via HTTP POST endpoints.
➜ https://www.curseforge.com/hytale/mods/nitrado-webserverIf not installed, simply disable HTTP support in
http_config.json.
Minimal Setup
No additional plugins required.
Supports Votifier V1 and V2 over TCP by default.
Full Setup
Install Nitrado WebServer to enable HTTP-based voting.
🛠 For Developers
JHS-Votifier fires a VoteEvent that other plugins can subscribe to, allowing custom behavior when votes are received.
Supports standard Votifier vote-sending libraries and custom integrations.
🧪 Troubleshooting
- Ensure TCP port 8192 is open
- Verify protocol status using
/votifieradmin status - Enable
debug: truefor detailed logging - Restart the server after protocol enable/disable changes
🆘 Support
Need help, found a bug, or have a feature request?
Join the official JHS Discord for support and updates:
👉 https://discord.gg/KPzSCm83Km 👉 https://joinhytaleservers.com/how-to-install-votifier-for-hytale
📜 License
MIT License
Информация
Авторы:
Категории:
Версии игры:
Создан: 21.01.2026