Hoppa till innehållet

Röstbelöningar i Minecraft med VotingPlugin

Serverlistor skickar ett meddelande till din server för varje röst, men inget händer förrän ett belöningsplugin reagerar på det. VotingPlugin är ett populärt val: det ger föremål, pengar eller kommandon per röstsajt, visar röstlänkar med /vote och lägger till extra saker som vote parties och streaks. Den här guiden kopplar det till BestMCServerList steg för steg.

Uppdaterad:

Så blir en röst en belöning

Tre delar samarbetar. En spelare röstar på en serverlista. Listan skickar ett röstmeddelande till Votifier på din server, tillsammans med spelarnamnet och ett servicenamn som identifierar listan. VotingPlugin lyssnar efter de här meddelandena, letar upp röstsajten vars ServiceSite matchar servicenamnet och kör den sajtens belöningar.

VotingPlugin tar alltså inte emot röster på egen hand. Du behöver först en fungerande Votifier, oftast NuVotifier. Om du inte har ställt in det än, följ guiden för NuVotifier och kom tillbaka.

  • Votifier tar emot rösten och kontrollerar den (token för v2, RSA-nyckel för v1).
  • VotingPlugin matchar servicenamnet och delar ut belöningarna.
  • BestMCServerList skickar servicenamnet BestMCServerList.

Steg 1: Installera VotingPlugin

  1. Se till att NuVotifier körs och går att nå. En teströst från din Votifier-sida ska dyka upp i konsolen.
  2. Lägg VotingPlugin-JAR:en i mappen plugins på din Spigot- eller Paper-server och starta om en gång.
  3. VotingPlugin skapar sina filer, bland annat plugins/VotingPlugin/VoteSites.yml för röstsajterna och Config.yml för allmänna inställningar.

I ett proxynätverk kommer rösterna oftast fram till proxyn och belöningarna körs på backend-servrarna. Håll VoteSites.yml likadan på alla backends.

Steg 2: Lägg till BestMCServerList i VoteSites.yml

Varje lista du finns på får en egen post under VoteSites. Nyckeln är ett internt namn: håll det kort, utan mellanslag och utan punkter. Den viktiga raden är ServiceSite.

plugins/VotingPlugin/VoteSites.yml
VoteSites:
  BestMCServerList:
    Enabled: true
    Name: 'BestMCServerList'
    Priority: 5
    ServiceSite: 'BestMCServerList'
    VoteURL: 'https://bestmcserverlist.net/server/your-server/vote'
    VoteDelay: 24h
    WaitUntilVoteDelay: false
    VoteDelayDaily: true
    ForceOffline: false
    DisplayItem:
      Material: 'DIAMOND'
      Amount: 1
    Rewards:
      Commands:
      - 'eco give %player% 250'
      - 'give %player% diamond 2'
      Messages:
        Player: '&aThanks for voting on BestMCServerList!'
  • Enabled: true behövs, standard är false.
  • ServiceSite måste matcha servicenamnet som listan skickar. VotingPlugin bryr sig inte om stora eller små bokstäver, men i övrigt måste texten vara identisk. Hos oss är det BestMCServerList.
  • VoteURL är länken spelarna får med /vote. Kopiera din röstlänk från din serversida; your-server står för din egen slug.
  • DisplayItem krävs för varje sajt, eftersom det visas i VotingPlugins menyer.
  • Kommandona körs från konsolen, och %player% blir röstarens namn. eco give kräver ett ekonomiplugin; använd de kommandon som din server har.

Spara filen och kör /av reload.

Steg 3: Vote delay och den dagliga nollställningen

På BestMCServerList kan varje Minecraft-namn rösta en gång per server och kalenderdag, och dagen följer tidszonen Europe/Berlin. En ny röst går att lägga direkt efter midnatt Berlintid, inte 24 timmar efter den förra.

  • VoteDelay: 24h används för /vote next, nedräkningen som spelarna ser. Den blockerar inte röster.
  • VoteDelayDaily: true nollställer i stället väntetiden en gång om dagen, vilket passar listor med daglig nollställning som vår. VoteDelayDailyHour anger timmen i servertid (1–24). Om din serverklocka inte går på Berlintid, tänk på skillnaden när du ställer in den.
  • WaitUntilVoteDelay: true skulle avvisa röster som kommer innan väntetiden är slut. Låt den stå på false: vi begränsar redan till en röst per namn och dag, och en felaktig inställning skulle kosta spelarna deras belöningar.

Steg 4: Testa belöningarna

  1. Kör /av vote <player> BestMCServerList. Det kör den sajtens belöningar för en spelare och visar att din belöningsconfig fungerar. Det testar inte Votifier.
  2. Öppna din Votifier-sida på BestMCServerList och tryck på Skicka teströst. Vi skickar en röst för namnet TestVote, som inte räknas i rankingen. Leveransloggen visar om din server tog emot den.
  3. Kolla konsolen efter en rad som [VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!.
  4. Kör /av servicesites för att lista de servicenamn som VotingPlugin har tagit emot hittills.

Om teströsten kommer fram men VotingPlugin rapporterar en okänd service site är det raden ServiceSite som är problemet. Med AutoCreateVoteSites: true i Config.yml (standard) kan VotingPlugin också skapa en ny post själv; den behöver ändå Enabled: true och dina belöningar.

Bedrock-spelare och offlineröster

Bedrock-spelare som joinar via Geyser och Floodgate har ett namnprefix, som standard en punkt: .Steve. De röstar med hela namnet, och vi skickar det oförändrat vidare till Votifier. I VotingPlugin ställer du in samma prefix i Config.yml. I ett nätverk använder du samma värde på proxyn och på alla backends:

plugins/VotingPlugin/Config.yml
BedrockPlayerPrefix: '.'

.Steve och Steve är olika spelare. Ta aldrig bort prefixet för att få ett namn att passa.

Spelare behöver inte vara online när de röstar. Belöningar har en RewardType som är ONLINE, OFFLINE eller BOTH (standard). Testa offlineröster också, eftersom kommandon som kräver en spelare online beter sig annorlunda.

Vote parties, milstolpar och streaks

När grundbelöningarna fungerar lägger SpecialRewards.yml till mål som får spelarna att fortsätta rösta: en VoteParty som triggas när hela servern når ett visst antal röster, VoteMilestones för personliga totaler och VoteStreaks för att rösta flera dagar i rad. Håll belöningarna användbara men rimliga; belöningar som förstör din ekonomi gör att röstandet känns som ett tvång.

Vill du ha en rankbadge för toppröstare? Guiden om LuckPerms-prefix visar hur du ger spelare ett bildprefix med ett kommando, som du kan köra som belöning.

Vanliga misstag

ProblemLösning
Teströsten kommer fram, ingen får någotRöstsajten är inte aktiverad, eller så är ServiceSite inte BestMCServerList. Kolla /av servicesites.
Ingenting alls i konsolenVotifier tar inte emot rösten. Kontrollera port, token och brandvägg med leveransloggen på din Votifier-sida.
NuVotifier loggar att inga listeners finnsVotingPlugin är inte installerat eller laddades inte. Kolla startloggen.
/av vote fungerar, riktiga röster gör det inteAdminkommandot hoppar över Votifier. Testa med Skicka teströst i stället.
Bedrock-spelare får ingentingBedrockPlayerPrefix matchar inte ditt Floodgate-prefix.

Vanliga frågor

Vilket servicenamn har BestMCServerList för VotingPlugin?

Det är BestMCServerList. Skriv exakt det på raden ServiceSite för röstsajten i VoteSites.yml.

Behöver jag NuVotifier för VotingPlugin?

Ja. VotingPlugin delar ut belöningarna, men rösterna når din server via Votifier. NuVotifier är den version som underhålls och stöder protokoll v1 och v2.

När kan spelare rösta igen på BestMCServerList?

En gång per Minecraft-namn, server och kalenderdag. Dagen byts vid midnatt i tidszonen Europe/Berlin.

Får Bedrock-spelare röstbelöningar?

Ja, om de röstar med sitt fullständiga Floodgate-namn, till exempel .Steve, och BedrockPlayerPrefix i VotingPlugin matchar ditt Floodgate-prefix.

Källor

Kontrollerat mot den officiella dokumentationen: