Sådan leverer Votifier en stemme
- En spiller stemmer på din server på en liste.
- Listen åbner en TCP-forbindelse til din server på Votifier-porten og sender spillernavnet, sit eget servicenavn, en adresse og et tidsstempel.
- NuVotifier tjekker beskeden (RSA-nøgle ved v1, token ved v2) og udløser et vote event.
- Et belønningsplugin som VotingPlugin lytter efter det event og giver belønningen.
NuVotifier giver ikke selv noget. Det kommer uden listener, så du skal altid have et plugin mere til belønningerne.
Trin 1: Installer NuVotifier på Paper eller Spigot
Læg NuVotifier-JAR’en i mappen plugins, og start serveren én gang. Det opretter sin config, et RSA-nøglepar og et token. Konsollen skriver tokenet ved første start: 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:voteshoster den adresse, NuVotifier lytter på. Som standard tager det den IP, din server er sat op til, eller0.0.0.0for alle interfaces.porter Votifier-porten, som standard8192. Det må ikke være Minecraft-porten.tokens.defaultbruges til alle lister, medmindre du tilføjer et token under en listes servicenavn.- Nøglerne til v1 oprettes i
plugins/Votifier/rsa/sompublic.keyogprivate.key.
Trin 2: Gør porten tilgængelig
Lister forbinder fra internettet, så Votifier-porten skal være åben for indgående TCP-forbindelser. Det er her, de fleste opsætninger fejler.
- Delt hosting: mange paneler åbner kun spilporten. Tilføj en ekstra port i panelet, og skriv præcis det nummer i
port. Nogle hosts tildeler nummeret for dig. - Egen VPS eller root-server: tillad porten i firewallen, f.eks.
ufw allow 8192/tcp. - Derhjemme: viderestil porten i din router til den maskine, der kører serveren.
Genstart serveren, når du har ændret configen. NuVotifier har også /nvreload, som kan køres fra konsollen.
Trin 3: Vælg v1 (offentlig nøgle) eller v2 (token)
| Protokol v1 | Protokol v2 | |
|---|---|---|
| Hemmelighed | RSA-nøglepar | Delt token |
| Det skal listen have | Indholdet af rsa/public.key | Tokenet fra tokens.default |
| Understøttelse | Klassisk Votifier; de fleste lister taler det | NuVotifier og lister, der understøtter det |
Giv aldrig nogen private.key. Understøtter en liste v2, er tokenet det enkleste valg: én linje, ingen nøglefil. BestMCServerList understøtter begge, så vælg det, du foretrækker, på din Votifier-side.
Behold disable-v1-protocol: false på en enkelt server. NuVotifier advarer selv om, at mange lister kun taler v1.
Trin 4: Velocity- eller BungeeCord-netværk
I et netværk forbinder listen til proxyen. NuVotifier kører på proxyen og sender stemmer videre til de backend-servere, hvor belønningspluginet bor. NuVotifier-wikien anbefaler plugin messaging til de fleste netværk.
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"På BungeeCord ligger de samme nøgler i plugins/NuVotifier/config.yml i YAML-form. cache = "file" gemmer stemmer for spillere, der er offline, og leverer dem senere.
Hver backend-server (Paper)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesport: -1 slår listeneren fra på backenden, så kun proxyen modtager stemmer. Sørg for, at dine backends kun kan nås gennem proxyen, ellers kan nogen sende falske stemmer.
Den anden mulighed, method = "proxy", sender stemmer fra proxyen til en NuVotifier-port på hver backend, sat op med adresse, port og token pr. server under [forwarding.proxy.<name>]. Den har ingen stemme-cache, så plugin messaging passer som regel bedre.
Trin 5: Indtast oplysningerne, og send en teststemme
- Test først lokalt:
/testvote Steve serviceName=BestMCServerListpå Paper eller/ptestvotemed de samme argumenter på proxyen. Reagerer dit belønningsplugin, virker den indre del. - På BestMCServerList åbner du din server i dashboardet og går til Votifier. Indtast serverens eller proxyens offentlige adresse, porten og tokenet (v2) eller den offentlige nøgle (v1), og gem.
- Tryk på Send teststemme. Vi sender en stemme for
TestVote, som ikke tæller med på ranglisten, og leveringsloggen viser inden for få sekunder, om den nåede frem.
Stemmer fra BestMCServerList har servicenavnet BestMCServerList. Bedrock-spillere, der joiner via Geyser og Floodgate, stemmer med deres navn med præfiks, f.eks. .Steve, og navnet når NuVotifier uændret. Hvert Minecraft-navn kan stemme én gang pr. server pr. kalenderdag, regnet i Europe/Berlin-tid.
Står du ikke på listen endnu? Tilføj din server først, og kom så tilbage til dette trin.
Typiske fejl og løsninger
| Problem | Det skal du tjekke |
|---|---|
| Connection refused | NuVotifier kører ikke eller lytter på en anden port. Sammenlign porten i configen med den, du har indtastet. |
| Timed out | En firewall eller hosten smider trafikken væk. Åbn porten for TCP, eller bed hosten om en ekstra port. |
| Testen ankommer, men spillerne får intet | Intet belønningsplugin. Konsollen logger A vote was received, but you don't have any listeners available to listen for it. |
| Stemmen afvises med v2 | Tokenet passer ikke. Kopiér tokens.default igen, uden mellemrum eller anførselstegn. |
| Virker på proxyen, ikke på backenden | Backenden er ikke sat til pluginMessaging, eller kanalnavnene er forskellige. |
| Forkert port indtastet | Minecraft-porten svarer i stedet for NuVotifier. Brug Votifier-porten. |
Når stemmerne ankommer, så sæt belønningerne op: vores guide til stemmebelønninger med VotingPlugin dækker servicenavnet, VoteSites.yml og daglige grænser. For det store billede, se hvordan du får spillere til en ny server.