Hoppa till innehållet

Ställ in NuVotifier på Paper, Velocity och BungeeCord

NuVotifier är länken mellan en serverlista och ditt belöningsplugin: listan ansluter till det för varje röst, och det lämnar över rösten till det plugin som delar ut belöningen. Den här guiden ställer in det på en enskild Paper-server och i ett Velocity- eller BungeeCord-nätverk, och kontrollerar sedan allt med en teströst.

Uppdaterad:

Så levererar Votifier en röst

  1. En spelare röstar på din server på en lista.
  2. Listan öppnar en TCP-anslutning till din server på Votifier-porten och skickar spelarnamnet, sitt eget servicenamn, en adress och en tidsstämpel.
  3. NuVotifier kontrollerar meddelandet (RSA-nyckel för v1, token för v2) och avfyrar ett vote event.
  4. Ett belöningsplugin som VotingPlugin lyssnar efter det eventet och delar ut belöningen.

NuVotifier självt delar inte ut något. Det levereras utan listener, så du behöver alltid ett andra plugin för belöningarna.

Steg 1: Installera NuVotifier på Paper eller Spigot

Lägg NuVotifier-JAR:en i mappen plugins och starta servern en gång. Det skapar sin config, ett RSA-nyckelpar och en token. Konsolen skriver ut token vid första 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 är adressen som NuVotifier lyssnar på. Som standard tar det IP:n som din server är konfigurerad för, eller 0.0.0.0 för alla gränssnitt.
  • port är Votifier-porten, som standard 8192. Den får inte vara Minecraft-porten.
  • tokens.default används för alla listor, om du inte lägger till en token under en listas servicenamn.
  • Nycklarna för v1 skapas i plugins/Votifier/rsa/ som public.key och private.key.

Steg 2: Gör porten nåbar

Listorna ansluter från internet, så Votifier-porten måste vara öppen för inkommande TCP-anslutningar. Det är här de flesta uppsättningar faller.

  • Delad hosting: många paneler öppnar bara spelporten. Lägg till en extra port i panelen och skriv exakt det numret i port. Vissa hostar tilldelar numret åt dig.
  • Egen VPS eller rootserver: tillåt porten i brandväggen, till exempel ufw allow 8192/tcp.
  • Hemma: vidarebefordra porten i din router till maskinen som kör servern.

Starta om servern efter att du har ändrat configen. NuVotifier har också /nvreload, som körs från konsolen.

Steg 3: Välj v1 (publik nyckel) eller v2 (token)

Protokoll v1Protokoll v2
HemlighetRSA-nyckelparDelad token
Vad listan behöverInnehållet i rsa/public.keyToken från tokens.default
StödKlassisk Votifier; de flesta listor talar detNuVotifier och listor som stöder det

Ge aldrig någon private.key. Om en lista stöder v2 är token det enklare valet: en rad, ingen nyckelfil. BestMCServerList stöder båda, så välj det du vill på din Votifier-sida.

Behåll disable-v1-protocol: false på en enskild server. NuVotifier varnar själv för att många listor bara talar v1.

Steg 4: Velocity- eller BungeeCord-nätverk

I ett nätverk ansluter listan till proxyn. NuVotifier körs på proxyn och skickar rösterna vidare till backend-servrarna där belöningspluginet finns. NuVotifier-wikin rekommenderar plugin messaging för de flesta nätverk.

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 finns samma nycklar i plugins/NuVotifier/config.yml i YAML-form. cache = "file" sparar röster för spelare som är offline och levererar dem senare.

Varje backend-server (Paper)

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

port: -1 stänger av listenern på backend-servern, så att bara proxyn tar emot röster. Se till att dina backends bara går att nå genom proxyn, annars kan någon skicka fejkade röster.

Det andra alternativet, method = "proxy", skickar röster från proxyn till en NuVotifier-port på varje backend, konfigurerad med adress, port och token per server under [forwarding.proxy.<name>]. Det har ingen röstcache, så plugin messaging passar oftast bättre.

Steg 5: Ange uppgifterna och skicka en teströst

  1. Testa lokalt först: /testvote Steve serviceName=BestMCServerList på Paper, eller /ptestvote med samma argument på proxyn. Om ditt belöningsplugin reagerar fungerar insidan.
  2. På BestMCServerList öppnar du din server i dashboarden och går till Votifier. Ange serverns eller proxyns publika adress, porten och token (v2) eller den publika nyckeln (v1) och spara.
  3. Tryck på Skicka teströst. Vi skickar en röst för TestVote som inte räknas i rankingen, och leveransloggen visar inom några sekunder om den kom fram.

Röster från BestMCServerList har servicenamnet BestMCServerList. Bedrock-spelare som joinar via Geyser och Floodgate röstar med sitt prefixade namn, till exempel .Steve, och namnet når NuVotifier oförändrat. Varje Minecraft-namn kan rösta en gång per server och kalenderdag, räknat i tid för Europe/Berlin.

Inte listad än? Lägg till din server först och kom sedan tillbaka till det här steget.

Vanliga fel och lösningar

ProblemVad du ska kontrollera
Connection refusedNuVotifier körs inte eller lyssnar på en annan port. Jämför porten i configen med det du angav.
Timed outEn brandvägg eller hosten släpper inte igenom trafiken. Öppna porten för TCP eller be hosten om en extra port.
Testet kommer fram, spelarna får ingetInget belöningsplugin. Konsolen loggar A vote was received, but you don't have any listeners available to listen for it.
Rösten avvisas med v2Token stämmer inte. Kopiera tokens.default igen, utan mellanslag eller citattecken.
Fungerar på proxyn, inte på backend-servernBackend-servern är inte inställd på pluginMessaging, eller så skiljer sig kanalnamnen åt.
Fel port angivenMinecraft-porten svarar i stället för NuVotifier. Använd Votifier-porten.

När rösterna kommer fram, ställ in belöningarna: vår guide om röstbelöningar med VotingPlugin går igenom servicenamnet, VoteSites.yml och dagliga gränser. För helheten, se hur du får spelare till en ny server.

Vanliga frågor

Vilken port använder NuVotifier?

Port 8192 som standard. Du kan ändra den i configen, men den måste vara en annan port än Minecraft-porten och gå att nå från internet via TCP.

Var hittar jag token för NuVotifier?

I plugins/Votifier/config.yml under tokens → default. Konsolen skriver också ut den vid första start.

Behöver jag NuVotifier på alla servrar i mitt nätverk?

Med plugin messaging, ja: på proxyn för att ta emot röster, och på varje backend med forwarding.method: pluginMessaging och port: -1 för att lämna över dem till belöningspluginet.

Ska jag använda v1 eller v2?

Använd v2 med token när listan stöder det. v1 med den publika RSA-nyckeln finns för äldre uppsättningar. BestMCServerList stöder båda.

Delar NuVotifier ut belöningar självt?

Nej. Det tar bara emot röster. Ett belöningsplugin som VotingPlugin måste lyssna efter dem.

Källor

Kontrollerat mot den officiella dokumentationen: