Како Votifier доставува глас
- Играч гласа за твојот сервер на некоја листа.
- Листата отвора TCP врска до твојот сервер на Votifier портата и го испраќа името на играчот, своето име на сервис, адреса и временска ознака.
- NuVotifier ја проверува пораката (RSA клуч за v1, токен за v2) и активира настан за глас.
- Плагин за награди како VotingPlugin го слуша тој настан и ја дава наградата.
Самиот NuVotifier не дава ништо. Доаѓа без никаков listener, па секогаш ти треба втор плагин за наградите.
Чекор 1: Инсталирај NuVotifier на Paper или Spigot
Стави го NuVotifier JAR-от во папката plugins и стартувај го серверот еднаш. Тој создава своја конфигурација, пар RSA клучеви и токен. Конзолата го печати токенот при првото стартување: Your default NuVotifier token is ….
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
default: <generated token>
forwarding:
method: none
pluginMessaging:
channel: nuvotifier:voteshostе адресата на која слуша NuVotifier. Стандардно ја зема IP-адресата за која е конфигуриран твојот сервер или0.0.0.0за сите интерфејси.portе Votifier портата, стандардно8192. Не смее да биде Minecraft портата.tokens.defaultсе користи за секоја листа, освен ако не додадеш токен под името на сервисот на некоја листа.- Клучевите за v1 се создаваат во
plugins/Votifier/rsa/какоpublic.keyиprivate.key.
Чекор 2: Направи ја портата достапна
Листите се поврзуваат од интернет, па Votifier портата мора да биде отворена за дојдовни TCP врски. Тука паѓаат повеќето поставувања.
- Заеднички хостинг: многу панели ја отвораат само портата на играта. Додај дополнителна порта во панелот и стави го точно тој број во
port. Некои хостинзи сами го доделуваат бројот. - Сопствен VPS или root сервер: дозволи ја портата во firewall-от, на пример
ufw allow 8192/tcp. - Дома: препрати ја портата во рутерот кон машината на која работи серверот.
Рестартирај го серверот откако ќе ја смениш конфигурацијата. NuVotifier има и /nvreload, кој работи од конзолата.
Чекор 3: Избери v1 (јавен клуч) или v2 (токен)
| Протокол v1 | Протокол v2 | |
|---|---|---|
| Тајна | Пар RSA клучеви | Заеднички токен |
| Што ѝ треба на листата | Содржината на rsa/public.key | Токенот од tokens.default |
| Поддршка | Класичен Votifier; повеќето листи го зборуваат | NuVotifier и листите што го поддржуваат |
Никогаш никому не му го давај private.key. Ако листата поддржува v2, токенот е поедноставниот избор: еден ред, без датотека со клуч. BestMCServerList ги поддржува двата, па избери што сакаш на твојата Votifier страница.
Задржи disable-v1-protocol: false на еден сервер. И самиот NuVotifier предупредува дека многу листи зборуваат само v1.
Чекор 4: Velocity или BungeeCord мрежи
На мрежа, листата се поврзува на проксито. NuVotifier работи на проксито и ги препраќа гласовите до бекенд серверите каде што е плагинот за награди. NuVotifier wiki препорачува plugin messaging за повеќето мрежи.
Прокси (Velocity)
host = "0.0.0.0"
port = 8192
disable-v1-protocol = false
[tokens]
default = "<generated token>"
[forwarding]
method = "pluginMessaging"
[forwarding.pluginMessaging]
channel = "nuvotifier:votes"
cache = "file"На BungeeCord истите клучеви се во plugins/NuVotifier/config.yml во YAML форма. cache = "file" ги чува гласовите за играчите што се офлајн и ги доставува подоцна.
Секој бекенд сервер (Paper)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesport: -1 го исклучува listener-от на бекендот, па само проксито прима гласови. Погрижи се бекендите да се достапни само преку проксито, инаку некој би можел да испраќа лажни гласови.
Другата опција, method = "proxy", ги испраќа гласовите од проксито до NuVotifier порта на секој бекенд, конфигурирана со адреса, порта и токен за секој сервер под [forwarding.proxy.<name>]. Нема кеш за гласови, па plugin messaging обично е подобар избор.
Чекор 5: Внеси ги податоците и испрати тест-глас
- Прво тестирај локално:
/testvote Steve serviceName=BestMCServerListна Paper или/ptestvoteсо истите аргументи на проксито. Ако твојот плагин за награди реагира, внатрешниот дел работи. - На BestMCServerList отвори го твојот сервер во контролната табла и оди на Votifier. Внеси ја јавната адреса на серверот или проксито, портата и токенот (v2) или јавниот клуч (v1), па зачувај.
- Притисни Испрати тест-глас. Испраќаме глас за
TestVoteшто не се брои за рангирањето, а дневникот на испораки за неколку секунди покажува дали стигнал.
Гласовите од BestMCServerList го носат името на сервисот BestMCServerList. Bedrock играчите што влегуваат преку Geyser и Floodgate гласаат со своето име со префикс, на пример .Steve, и името стигнува до NuVotifier непроменето. Секое Minecraft име може да гласа еднаш по сервер во календарски ден, сметано по времето во Europe/Berlin.
Сѐ уште не си на листата? Прво додај го твојот сервер, па врати се на овој чекор.
Чести грешки и решенија
| Проблем | Што да провериш |
|---|---|
| Connection refused | NuVotifier не работи или слуша на друга порта. Спореди ја портата во конфигурацијата со онаа што си ја внел. |
| Timed out | Firewall или хостингот го фрла сообраќајот. Отвори ја портата за TCP или побарај дополнителна порта од хостингот. |
| Тестот стигнува, играчите не добиваат ништо | Нема плагин за награди. Конзолата пишува A vote was received, but you don't have any listeners available to listen for it. |
| Гласот е одбиен со v2 | Токенот не се совпаѓа. Копирај го tokens.default повторно, без празни места или наводници. |
| Работи на проксито, не на бекендот | Бекендот не е поставен на pluginMessaging или имињата на каналите се разликуваат. |
| Внесена е погрешна порта | Наместо NuVotifier одговара Minecraft портата. Користи ја Votifier портата. |
Штом гласовите стигнуваат, постави ги наградите: нашиот водич за награди за гласање со VotingPlugin ги покрива името на сервисот, VoteSites.yml и дневните ограничувања. За поширока слика, види како да добиеш играчи за нов сервер.