Aller au contenu

Récompenses de vote Minecraft avec VotingPlugin

Les listes de serveurs envoient un message à ton serveur pour chaque vote, mais rien ne se passe tant qu’aucun plugin de récompenses n’y réagit. VotingPlugin est un choix populaire : il donne des items, de l’argent ou des commandes par site de vote, affiche les liens de vote avec /vote et ajoute des extras comme les vote parties et les séries. Ce guide le connecte à BestMCServerList pas à pas.

Mis à jour:

Comment un vote devient une récompense

Trois éléments travaillent ensemble. Un joueur vote sur une liste de serveurs. La liste envoie un message de vote à Votifier sur ton serveur, avec le pseudo du joueur et un nom de service qui identifie la liste. VotingPlugin écoute ces messages, cherche le site de vote dont le ServiceSite correspond au nom de service et exécute les récompenses de ce site.

VotingPlugin ne reçoit donc pas les votes tout seul. Il te faut d’abord un Votifier qui marche, en général NuVotifier. Si tu ne l’as pas encore configuré, suis le guide d’installation de NuVotifier et reviens ensuite.

  • Votifier reçoit le vote et le vérifie (token pour la v2, clé RSA pour la v1).
  • VotingPlugin fait correspondre le nom de service et donne les récompenses.
  • BestMCServerList envoie le nom de service BestMCServerList.

Étape 1 : installer VotingPlugin

  1. Vérifie que NuVotifier tourne et qu’il est joignable. Un vote de test depuis ta page Votifier doit apparaître dans la console.
  2. Mets le JAR de VotingPlugin dans le dossier plugins de ton serveur Spigot ou Paper et redémarre une fois.
  3. VotingPlugin crée ses fichiers, dont plugins/VotingPlugin/VoteSites.yml pour les sites de vote et Config.yml pour les réglages généraux.

Sur un réseau avec proxy, les votes arrivent en général sur le proxy et les récompenses s’exécutent sur les serveurs backend. Garde le même VoteSites.yml sur chaque backend.

Étape 2 : ajouter BestMCServerList dans VoteSites.yml

Chaque liste sur laquelle tu es inscrit a sa propre entrée sous VoteSites. La clé est un nom interne : garde-le court, sans espaces et sans points. La ligne importante, c’est 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 est obligatoire, la valeur par défaut est false.
  • ServiceSite doit correspondre au nom de service envoyé par la liste. VotingPlugin ne tient pas compte des majuscules, mais sinon le texte doit être identique. Chez nous, c’est BestMCServerList.
  • VoteURL est le lien que les joueurs reçoivent avec /vote. Copie ton lien de vote depuis la page de ton serveur ; your-server correspond à ton propre slug.
  • DisplayItem est obligatoire pour chaque site, car il s’affiche dans les menus de VotingPlugin.
  • Les commandes s’exécutent depuis la console, et %player% devient le pseudo du votant. eco give nécessite un plugin d’économie ; utilise les commandes que ton serveur possède.

Enregistre le fichier et lance /av reload.

Étape 3 : délai de vote et remise à zéro quotidienne

Sur BestMCServerList, chaque pseudo Minecraft peut voter une fois par serveur et par jour calendaire, et le jour suit le fuseau horaire Europe/Berlin. Un nouveau vote est possible juste après minuit heure de Berlin, pas 24 heures après le dernier.

  • VoteDelay: 24h sert pour /vote next, le compte à rebours que voient les joueurs. Il ne bloque pas les votes.
  • VoteDelayDaily: true remet plutôt le délai à zéro une fois par jour, ce qui colle aux listes avec une remise à zéro quotidienne comme la nôtre. VoteDelayDailyHour définit l’heure en heure du serveur (1–24). Si l’horloge de ton serveur n’est pas à l’heure de Berlin, tiens compte du décalage en la réglant.
  • WaitUntilVoteDelay: true refuserait les votes arrivés avant la fin du délai. Laisse-le sur false : nous imposons déjà un vote par pseudo et par jour, et un mauvais réglage du délai priverait les joueurs de leurs récompenses.

Étape 4 : tester les récompenses

  1. Lance /av vote <player> BestMCServerList. Ça exécute les récompenses de ce site pour un joueur et montre que ta config de récompenses fonctionne. Ça ne teste pas Votifier.
  2. Ouvre ta page Votifier sur BestMCServerList et clique sur Envoyer un vote de test. Nous envoyons un vote pour le pseudo TestVote, qui ne compte pas pour le classement. Le journal de livraison montre si ton serveur l’a accepté.
  3. Cherche dans la console une ligne comme [VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!.
  4. Lance /av servicesites pour lister les noms de service que VotingPlugin a reçus jusqu’ici.

Si le vote de test arrive mais que VotingPlugin signale un service site inconnu, c’est la ligne ServiceSite qui pose problème. Avec AutoCreateVoteSites: true dans Config.yml (par défaut), VotingPlugin peut aussi créer une nouvelle entrée tout seul ; elle aura quand même besoin de Enabled: true et de tes récompenses.

Joueurs Bedrock et votes hors ligne

Les joueurs Bedrock qui rejoignent via Geyser et Floodgate ont un préfixe devant leur pseudo, par défaut un point : .Steve. Ils votent avec ce pseudo complet, et nous le transmettons tel quel à Votifier. Dans VotingPlugin, mets le même préfixe dans Config.yml. Sur un réseau, utilise la même valeur sur le proxy et sur chaque backend :

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

.Steve et Steve sont deux joueurs différents. Ne retire jamais le préfixe pour faire correspondre un pseudo.

Les joueurs n’ont pas besoin d’être en ligne quand ils votent. Les récompenses ont un RewardType qui vaut ONLINE, OFFLINE ou BOTH (par défaut). Teste aussi les votes hors ligne, car les commandes qui ont besoin d’un joueur en ligne se comportent autrement.

Vote parties, paliers et séries

Une fois les récompenses de base en place, SpecialRewards.yml ajoute des objectifs qui motivent à continuer de voter : une VoteParty qui se déclenche quand tout le serveur atteint un certain nombre de votes, des VoteMilestones pour les totaux personnels et des VoteStreaks pour les votes plusieurs jours d’affilée. Garde des récompenses utiles mais équilibrées ; des récompenses qui cassent ton économie rendent le vote obligatoire.

Tu veux un badge de grade pour les meilleurs votants ? Le guide des préfixes LuckPerms montre comment donner un préfixe en image avec une commande, que tu peux exécuter comme récompense.

Erreurs fréquentes

ProblèmeSolution
Le vote de test arrive, personne ne reçoit rienLe site de vote n’est pas activé, ou ServiceSite n’est pas BestMCServerList. Vérifie /av servicesites.
Rien du tout dans la consoleVotifier ne reçoit pas le vote. Vérifie le port, le token et le pare-feu avec le journal de livraison de ta page Votifier.
NuVotifier indique qu’aucun listener n’est disponibleVotingPlugin n’est pas installé ou ne s’est pas chargé. Regarde les logs de démarrage.
/av vote marche, les vrais votes nonLa commande admin contourne Votifier. Teste plutôt avec Envoyer un vote de test.
Les joueurs Bedrock ne reçoivent rienBedrockPlayerPrefix ne correspond pas à ton préfixe Floodgate.

Questions fréquentes

Quel est le nom de service de BestMCServerList pour VotingPlugin ?

C’est BestMCServerList. Mets exactement ça dans la ligne ServiceSite du site de vote dans VoteSites.yml.

Ai-je besoin de NuVotifier pour VotingPlugin ?

Oui. VotingPlugin donne les récompenses, mais les votes arrivent sur ton serveur via Votifier. NuVotifier est la version maintenue et gère les protocoles v1 et v2.

Quand les joueurs peuvent-ils revoter sur BestMCServerList ?

Une fois par pseudo Minecraft, par serveur et par jour calendaire. Le jour change à minuit dans le fuseau horaire Europe/Berlin.

Les joueurs Bedrock reçoivent-ils des récompenses de vote ?

Oui, s’ils votent avec leur pseudo Floodgate complet comme .Steve et que BedrockPlayerPrefix dans VotingPlugin correspond à ton préfixe Floodgate.

Sources

Vérifié avec la documentation officielle :