Як налаштувати нагороди за голосування (Votifier, VotingPlugin та інші)
Встановіть супутній плагін, налаштуйте Votifier для миттєвого доставлення нагород, або підключіть до цього сайту VotingPlugin, SuperVotes чи SuperbVote - із саме тими значеннями, яких цей сайт справді очікує.

Кожному плагіну нагород потрібні від вас дві речі: спосіб дізнатися, що голос було подано, і щось, що запуститься, коли це станеться. У цій статті розглянемо обидва варіанти - супутній плагін, який публікує цей сайт, Votifier для миттєвого доставлення, і що робити, якщо у вас уже встановлено VotingPlugin, SuperVotes чи інший плагін нагород.
Варіант A: плагін VoxelRank (рекомендовано)
Супутній плагін напряму спілкується з API цього сайту. Votifier не потрібен - плагін працює, періодично опитуючи сервер щодо неотриманих голосів, тож він працює навіть за NAT і надолужує все, що було пропущено, поки сервер був вимкнений. Votifier також доступний як опціональне доповнення для миттєвого доставлення (див. Варіант B).
- Завантажте jar-файл зі своєї Приладової панелі (картка вашого сервера має кнопку завантаження, щойно з'явиться збірка), або напряму з /download/plugin.
- Покладіть його в
plugins/і один раз запустіть сервер. Це створитьplugins/VotingSite/config.yml. - Відкрийте сторінку Редагувати вашого сервера → вкладку Нагороди та голосування і скопіюйте показаний там Ключ API.
- Вставте його в
site.api-keyуconfig.yml(заодно перевірте, щоsite.urlвказує на цей сайт), потім виконайте/votingsite reload. - Вирішіть, як голоси мають до вас надходити, налаштувавши
modeуconfig.yml:poll(за замовчуванням) - плагін сам забирає неотримані голоси. Більше нічого встановлювати не потрібно.votifier- сайт надсилає кожен голос у момент його подання. Потребує NuVotifier або іншого Votifier-listener'а (Варіант B нижче).both- push через Votifier з опитуванням як підстраховкою, без дублів завдяки id голосу.
- Заповніть
rewards.commands(а за бажанням щеmilestonesіvote-party) командами консолі, які мають виконуватися при голосуванні. - Перевірте це:
/votingsite testvote <player>симулює голос без очікування справжнього./votingsite statusпоказує режим, чи приймається ключ API та скільки голосів уже доставлено.
Гравці отримують своє посилання для голосування та лічильник голосів через /voxelrank vote - а не через /vote, яку цей плагін свідомо ніколи не займає (два плагіни, що конкурують за одну й ту саму команду - це саме те, через що нагорода непомітно перестає працювати, див. відповідну примітку в config.yml).
Варіант B: миттєве доставлення через NuVotifier
Пропустіть цей розділ, якщо режим poll вас цілком влаштовує - він не обов'язковий. Додайте його, коли важливі ті кілька хвилин затримки опитування, або коли ви віддаєте перевагу окремому плагіну нагород замість вбудованого на цьому сайті.
NuVotifier - це активно підтримуваний форк оригінального Votifier: сам оригінальний проєкт сьогодні практично не підтримується, тож «встановити Votifier» на практиці означає встановити NuVotifier (або сумісний форк на кшталт VotifierPlus).
- Покладіть jar-файл NuVotifier у
plugins/і перезапустіть сервер. На сервері Bukkit/Spigot/Paper він зберігає класичну назву папкиplugins/Votifier/заради зворотної сумісності - це власна папка NuVotifier, а не залишок від старого плагіна - і під час першого запуску створює в нійconfig.ymlта пару ключів уrsa/. - Отримайте свої облікові дані з
plugins/Votifier/config.yml: токен v2 (рекомендовано) генерується автоматично під ключемdefaultу розділіtokens:- скопіюйте його як є. Якщо волієте старіший спосіб, публічний ключ v1 знаходиться вplugins/Votifier/rsa/public.key; відповіднийprivate.keyтримайте в тій самій папці на сервері та ніколи ним не діліться. - Перевірте
port, на якому слухає NuVotifier (за замовчуванням8192), і переконайтеся, що він відкритий у вашому фаєрволі чи панелі хостингу - це окремий порт від звичайного порту Minecraft, і більшість хостингів не відкривають його автоматично. - На сторінці Редагувати вашого сервера → вкладці Нагороди та голосування вкажіть хост Votifier (адресу вашого сервера) і цей порт, потім вставте токен v2 або ключ v1 з кроку 2. Якщо заповнено обидва, використовується лише один - пріоритет у v2.
- Натисніть Надіслати тестовий голос прямо на цій вкладці. Це надішле справжній пакет Votifier на хост/порт/ключ/токен, які зараз вказані у формі - попередньо нічого зберігати не потрібно - і одразу покаже, чи прийняв його NuVotifier. Якщо не вдасться, власний консольний лог NuVotifier (за замовчуванням
debug: true) покаже, чи з'єднання взагалі дійшло до плагіна, що швидко відрізняє «неправильний ключ» від «заблокованого порту». - Збережіть, потім подайте справжній голос і переконайтеся, що нагорода приходить одразу, а не при наступному опитуванні.
Під капотом цей сайт надсилає стандартний хендшейк VOTIFIER 2 з JSON-payload, підписаним HMAC, якщо задано токен v2, а інакше повертається до класичного блоку v1, зашифрованого RSA - той самий протокол, який уже розуміє будь-який Votifier-сумісний listener, нічого специфічного для цього сайту.
Уже використовуєте VotingPlugin?
Якщо на вашому сервері вже працює VotingPlugin, встановлювати наш плагін не потрібно - і вручну додавати туди цей сайт теж не потрібно, бо для нього у VotingPlugin є підтримуваний пресет.
Виконайте це в грі як оператор (або з правом VotingPlugin.Commands.AdminVote.VotePresets):
/av VotePresets
VotingPlugin завантажує актуальний список пресетів із власного репозиторію VotingPlugin-Presets, дає обрати один - VoxelRank серед них є - а потім запитує значення, потрібні цьому пресету: відображуване ім'я, URL голосування вашого оголошення, затримку між голосами тощо. Або одразу перейдіть до справи з власним посиланням для голосування:
/av VotePresets https://voxelrank.com/server/your-slug/vote
Вказуйте https://; VotingPlugin автоматично зіставляє ім'я хоста з потрібним пресетом, замість того щоб змушувати вас шукати його у списку.
У будь-якому разі він записує або оновлює відповідний запис під VoteSites: у VoteSites.yml - ServiceSite, VoteURL, розумні значення затримки за замовчуванням, а також заглушку відображуваного предмета чи повідомлення з подякою, якщо у сайту їх ще немає - а потім перезавантажує сайти для голосування за вас. Усе інше, що вже є у файлі, залишається незмінним. Зробіть резервну копію VoteSites.yml, якщо змінюєте вже налаштовану конфігурацію, а не додаєте нову, і перевірте, що було записано - особливо нагороди, адже пресет - це відправна точка, а не готова конфігурація - перш ніж рекламувати це гравцям.
VotingPlugin усе одно потребує власного підключення Votifier, щоб реально отримувати голоси - спрямуйте його на те саме налаштування NuVotifier з Варіанту B вище. Також йому потрібно, щоб сервер міг достукатися до GitHub (raw.githubusercontent.com), аби взагалі завантажити пресети; якщо /av VotePresets повідомляє про відсутність доступних пресетів, це проблема мережі чи фаєрвола на сервері, а не відсутній пресет. /av gui, або пряме редагування VoteSites.yml, і далі працюють як запасний варіант - ServiceSite має звучати точно як VoxelRank.com, що можна підтвердити командою /av servicesites після реального чи адміністративного тестового голосу.
Інші плагіни нагород
Використовуєте щось легше за VotingPlugin? SuperVotes та SuperbVote - обидва легкі Votifier-listener'и з власними системами vote-party та команд нагород. Жоден з них не відстежує пресети по сайтах, як це робить VotingPlugin - спрямуйте будь-який з них на той самий хост, порт і токен v2 (або ключ v1) Votifier з вкладки Нагороди та голосування вище і налаштуйте його нагороди так само, як для будь-якого іншого голосування.
Вирішення проблем
- При
/votingsite testvoteнічого не відбувається. Спочатку перевірте/votingsite status- якщо ключ API не приймається, голосам (реальним чи тестовим) нікуди йти. Скопіюйте його заново зі сторінки Редагувати та переконайтеся, що в кінці немає зайвого пробілу. - Push від Votifier ніколи не приходить, але опитування працює. Зазвичай блокується саме порт Votifier, а не API - більшість хостингів за замовчуванням відкривають вихідний HTTP-трафік, але не довільний додатковий вхідний порт.
mode: both(або запуск listener'а іншого плагіна нагород окремо) - розумний постійний запасний варіант замість боротьби з фаєрволом. - Нагорода спрацьовує, але в грі нічого не з'являється. Команди нагород виконуються з консолі, тож команда, яка працює лише якщо її ввів гравець (без права, без
op), тихо провалиться. Спочатку перевірте точну команду з консолі. - VotingPlugin пише в лог "invalid service site" або ніколи не зіставляє голос. Значення
ServiceSiteмає збігатися посимвольно, крім регістру. Перевірте його командою/av servicesites, а не вгадуйте за доменним іменем цього сайту. /av VotePresetsповідомляє про відсутність доступних пресетів, або URL нічому не відповідає. Список пресетів завантажується з GitHub під час виконання, тож майже завжди справа в мережі самого сервера - фаєрвол, проксі, DNS чи збій GitHub - що блокуєraw.githubusercontent.com, а не в тому, що VoxelRank прибрали зі списку. Збіг за URL також потребує повної адреси, включно зhttps://; самі лише імена хостів не розпізнаються.- Налаштування на вкладці Нагороди та голосування наче не зберігаються. Вони застосовуються лише до заявленого оголошення - див. фільтр Заявлено в списку серверів. Імпортований, незаявлений запис ще не має власника, для якого можна налаштувати нагороди; спочатку заявіть на нього права.
Швидкі відповіді
Чи потрібен мені взагалі Votifier?
Ні. Режим poll (за замовчуванням для плагіна VoxelRank) працює без встановлення чогось іще - Votifier лише скорочує затримку між голосом і нагородою і є єдиним шляхом, якщо ви волієте натомість використовувати VotingPlugin, SuperVotes чи SuperbVote.
Чи можу я використовувати наш плагін і VotingPlugin одночасно?
Не для однієї й тієї самої нагороди - оберіть один плагін, який реально виконуватиме команди нагороди, інакше голос може бути оплачений двічі. Сам Votifier може сповіщати одразу кілька listener'ів, тож це правило «не налаштовуйте одну й ту саму нагороду двічі», а не технічне обмеження.
Мій хостинг не дає відкрити додаткові порти для Votifier.
Використовуйте режим poll з плагіном VoxelRank. Він робить лише вихідні запити, тож відкривати нічого не потрібно. У VotingPlugin і подібних плагінів нагород немає аналога режиму опитування - їм потрібен вхідний порт Votifier.
Потрібна допомога?
Застрягли на якомусь із кроків вище, або щось не збігається з тим, що реально надсилає ваш сервер? Зв'яжіться з нами - найшвидші способи поставити питання про голоси й нагороди перелічені прямо там.