Miten Votifier toimittaa äänen
- Pelaaja äänestää palvelintasi listalla.
- Lista avaa TCP-yhteyden palvelimesi Votifier-porttiin ja lähettää pelaajan nimen, oman service-nimensä, osoitteen ja aikaleiman.
- NuVotifier tarkistaa viestin (v1:ssä RSA-avain, v2:ssa token) ja laukaisee vote-eventin.
- Palkintoplugin, kuten VotingPlugin, kuuntelee tätä eventtiä ja antaa palkinnon.
NuVotifier ei itse anna mitään. Siinä ei ole yhtään kuuntelijaa valmiina, joten tarvitset aina toisen pluginin palkintoja varten.
Vaihe 1: Asenna NuVotifier Paperiin tai Spigotiin
Laita NuVotifierin JAR plugins-kansioon ja käynnistä palvelin kerran. Se luo configinsa, RSA-avainparin ja tokenin. Konsoli tulostaa tokenin ensimmäisellä käynnistyksellä: 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:voteshoston osoite, jota NuVotifier kuuntelee. Oletuksena se käyttää IP:tä, jolle palvelimesi on määritetty, tai0.0.0.0kaikille verkkoliitännöille.porton Votifier-portti, oletuksena8192. Se ei saa olla Minecraftin portti.tokens.defaulton käytössä jokaiselle listalle, ellet lisää tokenia listan service-nimen alle.- v1:n avaimet luodaan kansioon
plugins/Votifier/rsa/nimilläpublic.keyjaprivate.key.
Vaihe 2: Tee portista tavoitettava
Listat yhdistävät internetistä, joten Votifier-portin täytyy olla auki saapuville TCP-yhteyksille. Tähän useimmat asennukset kaatuvat.
- Jaettu hostaus: monet paneelit avaavat vain peliportin. Lisää paneelissa ylimääräinen portti ja laita täsmälleen se numero kohtaan
port. Jotkin hostit antavat numeron puolestasi. - Oma VPS tai root-palvelin: salli portti palomuurissa, esimerkiksi
ufw allow 8192/tcp. - Kotona: ohjaa portti reitittimessäsi koneelle, jolla palvelin pyörii.
Käynnistä palvelin uudelleen configin muuttamisen jälkeen. NuVotifierissa on myös /nvreload, joka toimii konsolista.
Vaihe 3: Valitse v1 (julkinen avain) tai v2 (token)
| Protokolla v1 | Protokolla v2 | |
|---|---|---|
| Salaisuus | RSA-avainpari | Jaettu token |
| Mitä lista tarvitsee | Tiedoston rsa/public.key sisällön | Tokenin kohdasta tokens.default |
| Tuki | Klassinen Votifier; useimmat listat puhuvat sitä | NuVotifier ja sitä tukevat listat |
Älä koskaan anna kenellekään tiedostoa private.key. Jos lista tukee v2:ta, token on yksinkertaisempi valinta: yksi rivi, ei avaintiedostoa. BestMCServerList tukee molempia, joten valitse mieleisesi Votifier-sivullasi.
Pidä yksittäisellä palvelimella disable-v1-protocol: false. NuVotifier itse varoittaa, että monet listat puhuvat vain v1:tä.
Vaihe 4: Velocity- tai BungeeCord-verkostot
Verkostossa lista yhdistää proxyyn. NuVotifier pyörii proxyssa ja välittää äänet backend-palvelimille, joilla palkintoplugin on. NuVotifierin wiki suosittelee useimmille verkostoille plugin messagingia.
Proxy (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"BungeeCordissa samat avaimet ovat YAML-muodossa tiedostossa plugins/NuVotifier/config.yml. cache = "file" säilyttää offline-pelaajien äänet ja toimittaa ne myöhemmin.
Jokainen backend-palvelin (Paper)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesport: -1 sammuttaa backendin kuuntelijan, joten vain proxy vastaanottaa ääniä. Varmista, että backendeihisi pääsee vain proxyn kautta, tai joku voisi lähettää väärennettyjä ääniä.
Toinen vaihtoehto, method = "proxy", lähettää äänet proxystä jokaisen backendin NuVotifier-porttiin, ja se määritetään osoitteella, portilla ja tokenilla palvelinkohtaisesti kohdassa [forwarding.proxy.<name>]. Siinä ei ole äänivälimuistia, joten plugin messaging sopii yleensä paremmin.
Vaihe 5: Syötä tiedot ja lähetä testiääni
- Testaa ensin paikallisesti:
/testvote Steve serviceName=BestMCServerListPaperissa tai/ptestvotesamoilla argumenteilla proxyssa. Jos palkintopluginisi reagoi, sisäpuoli toimii. - Avaa BestMCServerListissä palvelimesi hallintapaneelissa ja mene kohtaan Votifier. Syötä palvelimen tai proxyn julkinen osoite, portti ja token (v2) tai julkinen avain (v1) ja tallenna.
- Paina Lähetä testiääni. Lähetämme äänen nimelle
TestVote, joka ei vaikuta rankingiin, ja toimitusloki näyttää sekunneissa, saapuiko se perille.
BestMCServerListin äänissä on service-nimi BestMCServerList. Geyserin ja Floodgaten kautta liittyvät Bedrock-pelaajat äänestävät etuliitteellisellä nimellään, esimerkiksi .Steve, ja nimi saapuu NuVotifierille muuttamattomana. Jokainen Minecraft-nimi voi äänestää kerran palvelinta ja kalenteripäivää kohden Europe/Berlin-ajassa laskettuna.
Etkö ole vielä listalla? Lisää palvelimesi ensin ja palaa sitten tähän vaiheeseen.
Yleiset virheet ja korjaukset
| Ongelma | Mitä tarkistaa |
|---|---|
| Connection refused | NuVotifier ei pyöri tai kuuntelee toista porttia. Vertaa configin porttia syöttämääsi. |
| Timed out | Palomuuri tai host pudottaa liikenteen. Avaa portti TCP:lle tai pyydä hostilta ylimääräistä porttia. |
| Testi saapuu, pelaajat eivät saa mitään | Palkintopluginia ei ole. Konsoli kirjaa A vote was received, but you don't have any listeners available to listen for it. |
| Ääni hylätään v2:lla | Token ei täsmää. Kopioi tokens.default uudelleen ilman välilyöntejä tai lainausmerkkejä. |
| Toimii proxyssa, ei backendillä | Backendiä ei ole asetettu pluginMessaging-tilaan, tai kanavien nimet eroavat. |
| Väärä portti syötetty | Minecraftin portti vastaa NuVotifierin sijaan. Käytä Votifier-porttia. |
Kun äänet saapuvat, määritä palkinnot: oppaamme äänestyspalkinnoista VotingPluginilla käy läpi service-nimen, VoteSites.yml:n ja päivittäiset rajat. Isomman kuvan saat oppaasta miten saat pelaajia uudelle palvelimelle.