Към съдържанието

Награди за гласуване в Minecraft с VotingPlugin

Списъците със сървъри изпращат съобщение до сървъра ти за всеки глас, но нищо не се случва, докато плъгин за награди не реагира. VotingPlugin е популярен избор: дава предмети, пари или команди за всеки сайт за гласуване, показва линковете за гласуване с /vote и добавя екстри като vote party и серии. Това ръководство го свързва с BestMCServerList стъпка по стъпка.

Обновено:

Как гласът се превръща в награда

Три части работят заедно. Играчът гласува в списък със сървъри. Списъкът изпраща съобщение за глас до Votifier на сървъра ти заедно с името на играча и име на услугата (service name), което идентифицира списъка. VotingPlugin слуша за тези съобщения, търси сайта за гласуване, чийто ServiceSite съвпада с името на услугата, и изпълнява наградите на този сайт.

Значи VotingPlugin не получава гласове сам. Първо ти трябва работещ Votifier, обикновено NuVotifier. Ако още не си го настроил, следвай ръководството за настройка на NuVotifier и се върни.

  • Votifier получава гласа и го проверява (токен при v2, RSA ключ при v1).
  • VotingPlugin сравнява името на услугата и дава наградите.
  • BestMCServerList изпраща името на услугата BestMCServerList.

Стъпка 1: Инсталирай VotingPlugin

  1. Увери се, че NuVotifier работи и е достъпен. Тестов глас от страницата ти за Votifier трябва да се появи в конзолата.
  2. Сложи JAR файла на VotingPlugin в папката plugins на своя Spigot или Paper сървър и рестартирай веднъж.
  3. VotingPlugin създава файловете си, сред тях plugins/VotingPlugin/VoteSites.yml за сайтовете за гласуване и Config.yml за общите настройки.

В мрежа с прокси гласовете обикновено пристигат на проксито, а наградите се изпълняват на бекенд сървърите. Дръж VoteSites.yml еднакъв на всеки бекенд.

Стъпка 2: Добави BestMCServerList във VoteSites.yml

Всеки списък, в който си, получава собствен запис под VoteSites. Ключът е вътрешно име: дръж го кратко, без интервали и без точки. Важният ред е ServiceSite.

plugins/VotingPlugin/VoteSites.yml
VoteSites:
  BestMCServerList:
    Enabled: true
    Name: 'BestMCServerList'
    Priority: 5
    ServiceSite: 'BestMCServerList'
    VoteURL: 'https://bestmcserverlist.net/server/your-server/vote'
    VoteDelay: 24h
    WaitUntilVoteDelay: false
    VoteDelayDaily: true
    ForceOffline: false
    DisplayItem:
      Material: 'DIAMOND'
      Amount: 1
    Rewards:
      Commands:
      - 'eco give %player% 250'
      - 'give %player% diamond 2'
      Messages:
        Player: '&aThanks for voting on BestMCServerList!'
  • Enabled: true е задължително, по подразбиране е false.
  • ServiceSite трябва да съвпада с името на услугата, което изпраща списъкът. VotingPlugin сравнява без значение от главни и малки букви, но иначе текстът трябва да е идентичен. При нас е BestMCServerList.
  • VoteURL е линкът, който играчите получават с /vote. Копирай линка си за гласуване от страницата на сървъра си; your-server заменя твоя собствен slug.
  • DisplayItem е задължителен за всеки сайт, защото се показва в менютата на VotingPlugin.
  • Командите се изпълняват от конзолата, а %player% става името на гласуващия. eco give изисква плъгин за икономика; използвай командите, които има сървърът ти.

Запази файла и изпълни /av reload.

Стъпка 3: Забавяне между гласовете и ежедневното нулиране

В BestMCServerList всяко Minecraft име може да гласува веднъж на сървър на календарен ден, а денят следва часовата зона Europe/Berlin. Нов глас е възможен веднага след полунощ берлинско време, а не 24 часа след последния.

  • VoteDelay: 24h се използва за /vote next – обратното броене, което виждат играчите. То не блокира гласове.
  • VoteDelayDaily: true вместо това нулира забавянето веднъж на ден, което пасва на списъци с ежедневно нулиране като нашия. VoteDelayDailyHour задава часа по времето на сървъра (1–24). Ако часовникът на сървъра ти не е по берлинско време, имай предвид разликата, когато го задаваш.
  • WaitUntilVoteDelay: true би отхвърлял гласове, пристигнали преди края на забавянето. Остави го на false: ние вече налагаме един глас на име на ден, а грешна настройка на забавянето би лишила играчите от наградите им.

Стъпка 4: Тествай наградите

  1. Изпълни /av vote <player> BestMCServerList. Това изпълнява наградите на този сайт за играч и показва, че конфигурацията на наградите ти работи. Не тества Votifier.
  2. Отвори страницата си за Votifier в BestMCServerList и натисни Изпрати тестов глас. Изпращаме глас за името TestVote, който не се брои за класирането. Логът на доставките показва дали сървърът ти го е приел.
  3. Потърси в конзолата ред като [VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!.
  4. Изпълни /av servicesites, за да видиш имената на услуги, които VotingPlugin е получил досега.

Ако тестовият глас пристига, но VotingPlugin съобщава за непознат service site, проблемът е в реда ServiceSite. С AutoCreateVoteSites: true в Config.yml (по подразбиране) VotingPlugin може и сам да създаде нов запис; той пак се нуждае от Enabled: true и твоите награди.

Bedrock играчи и офлайн гласове

Bedrock играчите, които влизат през Geyser и Floodgate, имат префикс пред името, по подразбиране точка: .Steve. Те гласуват с това пълно име и ние го предаваме на Votifier без промяна. Във VotingPlugin задай същия префикс в Config.yml. В мрежа използвай същата стойност в проксито и във всеки бекенд:

plugins/VotingPlugin/Config.yml
BedrockPlayerPrefix: '.'

.Steve и Steve са различни играчи. Никога не махай префикса, за да накараш едно име да пасне.

Играчите не е нужно да са онлайн, когато гласуват. Наградите имат RewardType със стойност ONLINE, OFFLINE или BOTH (по подразбиране). Тествай и офлайн гласове, защото командите, които изискват играч онлайн, се държат различно.

Vote party, етапи и серии

Щом основните награди работят, SpecialRewards.yml добавя цели, които карат играчите да продължават да гласуват: VoteParty, която се задейства, когато целият сървър достигне определен брой гласове, VoteMilestones за лични суми и VoteStreaks за гласуване няколко дни поред. Дръж наградите полезни, но честни; награди, които чупят икономиката ти, карат гласуването да изглежда задължително.

Искаш значка за ранг за най-активните гласуващи? Ръководството за префикси в LuckPerms показва как да дадеш на играчите префикс с картинка чрез команда, която можеш да изпълниш като награда.

Чести грешки

ПроблемРешение
Тестовият глас пристига, но никой не получава нищоСайтът за гласуване не е включен или ServiceSite не е BestMCServerList. Провери /av servicesites.
Изобщо нищо в конзолатаVotifier не получава гласа. Провери порта, токена и защитната стена с лога на доставките на страницата си за Votifier.
NuVotifier пише, че няма налични listenersVotingPlugin не е инсталиран или не се е заредил. Провери лога при стартиране.
/av vote работи, истинските гласове – неАдмин командата прескача Votifier. Тествай вместо това с Изпрати тестов глас.
Bedrock играчите не получават нищоBedrockPlayerPrefix не съвпада с префикса ти във Floodgate.

Често задавани въпроси

Какво е името на услугата на BestMCServerList за VotingPlugin?

То е BestMCServerList. Сложи точно това в реда ServiceSite на сайта за гласуване във VoteSites.yml.

Трябва ли ми NuVotifier за VotingPlugin?

Да. VotingPlugin дава наградите, но гласовете стигат до сървъра ти през Votifier. NuVotifier е поддържаната версия и поддържа протокол v1 и v2.

Кога играчите могат да гласуват отново в BestMCServerList?

Веднъж на Minecraft име, сървър и календарен ден. Денят се сменя в полунощ в часовата зона Europe/Berlin.

Получават ли Bedrock играчите награди за гласуване?

Да, ако гласуват с пълното си име от Floodgate, например .Steve, и BedrockPlayerPrefix във VotingPlugin съвпада с префикса ти във Floodgate.

Източници

Проверено спрямо официалната документация: