Spring til indhold

Opsætning af NuVotifier på Paper, Velocity og BungeeCord

NuVotifier er leddet mellem en serverliste og dit belønningsplugin: listen forbinder til det for hver stemme, og det giver stemmen videre til det plugin, der deler belønningen ud. Denne guide sætter det op på en enkelt Paper-server og på et Velocity- eller BungeeCord-netværk og tjekker derefter det hele med en teststemme.

Opdateret:

Sådan leverer Votifier en stemme

  1. En spiller stemmer på din server på en liste.
  2. Listen åbner en TCP-forbindelse til din server på Votifier-porten og sender spillernavnet, sit eget servicenavn, en adresse og et tidsstempel.
  3. NuVotifier tjekker beskeden (RSA-nøgle ved v1, token ved v2) og udløser et vote event.
  4. 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 ….

plugins/Votifier/config.yml
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
  default: <generated token>
forwarding:
  method: none
  pluginMessaging:
    channel: nuvotifier:votes
  • host er den adresse, NuVotifier lytter på. Som standard tager det den IP, din server er sat op til, eller 0.0.0.0 for alle interfaces.
  • port er Votifier-porten, som standard 8192. Det må ikke være Minecraft-porten.
  • tokens.default bruges til alle lister, medmindre du tilføjer et token under en listes servicenavn.
  • Nøglerne til v1 oprettes i plugins/Votifier/rsa/ som public.key og private.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 v1Protokol v2
HemmelighedRSA-nøgleparDelt token
Det skal listen haveIndholdet af rsa/public.keyTokenet fra tokens.default
UnderstøttelseKlassisk Votifier; de fleste lister taler detNuVotifier 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)

plugins/nuvotifier/config.toml
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)

plugins/Votifier/config.yml
port: -1
forwarding:
  method: pluginMessaging
  pluginMessaging:
    channel: nuvotifier:votes

port: -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

  1. Test først lokalt: /testvote Steve serviceName=BestMCServerList på Paper eller /ptestvote med de samme argumenter på proxyen. Reagerer dit belønningsplugin, virker den indre del.
  2. 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.
  3. 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

ProblemDet skal du tjekke
Connection refusedNuVotifier kører ikke eller lytter på en anden port. Sammenlign porten i configen med den, du har indtastet.
Timed outEn firewall eller hosten smider trafikken væk. Åbn porten for TCP, eller bed hosten om en ekstra port.
Testen ankommer, men spillerne får intetIntet belønningsplugin. Konsollen logger A vote was received, but you don't have any listeners available to listen for it.
Stemmen afvises med v2Tokenet passer ikke. Kopiér tokens.default igen, uden mellemrum eller anførselstegn.
Virker på proxyen, ikke på backendenBackenden er ikke sat til pluginMessaging, eller kanalnavnene er forskellige.
Forkert port indtastetMinecraft-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.

Ofte stillede spørgsmål

Hvilken port bruger NuVotifier?

Port 8192 som standard. Du kan ændre den i configen, men den skal være adskilt fra Minecraft-porten og kunne nås fra internettet over TCP.

Hvor finder jeg NuVotifier-tokenet?

I plugins/Votifier/config.yml under tokens → default. Konsollen skriver det også ved første start.

Skal jeg have NuVotifier på alle servere i mit netværk?

Med plugin messaging, ja: på proxyen for at modtage stemmer og på hver backend med forwarding.method: pluginMessaging og port: -1 for at give dem videre til belønningspluginet.

Skal jeg bruge v1 eller v2?

Brug v2 med token, når listen understøtter det. v1 med den offentlige RSA-nøgle findes til ældre opsætninger. BestMCServerList understøtter begge.

Giver NuVotifier selv belønninger?

Nej. Det modtager kun stemmer. Et belønningsplugin som VotingPlugin skal lytte efter dem.

Kilder

Tjekket mod den officielle dokumentation: