DGuard

NuVotifier: голосования за сервер с мониторингов и награды

Когда игрок голосует за сервер на мониторинге, сайт может сообщить об этом серверу — по протоколу Votifier. Принимает голос плагин NuVotifier, а награду выдаёт отдельный плагин-слушатель. Разбираем установку, ключи и токены, пересылку голосов на сети и что открыть в фаерволе.

Команда DGuard7 мин

Коротко: положите 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. 1

    Поставьте плагин

    jar NuVotifier — в plugins/, затем полный перезапуск. Как ставить плагины — в статье установка плагина.

  2. 2

    Проверьте порт

    По умолчанию NuVotifier слушает 8192. Порт должен быть свободен и не совпадать с игровым: если Minecraft на 25565, NuVotifier на 25565 не встанет. На общем хостинге попросите поддержку выделить порт.

  3. 3

    Добавьте сервер на мониторинг

    Укажите адрес, порт NuVotifier и содержимое public.key — или токен, если сайт принимает протокол v2.

  4. 4

    Поставьте плагин наград

    NuVotifier только принимает голос. Награду — предметы, валюту, сообщение в чат — выдаёт плагин-слушатель.

  5. 5

    Проверьте голос

    /testvote имитирует голос, а мониторинг может предложить отправить тест-голос. Если в логе пусто — сайт не достучался до порта, см. ниже.

plugins/NuVotifier/config.yml — главное (одиночный сервер)
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. Кэша голосов нет, настраивать сложнее — только если первый способ не подходит.
прокси BungeeCord: plugins/NuVotifier/config.yml (на Velocity — те же ключи в config.toml)
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 и порт сервера.

ufw на VPS: игровой порт и порт голосов
sudo ufw allow 25565/tcp   # Minecraft или прокси
sudo ufw allow 8192/tcp    # NuVotifier
sudo ufw status verbose

Если голоса не приходят и в логе пусто, NuVotifier по разбору разработчиков чаще всего не включился, не смог занять порт, слушает не тот IP (попробуйте host: 0.0.0.0), закрыт фаерволом или стоит за NAT без проброса.

Награды, автоматизация и античит

Сам голос отдаётся на сайте мониторинга, и античит его не видит: накрутку голосов на сайте он не поймает. Но награды за голоса, онлайн и топы приманивают тех, кто играет без игрока: персонаж стоит сутками, рыбачит и ест сам, пока владелец спит. Так награды и экономика перекашиваются в пользу автоматики.

ЧитDGuardGrimACVulcanPolarIntaveMatrix
AntiAFKизображает игрока у компьютера
AutoFishрыбачит сам
AutoEatест сам
Кто проверяет читы автоматизации — по нашему сравнениюВсе 47 видов читов — в сравнении

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. Серверы должны быть доступны только через прокси.

Источники

Все разделы
Продвижение и доход7 минКак раскрутить сервер Minecraft и удержать игроковИгроков приводят мониторинги, Discord, видео и сарафанное радио, а оставляют — понятная идея, первые десять минут без растерянности, правила и честная игра. Разбираем каналы привлечения, правила Mojang про имя Minecraft и рекламу у блогеров и то, что делать, чтобы новичок пришёл завтра снова.ЧитатьПрокси и сети7 минКак настроить Velocity: сеть серверов с лоббиСобираем сеть из прокси Velocity, лобби и режима выживания: velocity.toml, безопасная передача данных игроков, конфиги Paper на серверах и файрвол — без него в сеть можно зайти под чужим ником.ЧитатьПлагины6 минЭкономика сервера Minecraft: Vault, провайдер и магазиныДеньги на сервере Minecraft держатся на трёх слоях: мост Vault (или его форк VaultUnlocked), плагин, который хранит балансы, — например EssentialsX, — и плагины, которые деньги тратят и выдают: магазины, работы, награды. Разберём, как их связать, где взять первые настройки и что ломает экономику быстрее любого бага.Читать

Поставьте лучший античит для современного Minecraft

DGuard ловит все 47 видов читов из нашего сравнения — у ближайшего соперника, Intave, 27. Полная защита на любом тарифе, до 30 игроков онлайн — бесплатно.