Как гласът се превръща в награда
Три части работят заедно. Играчът гласува в списък със сървъри. Списъкът изпраща съобщение за глас до Votifier на сървъра ти заедно с името на играча и име на услугата (service name), което идентифицира списъка. VotingPlugin слуша за тези съобщения, търси сайта за гласуване, чийто ServiceSite съвпада с името на услугата, и изпълнява наградите на този сайт.
Значи VotingPlugin не получава гласове сам. Първо ти трябва работещ Votifier, обикновено NuVotifier. Ако още не си го настроил, следвай ръководството за настройка на NuVotifier и се върни.
- Votifier получава гласа и го проверява (токен при v2, RSA ключ при v1).
- VotingPlugin сравнява името на услугата и дава наградите.
- BestMCServerList изпраща името на услугата
BestMCServerList.
Стъпка 1: Инсталирай VotingPlugin
- Увери се, че NuVotifier работи и е достъпен. Тестов глас от страницата ти за Votifier трябва да се появи в конзолата.
- Сложи JAR файла на VotingPlugin в папката
pluginsна своя Spigot или Paper сървър и рестартирай веднъж. - VotingPlugin създава файловете си, сред тях
plugins/VotingPlugin/VoteSites.ymlза сайтовете за гласуване иConfig.ymlза общите настройки.
В мрежа с прокси гласовете обикновено пристигат на проксито, а наградите се изпълняват на бекенд сървърите. Дръж VoteSites.yml еднакъв на всеки бекенд.
Стъпка 2: Добави BestMCServerList във VoteSites.yml
Всеки списък, в който си, получава собствен запис под VoteSites. Ключът е вътрешно име: дръж го кратко, без интервали и без точки. Важният ред е ServiceSite.
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: Тествай наградите
- Изпълни
/av vote <player> BestMCServerList. Това изпълнява наградите на този сайт за играч и показва, че конфигурацията на наградите ти работи. Не тества Votifier. - Отвори страницата си за Votifier в BestMCServerList и натисни Изпрати тестов глас. Изпращаме глас за името
TestVote, който не се брои за класирането. Логът на доставките показва дали сървърът ти го е приел. - Потърси в конзолата ред като
[VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!. - Изпълни
/av servicesites, за да видиш имената на услуги, които VotingPlugin е получил досега.
Ако тестовият глас пристига, но VotingPlugin съобщава за непознат service site, проблемът е в реда ServiceSite. С AutoCreateVoteSites: true в Config.yml (по подразбиране) VotingPlugin може и сам да създаде нов запис; той пак се нуждае от Enabled: true и твоите награди.
Bedrock играчи и офлайн гласове
Bedrock играчите, които влизат през Geyser и Floodgate, имат префикс пред името, по подразбиране точка: .Steve. Те гласуват с това пълно име и ние го предаваме на Votifier без промяна. Във 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 пише, че няма налични listeners | VotingPlugin не е инсталиран или не се е заредил. Провери лога при стартиране. |
/av vote работи, истинските гласове – не | Админ командата прескача Votifier. Тествай вместо това с Изпрати тестов глас. |
| Bedrock играчите не получават нищо | BedrockPlayerPrefix не съвпада с префикса ти във Floodgate. |