Мы используем необходимые файлы cookie для работы сайта, а с вашего согласия — ещё и аналитические (Яндекс Метрика), чтобы понимать, что улучшить. Подробнее — в политике cookie и политике конфиденциальности.

Перейти к содержимому

Подключение Votifier

Зачем нужен Votifier?

Votifier – это плагин для Minecraft сервера, который принимает голоса с мониторинга. Игрок вводит ник на нашем сайте, голосует за ваш сервер, и голос сразу уходит в ваш Votifier. Чтобы игроки голосовали охотнее, за голос можно выдавать награды. Для этого ставят дополнительный плагин, чаще всего VotingPlugin. Игрок получает награду, а сервер получает баллы престижа и поднимается в рейтинге по голосам.

Установка и подключение Votifier

Шаг 1. Выбор плагина на прием голосов и выдачи наград

  1. Для Velocity & Paper и подобных ядер подойдет VotifierPlus (рекомендуем)
  2. Альтернатива для более старых версий Minecraft – NuVotifier

Шаг 2. Установка плагина Votifier

  1. Скачайте плагин, переместите его в папку plugins и запустите сервер.
  2. После запуска сервера откройте папку с плагином, и отредактируйте стандартный конфиг:
#### Конфиг VotifierPlus /plugins/VotifierPlus/config.yml ####
host: 0.0.0.0 # Оставляем как есть, нужны все интерфейсы
port: 8192 # Меняем на любой удобный порт, но отличный от игрового
DisableV1: false # Если используете Velocity или BungeeCord
#### Конфиг NuVotifier /plugins/Votifier/config.yml ####
host: 0.0.0.0 # Оставляем как есть, нужны все интерфейсы
port: 8192 # Меняем на любой удобный порт, но отличный от игрового
disable-v1-protocol: false # Наш мониторинг использует протокол v1

Шаг 3. Открытие порта в фаерволе

Необходимо открыть порт 8192 для входящих TCP с IP адресов наших нод (или любой другой порт, указанный в конфиге). Мы отправляем голоса с этих IP адресов:

  • 89.111.140.62
  • 189.74.120.110
# UFW
sudo ufw allow proto tcp from 89.111.140.62 to any port 8192
sudo ufw allow proto tcp from 189.74.120.110 to any port 8192
sudo ufw reload
# IPtables
sudo iptables -I INPUT -p tcp -s 89.111.140.62 --dport 8192 -j ACCEPT
sudo iptables -I INPUT -p tcp -s 189.74.120.110 --dport 8192 -j ACCEPT

Шаг 4. Копирование public RSA ключа

Откройте публичный ключ в любом редакторе из папки Votifier и скопируйте его содержимое. Файлы находятся по этим путям:

  • Для VotifierPlus – /plugins/VotifierPlus/rsa/public.key
  • Для NuVotifier– /plugins/Votifier/rsa/public.key

Шаг 5. Настройка Votifier в панели управления сервера

  1. Вставьте содержимое RSA public.key в поле "Публичный ключ".
  2. Вставьте открытый порт в поле "Порт".
  3. Проверьте хост в поле "Хост", если он не совпадает с IP адресом Votifier, поменяйте его.
  4. Нажмите кнопку сохранить, если появится зелёный алерт с кодом ACCEPTED, значит Votifier успешно подключен! Если показывает другой код, смотрите раздел ошибок ниже.

Шаг 6. Добавление награды за голос

  1. Скачайте плагин VotingPlugin, перезапустите сервер.
  2. В панели управления сервером на вкладке Votifier нажмите кнопку "Проверить". Сайт minestat.ru автоматически добавится в конфигурацию плагина. Если в консоли сервера Вы увидите такое сообщение, значит всё получилось:

Картинка №1 к страницы «🎖️ Подключение Votifier»

  1. Обновите конфигурацию сайта в плагине /plugins/VotingPlugin/VoteSites.yml:
  minestat_ru:
    Enabled: true
    ServiceSite: minestat.ru
    VoteURL: VoteURL
    VoteDelay: 8h # Интервал голосов на нашем мониторинге – 8 часов
    DisplayItem:
      Material: DIAMOND
      Amount: 1
    Rewards:
      Messages:
        Player: '&aСпасибо за голос на лучшем мониторинге Minestat.ru!'
  1. Настройте награды, эффекты и меню в плагине VotingPlugin. Вся информация о настройке – тык.

Возможные ошибки и нюансы

  1. NuVotifier не присылает fallback сообщение в ответ на голос по протоколу v1, подтверждение приёма присылает только VotifierPlus. Мы не можем определить, где пошел обрыв, проверяйте консоль. Поэтому – рекомендуем использовать VotifierPlus.
  2. Иногда DDoS защита съедает голоса. Фильтр пропускает подключение и ответ сервера, но режет входящий пакет. В логе плагина видно «Accepted connection» и следом «No vote payload received». Лечится открытием порта Votifier в обход фильтра или переносом плагина на порт вне игрового диапазона.
  3. Сервер стоит за прокси BungeeCord или Velocity. Домен ведёт на прокси, а Votifier стоит на бэкенд-сервере. Установите плагин и на прокси с обвязкой PLUGIN MESSAGING или MYSQL.
  4. Подтверждённый Votifier приносит баллы престижа, они учитываются в обоих рейтингах. Баллы держатся, пока связь работает: пропала связь – пропали и баллы, поэтому чинить стоит сразу.

Коды ошибок

Код Что значит Что делать
ACCEPTED Сервер принял голос и подтвердил приём Ничего, всё работает
NO_ACK Голос отправлен, подтверждения нет Норма для NuVotifier. Проверьте лог сервера: если записи о голосе нет и Вы видите ошибку – не совпадает публичный ключ
DNS_FAILURE Домен не отвечает на DNS-запрос Проверьте имя и его A-запись. Не уверены – впишите IPv4-адрес напрямую
CONNECT_TIMEOUT Сервер не отвечает Порт закрыт фаерволом либо в конфиге host: 127.0.0.1. Проверьте оба пункта и проброс порта
CONNECTION_REFUSED Порт закрыт или занят Плагин не запущен (проверьте /plugins) либо в конфиге другой порт
CONNECTION_RESET Соединение оборвано Так рвёт связь DDoS защита. Попросите хостинг открыть порт в обход фильтра либо смените порт
GREETING_TIMEOUT Плагин молчит после подключения Перегрузка сервера или прокси, не пробрасывающий данные. Подождите минуту и повторите
GREETING_INVALID На порту отвечает не Votifier Указан чужой порт – часто игровой (25565) или веб-сервер (80/443)
PRIVATE_IP_NOT_ALLOWED Адрес из внутренней сети 10.x, 172.16–31.x, 192.168.x, 127.x недоступны из интернета. Укажите публичный адрес
KEY_INVALID Ключ не разбирается Скопируйте public.key заново, целиком и без лишних символов
KEY_SIZE Нерабочая длина ключа Удалите папку rsa, перезапустите сервер, вставьте новый ключ
RSA_ENCRYPT_FAIL Ключ не подходит для шифрования Обычно это ключ от другого сервера или повреждённый файл
KEY_MISMATCH Сервер получил голос, но не расшифровал его Ключ от другого сервера или устарел. В логе плагина – «Decryption failed… public key does not match». Скопируйте public.key заново именно с этого сервера
PAYLOAD_LOST Votifier поздоровался, но голос до него не дошёл В логе плагина – «No vote payload received after handshake». Почти всегда это защита от DDoS у хостинга: попросите пропустить порт Votifier в обход фильтра или смените порт
NETWORK_ERROR Не удалось связаться с адресом Прочие сетевые сбои. Если в поле хоста указан адрес не из домена сервера и не IP, в который он резолвится, сетевые причины (таймаут, закрытый порт, обрыв) не уточняем – проверьте адрес и порт. Коды про ключ и потерянный голос показываем всегда