Så installerar du röstbelöningar (Votifier, VotingPlugin och mer)

Installera medföljande plugin, koppla in Votifier för direktleverans, eller anslut istället VotingPlugin, SuperVotes eller SuperbVote till den här sajten - med exakt de värden som sajten faktiskt förväntar sig.

Varje belöningsplugin behöver två saker från dig: ett sätt att ta reda på att en röst har lagts, och något som körs när det sker. Den här artikeln går igenom båda - den medföljande pluginen som den här sajten publicerar, Votifier för direktleverans, och vad du ska göra om du redan kör VotingPlugin, SuperVotes eller en annan belöningsplugin.

Alternativ A: VoxelRank-pluginen (rekommenderas)

Den medföljande pluginen pratar direkt med sajtens API. Votifier behövs inte - den fungerar genom att fråga efter oinhämtade röster med jämna mellanrum, så den fungerar även bakom NAT och hämtar in allt som missades medan servern var nere. Votifier finns också tillgängligt som ett valfritt tillägg för direktleverans (se Alternativ B).

  1. Ladda ner jar-filen från din Instrumentpanel (ditt serverkort får en Ladda ner-knapp så snart en build finns), eller direkt från /download/plugin.
  2. Lägg den i plugins/ och starta servern en gång. Det genererar plugins/VotingSite/config.yml.
  3. Öppna din servers sida Redigera → fliken Belöningar & röstning och kopiera API-nyckeln som visas där.
  4. Klistra in den i site.api-key i config.yml (dubbelkolla att site.url pekar på den här sajten), kör sedan /votingsite reload.
  5. Bestäm hur röster ska nå dig genom att sätta mode i config.yml:
    • poll (standard) - pluginen hämtar oinhämtade röster själv. Inget annat behöver installeras.
    • votifier - sajten skickar varje röst i samma stund den läggs. Kräver NuVotifier eller en annan Votifier-lyssnare (Alternativ B nedan).
    • both - Votifier-push med polling som säkerhetsnät, utan dubbletter tack vare röstens id.
  6. Fyll i rewards.commands (och, om du vill, milestones och vote-party) med de konsolkommandon som ska köras vid en röst.
  7. Testa det: /votingsite testvote <player> simulerar en röst utan att vänta på en riktig. /votingsite status visar läget, om API-nyckeln accepteras och hur många röster som levererats hittills.

Spelare får sin röstlänk och sitt antal med /voxelrank vote - inte /vote, som den här pluginen medvetet aldrig lägger beslag på (två plugin som slåss om samma kommando är precis hur en belöning tyst slutar fungera - se den egna anmärkningen om det i config.yml).

Alternativ B: direktleverans med NuVotifier

Hoppa över det här om poll-läget fungerar bra nog för dig - det är inte obligatoriskt. Lägg till det när de där få minuternas fördröjning från polling spelar roll, eller när du hellre kör en dedikerad belöningsplugin än sajtens egen.

NuVotifier är den aktivt underhållna forken av det ursprungliga Votifier - originalprojektet är i princip inte underhållet längre idag, så "installera Votifier" betyder i praktiken NuVotifier (eller en kompatibel fork som VotifierPlus).

  1. Lägg NuVotifier-jarfilen i plugins/ och starta om servern. På en Bukkit-/Spigot-/Paper-server behåller den det klassiska mappnamnet plugins/Votifier/ för bakåtkompatibilitet - det är NuVotifiers egen mapp, inte en kvarleva från den gamla pluginen - och genererar en config.yml samt ett nyckelpar i rsa/ första gången den startar.
  2. Hämta dina uppgifter från plugins/Votifier/config.yml: v2-token (rekommenderas) genereras automatiskt under nyckeln default i avsnittet tokens: - kopiera den som den är. Om du hellre använder den äldre metoden finns v1 publika nyckel i plugins/Votifier/rsa/public.key; behåll motsvarande private.key i samma mapp på servern och dela den aldrig.
  3. Kontrollera port som NuVotifier lyssnar på (8192 som standard) och se till att den är öppen i din brandvägg eller ditt hostingpanel - det är en separat port från den vanliga Minecraft-porten, och de flesta host öppnar den inte automatiskt.
  4. På din servers sida Redigera → fliken Belöningar & röstning, fyll i Votifier-värden (din servers adress) och den porten, klistra sedan in v2-token eller v1-nyckeln från steg 2. Om båda är ifyllda används bara en - v2 vinner.
  5. Klicka på Skicka provröst direkt på fliken. Det skickar ett riktigt Votifier-paket till det värdnamn/port/nyckel/token som just nu finns i formuläret - inget behöver sparas först - och rapporterar direkt om NuVotifier accepterade det. Om det misslyckas visar NuVotifiers egen konsolllogg (debug: true som standard) om anslutningen ens nådde pluginen, vilket snabbt skiljer "fel nyckel" från "blockerad port".
  6. Spara, lägg sedan en riktig röst och bekräfta att belöningen kommer direkt istället för vid nästa polling.

Under huven skickar sajten en vanlig VOTIFIER 2-handskakning med en HMAC-signerad JSON-payload när en v2-token är satt, och faller annars tillbaka på ett klassiskt, RSA-krypterat v1-block - samma protokoll som varje Votifier-kompatibel lyssnare redan talar, inget sajtspecifikt.

Kör du redan VotingPlugin?

Om din server redan kör VotingPlugin behöver du inte installera vår - och du behöver inte lägga till den här sajten för hand heller, eftersom VotingPlugin har en underhållen preset för den.

Kör det här i spelet som operatör (eller med behörigheten VotingPlugin.Commands.AdminVote.VotePresets):

/av VotePresets

VotingPlugin laddar ner den aktuella presetlistan från sitt eget VotingPlugin-Presets-repo, låter dig välja en - VoxelRank finns med - och frågar sedan efter de värden presetet behöver: visningsnamn, din annonss röstnings-URL, röstfördröjning och liknande. Eller hoppa direkt dit med din egen röstlänk:

/av VotePresets https://voxelrank.com/server/your-slug/vote

Ha med https://; VotingPlugin matchar värdnamnet mot rätt preset automatiskt istället för att du ska behöva leta i en lista.

Oavsett vilket skriver eller uppdaterar den den matchande posten under VoteSites: i VoteSites.yml - ServiceSite, VoteURL, rimliga standardfördröjningar, och ett platshållande visningsobjekt eller tackmeddelande om sajten inte redan har ett - och laddar sedan om röstsajterna åt dig. Allt annat som redan finns i filen lämnas orört. Säkerhetskopiera VoteSites.yml först om du ändrar en etablerad konfiguration istället för att lägga till en ny, och granska vad som skrevs - särskilt belöningarna, eftersom en preset är en utgångspunkt, inte en färdig konfiguration - innan du marknadsför den mot spelare.

VotingPlugin behöver fortfarande sin egen Votifier-anslutning för att faktiskt ta emot röster - peka den mot samma NuVotifier-inställning som i Alternativ B ovan. Den behöver också att servern når GitHub (raw.githubusercontent.com) för att hämta presets överhuvudtaget; om /av VotePresets rapporterar att inga presets finns tillgängliga är det ett nätverks- eller brandväggsproblem på servern, inte ett saknat preset. /av gui, eller att redigera VoteSites.yml direkt, fungerar fortfarande som reserv - ServiceSite måste lyda exakt VoxelRank.com, vilket du kan bekräfta med /av servicesites efter en riktig eller administrativ provröst.

Andra belöningsplugin

Kör du något lättare än VotingPlugin? SuperVotes och SuperbVote är båda lättviktiga Votifier-lyssnare med egna system för vote-party och belöningskommandon. Ingen av dem håller reda på presets per sajt så som VotingPlugin gör - peka endera mot samma Votifier-värd, port och v2-token (eller v1-nyckel) från fliken Belöningar & röstning ovan och konfigurera dess belöningar på samma sätt som för vilken röst som helst.

Felsökning

  • Inget händer vid /votingsite testvote. Kolla /votingsite status först - om API-nyckeln inte accepteras har röster (riktiga eller test) ingenstans att ta vägen. Kopiera den på nytt från sidan Redigera och se till att det inte finns ett mellanslag på slutet.
  • Votifier-push kommer aldrig fram men polling fungerar. Det är oftast Votifier-porten som är blockerad, inte API:et - de flesta host öppnar utgående HTTP som standard men inte en godtycklig extra inkommande port. mode: both (eller att köra en annan belöningsplugins lyssnare separat) är ett rimligt permanent alternativ istället för att strida med brandväggen.
  • Belöningen utlöses men inget syns i spelet. Belöningskommandon körs från konsolen, så ett kommando som bara fungerar när en spelare skriver det (ingen behörighet, ingen op) misslyckas tyst. Testa det exakta kommandot från konsolen först.
  • VotingPlugin loggar "invalid service site" eller matchar aldrig rösten. Värdet på ServiceSite måste stämma tecken för tecken, bortsett från versaler/gemener. Kontrollera med /av servicesites istället för att gissa utifrån sajtens domännamn.
  • /av VotePresets säger att inga presets finns, eller en URL matchar inget. Den laddar ner presetlistan från GitHub vid körning, så det är nästan alltid serverns eget nätverk - brandvägg, proxy, DNS eller ett GitHub-avbrott - som blockerar raw.githubusercontent.com, inte ett tecken på att VoxelRank tagits bort från listan. En URL-matchning kräver också hela adressen inklusive https://; bara värdnamn känns inte igen.
  • Inställningar på fliken Belöningar & röstning verkar inte sparas. De gäller bara en påstådd (claimed) annons - se filtret Påstod i serverlistan. En importerad, oanspråkstagen post har ännu ingen ägare att konfigurera belöningar för; gör anspråk på den först.

Snabba svar

Behöver jag Votifier överhuvudtaget?

Nej. poll-läget (standard för VoxelRank-pluginen) fungerar utan att något annat installeras - Votifier förkortar bara fördröjningen mellan röst och belöning, och är den enda vägen in om du hellre kör VotingPlugin, SuperVotes eller SuperbVote istället.

Kan jag använda vår plugin och VotingPlugin samtidigt?

Inte för samma belöning - välj en som faktiskt ska köra belöningskommandona, annars kan en röst betalas ut dubbelt. Votifier i sig kan meddela mer än en lyssnare, så det här är en regel om att "inte konfigurera samma belöning två gånger", inte en teknisk begränsning.

Mitt host tillåter mig inte att öppna extra portar för Votifier.

Använd poll-läget med VoxelRank-pluginen. Den gör bara utgående anrop, så det finns inget att öppna. VotingPlugin och liknande belöningsplugin har ingen motsvarighet till pollingläget - de behöver en inkommande Votifier-port.

Behöver du hjälp?

Fastnat på ett steg ovan, eller stämmer något inte med vad din server faktiskt skickar? Kontakta oss - de snabbaste vägarna för en fråga om röster/belöningar listas där.