Aller au contenu

Installer NuVotifier sur Paper, Velocity et BungeeCord

NuVotifier fait le lien entre une liste de serveurs et ton plugin de récompenses : la liste s’y connecte pour chaque vote, et il transmet le vote au plugin qui donne la récompense. Ce guide l’installe sur un serveur Paper seul et sur un réseau Velocity ou BungeeCord, puis vérifie tout avec un vote de test.

Mis à jour:

Comment Votifier livre un vote

  1. Un joueur vote pour ton serveur sur une liste.
  2. La liste ouvre une connexion TCP vers ton serveur sur le port Votifier et envoie le pseudo du joueur, son propre nom de service, une adresse et un horodatage.
  3. NuVotifier vérifie le message (clé RSA pour la v1, token pour la v2) et déclenche un événement de vote.
  4. Un plugin de récompenses comme VotingPlugin écoute cet événement et donne la récompense.

NuVotifier lui-même ne donne rien. Il est livré sans listener, il te faut donc toujours un deuxième plugin pour les récompenses.

Étape 1 : installer NuVotifier sur Paper ou Spigot

Mets le JAR de NuVotifier dans le dossier plugins et démarre le serveur une fois. Il crée sa config, une paire de clés RSA et un token. La console affiche le token au premier démarrage : Your default NuVotifier token is ….

plugins/Votifier/config.yml
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
  default: <generated token>
forwarding:
  method: none
  pluginMessaging:
    channel: nuvotifier:votes
  • host est l’adresse sur laquelle NuVotifier écoute. Par défaut, il prend l’IP configurée pour ton serveur, ou 0.0.0.0 pour toutes les interfaces.
  • port est le port Votifier, 8192 par défaut. Ce ne doit pas être le port Minecraft.
  • tokens.default est utilisé pour toutes les listes, sauf si tu ajoutes un token sous le nom de service d’une liste.
  • Les clés pour la v1 sont créées dans plugins/Votifier/rsa/ sous les noms public.key et private.key.

Étape 2 : rendre le port joignable

Les listes se connectent depuis internet, le port Votifier doit donc être ouvert aux connexions TCP entrantes. C’est là que la plupart des installations échouent.

  • Hébergement mutualisé : beaucoup de panels n’ouvrent que le port du jeu. Ajoute un port supplémentaire dans le panel et mets exactement ce numéro dans port. Certains hébergeurs attribuent le numéro pour toi.
  • VPS ou serveur dédié : autorise le port dans le pare-feu, par exemple ufw allow 8192/tcp.
  • À la maison : redirige le port dans ta box vers la machine qui fait tourner le serveur.

Redémarre le serveur après avoir modifié la config. NuVotifier a aussi /nvreload, qui se lance depuis la console.

Étape 3 : choisir la v1 (clé publique) ou la v2 (token)

Protocole v1Protocole v2
SecretPaire de clés RSAToken partagé
Ce dont la liste a besoinLe contenu de rsa/public.keyLe token de tokens.default
CompatibilitéVotifier classique ; la plupart des listes le parlentNuVotifier et les listes qui le gèrent

Ne donne jamais private.key à personne. Si une liste gère la v2, le token est le choix le plus simple : une ligne, pas de fichier de clé. BestMCServerList gère les deux, choisis donc ce que tu préfères sur ta page Votifier.

Garde disable-v1-protocol: false sur un serveur seul. NuVotifier prévient lui-même que beaucoup de listes ne parlent que la v1.

Étape 4 : réseaux Velocity ou BungeeCord

Sur un réseau, la liste se connecte au proxy. NuVotifier tourne sur le proxy et transmet les votes aux serveurs backend où se trouve le plugin de récompenses. Le wiki de NuVotifier recommande le plugin messaging pour la plupart des réseaux.

Proxy (Velocity)

plugins/nuvotifier/config.toml
host = "0.0.0.0"
port = 8192
disable-v1-protocol = false

[tokens]
default = "<generated token>"

[forwarding]
method = "pluginMessaging"

[forwarding.pluginMessaging]
channel = "nuvotifier:votes"
cache = "file"

Sur BungeeCord, les mêmes clés se trouvent dans plugins/NuVotifier/config.yml au format YAML. cache = "file" garde les votes des joueurs hors ligne et les livre plus tard.

Chaque serveur backend (Paper)

plugins/Votifier/config.yml
port: -1
forwarding:
  method: pluginMessaging
  pluginMessaging:
    channel: nuvotifier:votes

port: -1 désactive le listener sur le backend, pour que seul le proxy reçoive les votes. Assure-toi que tes backends ne sont joignables que via le proxy, sinon quelqu’un pourrait envoyer de faux votes.

L’autre option, method = "proxy", envoie les votes du proxy vers un port NuVotifier sur chaque backend, configuré avec adresse, port et token par serveur sous [forwarding.proxy.<name>]. Elle n’a pas de cache de votes, le plugin messaging convient donc mieux en général.

Étape 5 : saisir les infos et envoyer un vote de test

  1. Teste d’abord en local : /testvote Steve serviceName=BestMCServerList sur Paper, ou /ptestvote avec les mêmes arguments sur le proxy. Si ton plugin de récompenses réagit, la partie interne fonctionne.
  2. Sur BestMCServerList, ouvre ton serveur dans le tableau de bord et va dans Votifier. Saisis l’adresse publique du serveur ou du proxy, le port et le token (v2) ou la clé publique (v1), puis enregistre.
  3. Clique sur Envoyer un vote de test. Nous envoyons un vote pour TestVote qui ne compte pas pour le classement, et le journal de livraison montre en quelques secondes s’il est arrivé.

Les votes de BestMCServerList portent le nom de service BestMCServerList. Les joueurs Bedrock qui rejoignent via Geyser et Floodgate votent avec leur pseudo préfixé, par exemple .Steve, et le pseudo arrive tel quel à NuVotifier. Chaque pseudo Minecraft peut voter une fois par serveur et par jour calendaire, à l’heure de Europe/Berlin.

Pas encore inscrit ? Ajoute ton serveur d’abord, puis reviens à cette étape.

Erreurs fréquentes et solutions

ProblèmeCe qu’il faut vérifier
Connexion refuséeNuVotifier ne tourne pas ou écoute sur un autre port. Compare le port de la config avec ce que tu as saisi.
Délai dépasséUn pare-feu ou l’hébergeur bloque le trafic. Ouvre le port en TCP ou demande un port supplémentaire à l’hébergeur.
Le test arrive, les joueurs ne reçoivent rienPas de plugin de récompenses. La console affiche A vote was received, but you don't have any listeners available to listen for it.
Vote refusé en v2Le token ne correspond pas. Recopie tokens.default, sans espaces ni guillemets.
Marche sur le proxy, pas sur le backendLe backend n’est pas réglé sur pluginMessaging, ou les noms de canal sont différents.
Mauvais port saisiC’est le port Minecraft qui répond à la place de NuVotifier. Utilise le port Votifier.

Une fois que les votes arrivent, configure les récompenses : notre guide sur les récompenses de vote avec VotingPlugin couvre le nom de service, VoteSites.yml et les limites quotidiennes. Pour une vue d’ensemble, lis comment trouver des joueurs pour un nouveau serveur.

Questions fréquentes

Quel port utilise NuVotifier ?

Le port 8192 par défaut. Tu peux le changer dans la config, mais il doit être différent du port Minecraft et joignable depuis internet en TCP.

Où trouver le token NuVotifier ?

Dans plugins/Votifier/config.yml sous tokens → default. La console l’affiche aussi au premier démarrage.

Faut-il NuVotifier sur chaque serveur de mon réseau ?

Avec le plugin messaging, oui : sur le proxy pour recevoir les votes, et sur chaque backend avec forwarding.method: pluginMessaging et port: -1 pour les transmettre au plugin de récompenses.

Vaut-il mieux utiliser la v1 ou la v2 ?

Utilise la v2 avec un token quand la liste la gère. La v1 avec la clé publique RSA existe pour les anciennes installations. BestMCServerList gère les deux.

NuVotifier donne-t-il des récompenses tout seul ?

Non. Il ne fait que recevoir les votes. Un plugin de récompenses comme VotingPlugin doit les écouter.

Sources

Vérifié avec la documentation officielle :