JHS-Votifier

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.

61.0 загрузок
Обновлён 7 дней назад

Скриншоты

Описание

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, защищенный токеном)

Автоматическое вознаграждение за голосование

  • Выполняйте команды, когда игроки голосуют
  • Дополнительные вознаграждения за услуги

JHS-Votifier Vote Announcement


Обмен сообщениями игрока

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

JHS-Votifier Vote Messages


Native Popup Notifications (1.0.1+)

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

Примеры Popup

Popup Example 1 Popup Example 2


Пользовательский интерфейс голосования

  • кликабельный /голосовать меню GUI
  • Кликабельные ссылки для голосования в чате

Совместимость списка серверов

  • Протокол запросов UDP для опроса состояния сервера

Богатое форматирование текста

  • Полная поддержка TaleMessage (цвета, градиенты, кликабельные ссылки)

Разработчик Friendly

  • Огонь А Голосование для пользовательских интеграций

Установка

  1. Скачать последнюю JHS-Votifier Джар
  2. Поместите его на свой сервер модс/ справочник
  3. Запустите сервер для генерации файлов конфигурации по умолчанию
  4. Настройка предпочтительного протокола(ов) голосования
  5. Перезагрузить сервер или запустить Голосование

Команды

Командование Описание
/голосовать Открывает меню голосования и/или отправляет ссылки для голосования
/testvote <player> [сервис] Голосование без награды (Admin Command)
/votifieradmin статус Просмотр протокола и статус слушателя (Admin Command)
/votifieradmin скачать Перезагрузка конфигурационных файлов (Admin Command)

Командные примеры

JHS-Votifier Vote UI

JHS-Votifier Chat Message


Пример конфигурации

Ниже находится 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 предназначен для работы без каких-либо внешних зависимостей.

Связанные библиотеки


Факультативные зависимости

  • 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
    New randomRewards system that picks one reward per vote based on configurable weights.

    • Each reward entry includes:
    • name
    • weight
    • commands
    • Independent randomRewardsEnabled toggle (disabled by default)
    • Can be used alongside or instead of fixed commands rewards
  • 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 without Nitrado:WebServer. HTTP endpoints activate only when the WebServer is present.

  • Removed deprecated reward options
    The following options were removed to simplify configuration:

    • perService
    • randomRewardsPerService

✨ 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

JHS-Votifier Vote Announcement


💬 Player Messaging

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

JHS-Votifier Vote Messages


🖥 Native Popup Notifications (1.0.1+)

  • Uses Hytale’s built-in on-screen popup system
  • Works alongside chat messages or independently
  • Per-notification toggles: chatEnabled and popupEnabled
  • Configurable popup styles: Success (green), Warning (yellow), Danger (red), Default
  • Popup title and description support TaleMessage formatting and placeholders

📸 Popup Examples

Popup Example 1 Popup Example 2


🧭 Custom Vote Interface

  • Clickable /vote GUI 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 VoteEvent for custom integrations

📦 Installation

  1. Download the latest JHS-Votifier JAR
  2. Place it in your server’s mods/ directory
  3. Start the server to generate default configuration files
  4. Configure your preferred vote protocol(s)
  5. Restart the server or run /votereload

🧾 Commands

Command Description
/vote Opens the vote menu and/or sends vote links
/testvote &amp;amp;amp;lt;player&amp;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

JHS-Votifier Vote UI

JHS-Votifier Chat Message


🧩 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.json and 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


Optional Dependencies


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: true for 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

Последние версии

JHS-Votifier-1.0.4

Early Access 27.01.2026 4.7 МБ
Скачать

JHS-Votifier

Early Access 21.01.2026 4.7 МБ
Скачать

JHS-Votifier-1.0.2.jar

Early Access 21.01.2026 4.7 МБ
Скачать

JHS-Votifier-1.0.jar

Early Access 21.01.2026 4.6 МБ
Скачать