Comment configurer les récompenses de vote (Votifier, VotingPlugin et plus)

Installez le plugin compagnon, configurez Votifier pour une livraison instantanée, ou connectez plutôt VotingPlugin, SuperVotes ou SuperbVote à ce site - avec les valeurs exactes que ce site attend réellement.

Chaque plugin de récompenses a besoin de deux choses de votre part : un moyen de savoir qu'un vote a eu lieu, et quelque chose à exécuter quand c'est le cas. Cet article passe en revue les deux - le plugin compagnon publié par ce site, Votifier pour une livraison instantanée, et ce qu'il faut faire si vous utilisez déjà VotingPlugin, SuperVotes ou un autre plugin de récompenses.

Option A : le plugin VoxelRank (recommandé)

Le plugin compagnon communique directement avec l'API de ce site. Votifier n'est pas nécessaire - il fonctionne en interrogeant périodiquement les votes non réclamés, ce qui fonctionne donc derrière un NAT et rattrape tout ce qui a été manqué pendant que le serveur était hors ligne. Votifier est également disponible en option pour une livraison instantanée (voir l'Option B).

  1. Téléchargez le fichier jar depuis votre Tableau de bord (la fiche de votre serveur affiche un bouton de téléchargement dès qu'une build existe), ou directement depuis /download/plugin.
  2. Placez-le dans plugins/ et démarrez le serveur une fois. Cela génère plugins/VotingSite/config.yml.
  3. Ouvrez la page Modifier de votre serveur → onglet Récompenses et votes, et copiez la Clé API qui y est affichée.
  4. Collez-la dans site.api-key de config.yml (vérifiez au passage que site.url pointe bien vers ce site), puis exécutez /votingsite reload.
  5. Décidez comment les votes doivent vous parvenir en réglant mode dans config.yml :
    • poll (par défaut) - le plugin récupère lui-même les votes non réclamés. Rien d'autre à installer.
    • votifier - le site envoie chaque vote dès qu'il est émis. Nécessite NuVotifier ou un autre listener Votifier (Option B ci-dessous).
    • both - envoi Votifier avec l'interrogation en filet de sécurité, sans doublons grâce à l'identifiant du vote.
  6. Renseignez rewards.commands (et, si vous le souhaitez, milestones et vote-party) avec les commandes console à exécuter lors d'un vote.
  7. Testez : /votingsite testvote <player> simule un vote sans attendre un vrai. /votingsite status indique le mode, si la clé API est acceptée, et combien de votes ont été livrés jusqu'à présent.

Les joueurs obtiennent leur lien de vote et leur nombre de votes avec /voxelrank vote - pas /vote, que ce plugin ne s'approprie volontairement jamais (deux plugins se disputant la même commande, c'est exactement comme ça qu'une récompense cesse de fonctionner en silence - voir la note à ce sujet dans config.yml).

Option B : livraison instantanée avec NuVotifier

Passez cette section si le mode poll vous convient déjà - elle n'est pas obligatoire. Ajoutez-la si les quelques minutes de délai liées à l'interrogation vous posent problème, ou si vous préférez utiliser un plugin de récompenses dédié plutôt que celui de ce site.

NuVotifier est le fork activement maintenu du Votifier original - le projet d'origine n'est aujourd'hui pratiquement plus maintenu, donc « installer Votifier » signifie en pratique installer NuVotifier (ou un fork compatible comme VotifierPlus).

  1. Placez le jar de NuVotifier dans plugins/ et redémarrez le serveur. Sur un serveur Bukkit/Spigot/Paper, il conserve le nom de dossier classique plugins/Votifier/ par souci de rétrocompatibilité - c'est bien le dossier propre à NuVotifier, pas un reliquat de l'ancien plugin - et génère à l'intérieur, dès le premier démarrage, un config.yml ainsi qu'une paire de clés dans rsa/.
  2. Récupérez vos identifiants dans plugins/Votifier/config.yml : le token v2 (recommandé) est généré automatiquement sous la clé default dans la section tokens: - copiez-le tel quel. Si vous préférez l'ancienne méthode, la clé publique v1 se trouve dans plugins/Votifier/rsa/public.key ; conservez la private.key correspondante dans le même dossier sur le serveur et ne la partagez jamais.
  3. Vérifiez le port sur lequel NuVotifier écoute (8192 par défaut) et assurez-vous qu'il est ouvert dans votre pare-feu ou le panneau de votre hébergeur - c'est un port distinct du port Minecraft habituel, que la plupart des hébergeurs n'ouvrent pas automatiquement.
  4. Sur la page Modifier de votre serveur → onglet Récompenses et votes, renseignez l'hôte Votifier (l'adresse de votre serveur) et ce port, puis collez le token v2 ou la clé v1 de l'étape 2. Si les deux sont renseignés, un seul est utilisé - le v2 est prioritaire.
  5. Cliquez sur Envoyer un vote test directement dans cet onglet. Cela envoie un vrai paquet Votifier vers l'hôte/port/clé/token actuellement dans le formulaire - rien n'a besoin d'être enregistré au préalable - et indique immédiatement si NuVotifier l'a accepté. En cas d'échec, le journal console de NuVotifier lui-même (debug: true par défaut) montre si la connexion a seulement atteint le plugin, ce qui permet de distinguer rapidement une « mauvaise clé » d'un « port bloqué ».
  6. Enregistrez, puis émettez un vrai vote et vérifiez que la récompense arrive immédiatement plutôt qu'à la prochaine interrogation.

Sous le capot, ce site envoie un handshake VOTIFIER 2 standard avec une charge JSON signée en HMAC lorsqu'un token v2 est configuré, et se rabat sinon sur un bloc v1 classique chiffré en RSA - le même protocole que parle déjà tout listener compatible Votifier, rien de spécifique à ce site.

Vous utilisez déjà VotingPlugin ?

Si votre serveur utilise déjà VotingPlugin, vous n'avez pas besoin d'installer le nôtre - et vous n'avez pas non plus besoin d'y ajouter ce site à la main, car VotingPlugin dispose d'un preset maintenu pour lui.

Exécutez ceci en jeu en tant qu'opérateur (ou avec la permission VotingPlugin.Commands.AdminVote.VotePresets) :

/av VotePresets

VotingPlugin télécharge la liste actuelle des presets depuis son propre dépôt VotingPlugin-Presets, vous laisse en choisir un - VoxelRank en fait partie - puis demande les valeurs dont ce preset a besoin : nom affiché, URL de vote de votre fiche, délai entre les votes, et autres réglages similaires. Ou allez-y directement avec votre propre lien de vote :

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

Incluez le https:// ; VotingPlugin fait correspondre automatiquement le nom d'hôte au bon preset, au lieu de vous obliger à le chercher dans une liste.

Dans tous les cas, il écrit ou met à jour l'entrée correspondante sous VoteSites: dans VoteSites.yml - ServiceSite, VoteURL, des délais par défaut raisonnables, ainsi qu'un objet d'affichage provisoire ou un message de remerciement si le site n'en a pas déjà un - puis recharge les sites de vote à votre place. Tout le reste déjà présent dans le fichier n'est pas modifié. Sauvegardez VoteSites.yml au préalable si vous modifiez une configuration déjà en place plutôt que d'en ajouter une nouvelle, et vérifiez ce qui a été écrit - les récompenses en particulier, car un preset est un point de départ, pas une configuration terminée - avant de le proposer à vos joueurs.

VotingPlugin a toujours besoin de sa propre connexion Votifier pour réellement recevoir les votes - pointez-le vers la même configuration NuVotifier que dans l'Option B ci-dessus. Il faut aussi que le serveur puisse joindre GitHub (raw.githubusercontent.com) pour récupérer les presets ; si /av VotePresets indique qu'aucun preset n'est disponible, c'est un problème de réseau ou de pare-feu côté serveur, pas un preset manquant. /av gui, ou la modification directe de VoteSites.yml, fonctionnent toujours en solution de repli - ServiceSite doit correspondre exactement à VoxelRank.com, ce que vous pouvez vérifier avec /av servicesites après un vote réel ou un vote test administrateur.

Autres plugins de récompenses

Vous utilisez quelque chose de plus léger que VotingPlugin ? SuperVotes et SuperbVote sont tous deux des listeners Votifier légers, avec leurs propres systèmes de vote-party et de commandes de récompense. Aucun des deux ne gère de presets par site comme le fait VotingPlugin - pointez l'un ou l'autre vers le même hôte, port et token v2 (ou clé v1) Votifier depuis l'onglet Récompenses et votes ci-dessus, et configurez ses récompenses comme vous le feriez pour n'importe quel vote.

Dépannage

  • Rien ne se passe avec /votingsite testvote. Vérifiez d'abord /votingsite status - si la clé API n'est pas acceptée, les votes (réels ou tests) n'ont nulle part où aller. Recopiez-la depuis la page Modifier et assurez-vous qu'il n'y a pas d'espace superflu à la fin.
  • L'envoi Votifier n'arrive jamais mais l'interrogation fonctionne. C'est généralement le port Votifier qui est bloqué, pas l'API - la plupart des hébergeurs ouvrent le trafic HTTP sortant par défaut, mais pas un port entrant supplémentaire arbitraire. mode: both (ou l'utilisation du listener d'un autre plugin de récompenses) est une solution de repli permanente raisonnable plutôt que de se battre avec le pare-feu.
  • La récompense se déclenche mais rien n'apparaît en jeu. Les commandes de récompense s'exécutent depuis la console, donc une commande qui ne fonctionne que tapée par un joueur (sans permission, sans op) échouera silencieusement. Testez d'abord la commande exacte depuis la console.
  • VotingPlugin journalise « invalid service site » ou ne fait jamais correspondre le vote. La valeur ServiceSite doit correspondre caractère pour caractère, casse mise à part. Vérifiez-la avec /av servicesites plutôt que de la deviner à partir du nom de domaine de ce site.
  • /av VotePresets indique qu'aucun preset n'est disponible, ou une URL ne correspond à rien. Il télécharge la liste des presets depuis GitHub au moment de l'exécution, donc c'est presque toujours le réseau du serveur lui-même - pare-feu, proxy, DNS ou panne GitHub - qui bloque raw.githubusercontent.com, et non un signe que VoxelRank a été retiré de la liste. Une correspondance par URL nécessite aussi l'adresse complète, https:// inclus ; les noms d'hôte seuls ne sont pas reconnus.
  • Les réglages de l'onglet Récompenses et votes ne semblent pas s'enregistrer. Ils ne s'appliquent qu'à une fiche réclamée - voir le filtre Réclamé dans la liste des serveurs. Une fiche importée et non réclamée n'a pas encore de propriétaire pour qui configurer des récompenses ; réclamez-la d'abord.

Réponses rapides

Ai-je vraiment besoin de Votifier ?

Non. Le mode poll (par défaut pour le plugin VoxelRank) fonctionne sans rien installer d'autre - Votifier ne fait que raccourcir le délai entre le vote et la récompense, et c'est la seule voie d'entrée si vous préférez utiliser VotingPlugin, SuperVotes ou SuperbVote à la place.

Puis-je utiliser notre plugin et VotingPlugin en même temps ?

Pas pour la même récompense - choisissez celui qui exécutera réellement les commandes de récompense, sinon un vote pourrait être payé deux fois. Votifier lui-même peut notifier plusieurs listeners à la fois, il s'agit donc d'une règle « ne configurez pas la même récompense deux fois », pas d'une limite technique.

Mon hébergeur ne me permet pas d'ouvrir de port supplémentaire pour Votifier.

Utilisez le mode poll avec le plugin VoxelRank. Il n'effectue que des requêtes sortantes, il n'y a donc rien à ouvrir. VotingPlugin et les plugins de récompenses similaires n'ont pas d'équivalent au mode d'interrogation - ils ont besoin d'un port Votifier entrant.

Besoin d'aide ?

Vous êtes bloqué à une étape ci-dessus, ou quelque chose ne correspond pas à ce que votre serveur envoie réellement ? Contactez-nous - les moyens les plus rapides pour une question sur les votes/récompenses y sont indiqués.