Πώς μια ψήφος γίνεται ανταμοιβή
Τρία κομμάτια δουλεύουν μαζί. Ένας παίκτης ψηφίζει σε μια λίστα 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
- Βεβαιώσου ότι το NuVotifier τρέχει και είναι προσβάσιμο. Μια δοκιμαστική ψήφος από τη σελίδα Votifier πρέπει να εμφανιστεί στην κονσόλα.
- Βάλε το JAR του VotingPlugin στον φάκελο
pluginsτου Spigot ή Paper server σου και κάνε μία φορά restart. - Το VotingPlugin φτιάχνει τα αρχεία του, ανάμεσά τους το
plugins/VotingPlugin/VoteSites.ymlγια τα sites ψηφοφορίας και τοConfig.ymlγια τις γενικές ρυθμίσεις.
Σε ένα network με proxy, οι ψήφοι συνήθως φτάνουν στο proxy και οι ανταμοιβές εκτελούνται στους backend servers. Κράτα το VoteSites.yml ίδιο σε κάθε backend.
Βήμα 2: Πρόσθεσε το BestMCServerList στο VoteSites.yml
Κάθε λίστα όπου είσαι καταχωρισμένος παίρνει δική της εγγραφή κάτω από το VoteSites. Το κλειδί είναι ένα εσωτερικό όνομα: κράτα το σύντομο, χωρίς κενά και χωρίς τελείες. Η σημαντική γραμμή είναι το ServiceSite.
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: Δοκίμασε τις ανταμοιβές
- Τρέξε
/av vote <player> BestMCServerList. Αυτό εκτελεί τις ανταμοιβές αυτού του site για έναν παίκτη και δείχνει ότι το config ανταμοιβών σου δουλεύει. Δεν δοκιμάζει το Votifier. - Άνοιξε τη σελίδα Votifier στο BestMCServerList και πάτησε Αποστολή δοκιμαστικής ψήφου. Στέλνουμε μια ψήφο για το όνομα
TestVote, που δεν μετράει στην κατάταξη. Το log παράδοσης δείχνει αν ο server σου τη δέχτηκε. - Έλεγξε στην κονσόλα για μια γραμμή όπως
[VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!. - Τρέξε
/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:
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. |