Подключение Votifier
Зачем нужен Votifier?
Votifier – это плагин для Minecraft сервера, который принимает голоса с мониторинга. Игрок вводит ник на нашем сайте, голосует за ваш сервер, и голос сразу уходит в ваш Votifier. Чтобы игроки голосовали охотнее, за голос можно выдавать награды. Для этого ставят дополнительный плагин, чаще всего VotingPlugin. Игрок получает награду, а сервер получает баллы престижа и поднимается в рейтинге по голосам.
Установка и подключение Votifier
Шаг 1. Выбор плагина на прием голосов и выдачи наград
- Для Velocity & Paper и подобных ядер подойдет VotifierPlus (рекомендуем)
- Альтернатива для более старых версий Minecraft – NuVotifier
Шаг 2. Установка плагина Votifier
- Скачайте плагин, переместите его в папку
pluginsи запустите сервер. - После запуска сервера откройте папку с плагином, и отредактируйте стандартный конфиг:
#### Конфиг 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.62189.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 в панели управления сервера
- Вставьте содержимое RSA public.key в поле "Публичный ключ".
- Вставьте открытый порт в поле "Порт".
- Проверьте хост в поле "Хост", если он не совпадает с IP адресом Votifier, поменяйте его.
- Нажмите кнопку сохранить, если появится зелёный алерт с кодом
ACCEPTED, значит Votifier успешно подключен! Если показывает другой код, смотрите раздел ошибок ниже.
Шаг 6. Добавление награды за голос
- Скачайте плагин VotingPlugin, перезапустите сервер.
- В панели управления сервером на вкладке Votifier нажмите кнопку "Проверить". Сайт minestat.ru автоматически добавится в конфигурацию плагина. Если в консоли сервера Вы увидите такое сообщение, значит всё получилось:

- Обновите конфигурацию сайта в плагине
/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!'
- Настройте награды, эффекты и меню в плагине VotingPlugin. Вся информация о настройке – тык.
Возможные ошибки и нюансы
- NuVotifier не присылает fallback сообщение в ответ на голос по протоколу v1, подтверждение приёма присылает только VotifierPlus. Мы не можем определить, где пошел обрыв, проверяйте консоль. Поэтому – рекомендуем использовать VotifierPlus.
- Иногда DDoS защита съедает голоса. Фильтр пропускает подключение и ответ сервера, но режет входящий пакет. В логе плагина видно «Accepted connection» и следом «No vote payload received». Лечится открытием порта Votifier в обход фильтра или переносом плагина на порт вне игрового диапазона.
- Сервер стоит за прокси BungeeCord или Velocity. Домен ведёт на прокси, а Votifier стоит на бэкенд-сервере. Установите плагин и на прокси с обвязкой
PLUGIN MESSAGINGилиMYSQL. - Подтверждённый 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, в который он резолвится, сетевые причины (таймаут, закрытый порт, обрыв) не уточняем – проверьте адрес и порт. Коды про ключ и потерянный голос показываем всегда |