Коротко: положите NuVotifier в plugins/ и перезапустите сервер — он создаст конфиг, ключи и будет слушать порт 8192. На мониторинге укажите адрес сервера, этот порт и публичный ключ из plugins/NuVotifier/rsa/public.key (или токен, если сайт поддерживает протокол v2). Поставьте плагин наград — сам NuVotifier их не выдаёт. Откройте в фаерволе только порт голосов, а на сети ставьте NuVotifier на прокси и пересылайте голоса на серверы.
Что такое Votifier и NuVotifier
Votifier — исходный плагин и протокол, по которому сайты-мониторинги сообщают серверу о голосе игрока. NuVotifier — безопасная замена исходного Votifier: любой плагин наград, который работает с Votifier, работает и с ним. NuVotifier — открытый код под GPLv3, один jar для Bukkit, Spigot и Paper, Sponge 7, BungeeCord и Waterfall и Velocity. Официальные релизы — на GitHub, зеркало — на SpigotMC.
Последний релиз оригинального NuVotifier на GitHub — 2.7.3. Есть и форк azuvotifier (тоже GPL-3.0) на Modrinth: он заявляет поддержку Paper, Folia, Velocity и BungeeCord и ссылается на ту же инструкцию по настройке. Что бы вы ни выбрали, проверьте на странице плагина, что ваша версия сервера указана.
Один сервер: установка
- 1
Поставьте плагин
jar NuVotifier — в
plugins/, затем полный перезапуск. Как ставить плагины — в статье установка плагина. - 2
Проверьте порт
По умолчанию NuVotifier слушает
8192. Порт должен быть свободен и не совпадать с игровым: если Minecraft на 25565, NuVotifier на 25565 не встанет. На общем хостинге попросите поддержку выделить порт. - 3
Добавьте сервер на мониторинг
Укажите адрес, порт NuVotifier и содержимое
public.key— или токен, если сайт принимает протокол v2. - 4
Поставьте плагин наград
NuVotifier только принимает голос. Награду — предметы, валюту, сообщение в чат — выдаёт плагин-слушатель.
- 5
Проверьте голос
/testvoteимитирует голос, а мониторинг может предложить отправить тест-голос. Если в логе пусто — сайт не достучался до порта, см. ниже.
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
default: <сгенерирован при первом запуске>
forwarding:
method: noneКонфиг перечитывается командой /nvreload — только из консоли. /reload и PlugMan разработчики не поддерживают: после них NuVotifier может перестать работать до полного перезапуска.
Ключ RSA и токен: протоколы v1 и v2
| Ключ RSA (v1) | Токен (v2) | |
|---|---|---|
| Что это | Пара файлов public.key и private.key в plugins/NuVotifier/rsa/ | Короткая секретная строка в tokens конфига |
| Кому давать | Мониторингу — только public.key. private.key не отдавайте никому | Только мониторингам, которые поддерживают голосование NuVotifier (v2), и своим серверам на сети |
| Надёжность | Старый протокол: разработчики называют его небезопасным, а ошибки доставки сайты часто не замечают | Новый протокол: безопаснее и проще в диагностике |
disable-v1-protocol по умолчанию false: по комментарию в конфиге, большинство мониторингов поддерживают только v1, поэтому на сервере, который принимает голоса с сайтов, разработчики не советуют его отключать. Ключи работают только парой — не разделяйте их. Если в логе Could not decrypt data (is your key correct?), публичный ключ на мониторинге не совпадает с вашим.
Плагин наград
В документации NuVotifier есть список известных слушателей для Bukkit-серверов: например, VotingPlugin (открытый код на GitHub, страница на SpigotMC) и SuperbVote; часть слушателей платные. Выбирайте по своей версии сервера и по тому, нужна ли поддержка сети. Если сервер тормозит при голосовании, виноват обычно не NuVotifier — он работает вне основного потока, — а слушатель или команды, которые он запускает. Найти виновника поможет профайлер spark: см. почему лагает сервер.
Сеть серверов: пересылка голосов
На сети с Velocity или BungeeCord NuVotifier ставят и на прокси, и на каждый сервер. Голоса с мониторингов принимает прокси, а серверам их пересылает. Способов два, и разработчики советуют первый.
- `pluginMessaging` — пересылка через канал плагинов (
nuvotifier:votes) по уже открытым соединениям игроков. На серверах:forwarding.method: pluginMessagingиport: -1— свой порт им не нужен. На прокси: свободный порт (8192 подходит) и тот жеmethod. По умолчанию голос уходит на все серверы прокси;excludedServersисключает лишние,onlySendToJoinedServer: trueшлёт голос только туда, где игрок сейчас. Голоса для пустых серверов прокси копит в файле, по умолчанию до 10 дней. - `proxy` — прокси сам подключается к NuVotifier каждого сервера, как мониторинг. На серверах — свой порт, токен из
tokens.defaultиdisable-v1-protocol: true; на прокси —method: proxyи для каждого сервераaddress,portиtoken. Кэша голосов нет, настраивать сложнее — только если первый способ не подходит.
host: 0.0.0.0
port: 8192
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votes
cache: file
onlySendToJoinedServer: falseФаервол: открыт только порт голосов
Мониторинг подключается к NuVotifier по TCP, поэтому кроме игрового порта откройте только порт голосов — на прокси, если у вас сеть. Порты NuVotifier на серверах за прокси при pluginMessaging выключены (-1), а при proxy к ним подключается только ваш прокси — открывайте их для него, а не для всего интернета. Дома ещё нужен проброс порта на роутере — см. IP и порт сервера.
sudo ufw allow 25565/tcp # Minecraft или прокси
sudo ufw allow 8192/tcp # NuVotifier
sudo ufw status verboseЕсли голоса не приходят и в логе пусто, NuVotifier по разбору разработчиков чаще всего не включился, не смог занять порт, слушает не тот IP (попробуйте host: 0.0.0.0), закрыт фаерволом или стоит за NAT без проброса.
Награды, автоматизация и античит
Сам голос отдаётся на сайте мониторинга, и античит его не видит: накрутку голосов на сайте он не поймает. Но награды за голоса, онлайн и топы приманивают тех, кто играет без игрока: персонаж стоит сутками, рыбачит и ест сам, пока владелец спит. Так награды и экономика перекашиваются в пользу автоматики.
| Чит | DGuard | GrimAC | Vulcan | Polar | Intave | Matrix |
|---|---|---|---|---|---|---|
| AntiAFKизображает игрока у компьютера | ||||||
| AutoFishрыбачит сам | ||||||
| AutoEatест сам |
DGuard — лучший античит для современного сервера Minecraft — ловит AntiAFK, AutoFish и AutoEat вместе с читами боя, движения и постройки — всего 47 видов из сравнения. А мониторинг приводит игроков, но оставляет их честная игра: сервер, где не встретишь KillAura и Fly, игроки рекомендуют сами. Как ещё привлекать и удерживать игроков — в статье как раскрутить сервер.
Частые вопросы
Какой порт у NuVotifier?
По умолчанию 8192, TCP. Его задаёт port в plugins/NuVotifier/config.yml. Порт не должен совпадать с игровым и должен быть открыт в фаерволе.
Почему голос пришёл, а награды нет?
NuVotifier только принимает голоса — награды выдаёт отдельный плагин-слушатель, например VotingPlugin или SuperbVote. Без него голос записывается в лог, и больше ничего не происходит.
Какой ключ давать мониторингу?
Для протокола v1 — только public.key из plugins/NuVotifier/rsa/. private.key не отдавайте никому. Если сайт поддерживает протокол v2, ему можно дать токен из tokens.
Как настроить голосования на сети Velocity?
Поставьте NuVotifier на прокси и на каждый сервер. На прокси — открытый порт и forwarding.method: pluginMessaging, на серверах — тот же метод и port: -1. Серверы должны быть доступны только через прокси.
Источники
- NuVotifier на GitHub
- NuVotifier: руководство по настройке
- NuVotifier: разбор проблем
- NuVotifier: конфиг Bukkit по умолчанию
- NuVotifier: конфиг прокси по умолчанию
- azuvotifier на Modrinth
- VotingPlugin на GitHub
- Ubuntu Server: фаервол ufw
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf