Μετάβαση στο περιεχόμενο

Ανταμοιβές ψήφων στο Minecraft με VotingPlugin

Οι λίστες server στέλνουν ένα μήνυμα στον server σου για κάθε ψήφο, αλλά τίποτα δεν συμβαίνει μέχρι να αντιδράσει ένα plugin ανταμοιβών. Το VotingPlugin είναι δημοφιλής επιλογή: δίνει items, χρήματα ή εντολές ανά site ψηφοφορίας, δείχνει τα links ψήφου με /vote και προσθέτει έξτρα όπως vote parties και σερί. Αυτός ο οδηγός το συνδέει με το BestMCServerList βήμα βήμα.

Ενημερώθηκε:

Πώς μια ψήφος γίνεται ανταμοιβή

Τρία κομμάτια δουλεύουν μαζί. Ένας παίκτης ψηφίζει σε μια λίστα server. Η λίστα στέλνει ένα μήνυμα ψήφου στο Votifier του server σου, μαζί με το όνομα του παίκτη και ένα service name που αναγνωρίζει τη λίστα. Το VotingPlugin ακούει αυτά τα μηνύματα, βρίσκει το site ψηφοφορίας του οποίου το ServiceSite ταιριάζει με το service name και εκτελεί τις ανταμοιβές αυτού του site.

Άρα το VotingPlugin δεν δέχεται ψήφους μόνο του. Χρειάζεσαι πρώτα ένα Votifier που δουλεύει, συνήθως το NuVotifier. Αν δεν το έχεις στήσει ακόμα, ακολούθησε τον οδηγό εγκατάστασης του NuVotifier και γύρνα πίσω.

  • Το Votifier δέχεται την ψήφο και την ελέγχει (token για v2, κλειδί RSA για v1).
  • Το VotingPlugin ταιριάζει το service name και δίνει τις ανταμοιβές.
  • Το BestMCServerList στέλνει το service name BestMCServerList.

Βήμα 1: Εγκατάστησε το VotingPlugin

  1. Βεβαιώσου ότι το NuVotifier τρέχει και είναι προσβάσιμο. Μια δοκιμαστική ψήφος από τη σελίδα Votifier πρέπει να εμφανιστεί στην κονσόλα.
  2. Βάλε το JAR του VotingPlugin στον φάκελο plugins του Spigot ή Paper server σου και κάνε μία φορά restart.
  3. Το VotingPlugin φτιάχνει τα αρχεία του, ανάμεσά τους το plugins/VotingPlugin/VoteSites.yml για τα sites ψηφοφορίας και το Config.yml για τις γενικές ρυθμίσεις.

Σε ένα network με proxy, οι ψήφοι συνήθως φτάνουν στο proxy και οι ανταμοιβές εκτελούνται στους backend servers. Κράτα το VoteSites.yml ίδιο σε κάθε backend.

Βήμα 2: Πρόσθεσε το BestMCServerList στο VoteSites.yml

Κάθε λίστα όπου είσαι καταχωρισμένος παίρνει δική της εγγραφή κάτω από το VoteSites. Το κλειδί είναι ένα εσωτερικό όνομα: κράτα το σύντομο, χωρίς κενά και χωρίς τελείες. Η σημαντική γραμμή είναι το 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 χρειάζεται, η προεπιλογή είναι false.
  • Το ServiceSite πρέπει να ταιριάζει με το service name που στέλνει η λίστα. Το VotingPlugin το συγκρίνει χωρίς διάκριση πεζών-κεφαλαίων, αλλά κατά τα άλλα το κείμενο πρέπει να είναι ίδιο. Για εμάς είναι BestMCServerList.
  • Το VoteURL είναι το link που παίρνουν οι παίκτες με /vote. Αντίγραψε το link ψήφου από τη σελίδα του server σου· το your-server αντιστοιχεί στο δικό σου slug.
  • Το DisplayItem είναι υποχρεωτικό για κάθε site, γιατί εμφανίζεται στα μενού του VotingPlugin.
  • Οι εντολές εκτελούνται από την κονσόλα και το %player% γίνεται το όνομα αυτού που ψήφισε. Το eco give χρειάζεται plugin οικονομίας· χρησιμοποίησε όποιες εντολές έχει ο server σου.

Αποθήκευσε το αρχείο και τρέξε /av reload.

Βήμα 3: Vote delay και ημερήσιο reset

Στο BestMCServerList κάθε όνομα Minecraft μπορεί να ψηφίσει μία φορά ανά server και ημερολογιακή ημέρα, και η ημέρα ακολουθεί τη ζώνη ώρας Europe/Berlin. Νέα ψήφος γίνεται αμέσως μετά τα μεσάνυχτα ώρας Βερολίνου, όχι 24 ώρες μετά την τελευταία.

  • Το VoteDelay: 24h χρησιμοποιείται για το /vote next, την αντίστροφη μέτρηση που βλέπουν οι παίκτες. Δεν μπλοκάρει ψήφους.
  • Το VoteDelayDaily: true μηδενίζει αντί γι’ αυτό το delay μία φορά τη μέρα, κάτι που ταιριάζει σε λίστες με ημερήσιο reset όπως η δική μας. Το VoteDelayDailyHour ορίζει την ώρα σε ώρα server (1–24). Αν το ρολόι του server σου δεν τρέχει σε ώρα Βερολίνου, λάβε υπόψη τη διαφορά όταν το ρυθμίζεις.
  • Το WaitUntilVoteDelay: true θα απέρριπτε ψήφους που φτάνουν πριν τελειώσει το delay. Άφησέ το σε false: εμείς ήδη επιβάλλουμε μία ψήφο ανά όνομα και ημέρα, και μια λάθος ρύθμιση delay θα κόστιζε στους παίκτες τις ανταμοιβές τους.

Βήμα 4: Δοκίμασε τις ανταμοιβές

  1. Τρέξε /av vote <player> BestMCServerList. Αυτό εκτελεί τις ανταμοιβές αυτού του site για έναν παίκτη και δείχνει ότι το config ανταμοιβών σου δουλεύει. Δεν δοκιμάζει το Votifier.
  2. Άνοιξε τη σελίδα Votifier στο BestMCServerList και πάτησε Αποστολή δοκιμαστικής ψήφου. Στέλνουμε μια ψήφο για το όνομα TestVote, που δεν μετράει στην κατάταξη. Το log παράδοσης δείχνει αν ο server σου τη δέχτηκε.
  3. Έλεγξε στην κονσόλα για μια γραμμή όπως [VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!.
  4. Τρέξε /av servicesites για να δεις τα service names που έχει λάβει μέχρι τώρα το VotingPlugin.

Αν η δοκιμαστική ψήφος φτάνει αλλά το VotingPlugin αναφέρει άγνωστο service site, το πρόβλημα είναι η γραμμή ServiceSite. Με AutoCreateVoteSites: true στο Config.yml (η προεπιλογή), το VotingPlugin μπορεί επίσης να φτιάξει μόνο του νέα εγγραφή· αυτή χρειάζεται ακόμα Enabled: true και τις ανταμοιβές σου.

Παίκτες Bedrock και ψήφοι offline

Οι παίκτες Bedrock που μπαίνουν μέσω Geyser και Floodgate έχουν ένα πρόθεμα στο όνομα, από προεπιλογή μια τελεία: .Steve. Ψηφίζουν με αυτό το πλήρες όνομα και εμείς το περνάμε στο Votifier χωρίς αλλαγές. Στο VotingPlugin όρισε το ίδιο πρόθεμα στο Config.yml. Σε network χρησιμοποίησε την ίδια τιμή στο proxy και σε κάθε backend:

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

Το .Steve και το Steve είναι διαφορετικοί παίκτες. Μην αφαιρείς ποτέ το πρόθεμα για να ταιριάξει ένα όνομα.

Οι παίκτες δεν χρειάζεται να είναι online όταν ψηφίζουν. Οι ανταμοιβές έχουν RewardType με τιμή ONLINE, OFFLINE ή BOTH (η προεπιλογή). Δοκίμασε και ψήφους offline, γιατί οι εντολές που χρειάζονται online παίκτη συμπεριφέρονται διαφορετικά.

Vote parties, ορόσημα και σερί

Μόλις δουλέψουν οι βασικές ανταμοιβές, το SpecialRewards.yml προσθέτει στόχους που κρατούν τους παίκτες να ψηφίζουν: ένα VoteParty που ενεργοποιείται όταν όλος ο server φτάσει έναν αριθμό ψήφων, VoteMilestones για προσωπικά σύνολα και VoteStreaks για ψηφοφορία πολλές μέρες στη σειρά. Κράτα τις ανταμοιβές χρήσιμες αλλά δίκαιες· ανταμοιβές που χαλάνε την οικονομία σου κάνουν την ψηφοφορία να μοιάζει υποχρεωτική.

Θέλεις badge rank για τους κορυφαίους ψηφοφόρους; Ο οδηγός για prefix του LuckPerms δείχνει πώς δίνεις στους παίκτες prefix με εικόνα μέσω εντολής, την οποία μπορείς να τρέξεις ως ανταμοιβή.

Συχνά λάθη

ΠρόβλημαΛύση
Η δοκιμαστική ψήφος φτάνει, κανείς δεν παίρνει τίποταΤο site ψηφοφορίας δεν είναι ενεργό ή το ServiceSite δεν είναι BestMCServerList. Έλεγξε το /av servicesites.
Τίποτα απολύτως στην κονσόλαΤο Votifier δεν λαμβάνει την ψήφο. Έλεγξε port, token και firewall με το log παράδοσης στη σελίδα Votifier.
Το NuVotifier γράφει ότι δεν υπάρχουν διαθέσιμοι listenersΤο VotingPlugin δεν είναι εγκατεστημένο ή δεν φόρτωσε. Έλεγξε το log εκκίνησης.
Το /av vote δουλεύει, οι πραγματικές ψήφοι όχιΗ εντολή admin παρακάμπτει το Votifier. Δοκίμασε αντί γι’ αυτό με Αποστολή δοκιμαστικής ψήφου.
Οι παίκτες Bedrock δεν παίρνουν τίποταΤο BedrockPlayerPrefix δεν ταιριάζει με το πρόθεμα του Floodgate.

Συχνές ερωτήσεις

Ποιο είναι το service name του BestMCServerList για το VotingPlugin;

Είναι BestMCServerList. Βάλε ακριβώς αυτό στη γραμμή ServiceSite του site ψηφοφορίας στο VoteSites.yml.

Χρειάζομαι NuVotifier για το VotingPlugin;

Ναι. Το VotingPlugin δίνει τις ανταμοιβές, αλλά οι ψήφοι φτάνουν στον server σου μέσω Votifier. Το NuVotifier είναι η έκδοση που συντηρείται και υποστηρίζει τα πρωτόκολλα v1 και v2.

Πότε μπορούν οι παίκτες να ψηφίσουν ξανά στο BestMCServerList;

Μία φορά ανά όνομα Minecraft, server και ημερολογιακή ημέρα. Η ημέρα αλλάζει τα μεσάνυχτα στη ζώνη ώρας Europe/Berlin.

Παίρνουν οι παίκτες Bedrock ανταμοιβές ψήφων;

Ναι, αν ψηφίζουν με το πλήρες όνομα Floodgate, όπως .Steve, και το BedrockPlayerPrefix στο VotingPlugin ταιριάζει με το πρόθεμα του Floodgate.

Πηγές

Ελέγχθηκε με βάση την επίσημη τεκμηρίωση: