Saltar al contenido

Recompensas por votar en Minecraft con VotingPlugin

Las listas de servidores envían un mensaje a tu servidor por cada voto, pero no pasa nada hasta que un plugin de recompensas reacciona. VotingPlugin es una opción popular: da objetos, dinero o comandos por cada sitio de votación, muestra los enlaces de voto con /vote y añade extras como vote parties y rachas. Esta guía lo conecta con BestMCServerList paso a paso.

Actualizado:

Cómo un voto se convierte en recompensa

Trabajan tres piezas juntas. Un jugador vota en una lista de servidores. La lista envía un mensaje de voto a Votifier en tu servidor, junto con el nombre del jugador y un nombre de servicio que identifica a la lista. VotingPlugin escucha esos mensajes, busca el sitio de votación cuyo ServiceSite coincide con el nombre de servicio y ejecuta sus recompensas.

Así que VotingPlugin no recibe votos por sí mismo. Primero necesitas un Votifier que funcione, normalmente NuVotifier. Si todavía no lo tienes, sigue la guía para configurar NuVotifier y vuelve aquí.

  • Votifier recibe el voto y lo comprueba (token en v2, clave RSA en v1).
  • VotingPlugin compara el nombre de servicio y da las recompensas.
  • BestMCServerList envía el nombre de servicio BestMCServerList.

Paso 1: instalar VotingPlugin

  1. Comprueba que NuVotifier está en marcha y es accesible. Un voto de prueba desde tu página de Votifier debería aparecer en la consola.
  2. Pon el JAR de VotingPlugin en la carpeta plugins de tu servidor Spigot o Paper y reinicia una vez.
  3. VotingPlugin crea sus archivos, entre ellos plugins/VotingPlugin/VoteSites.yml para los sitios de votación y Config.yml para los ajustes generales.

En una red con proxy, los votos suelen llegar al proxy y las recompensas se ejecutan en los servidores backend. Mantén el mismo VoteSites.yml en todos los backends.

Paso 2: añadir BestMCServerList a VoteSites.yml

Cada lista en la que estés tiene su propia entrada bajo VoteSites. La clave es un nombre interno: corto, sin espacios y sin puntos. La línea importante es 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 es necesario; el valor por defecto es false.
  • ServiceSite debe coincidir con el nombre de servicio que envía la lista. VotingPlugin no distingue mayúsculas y minúsculas, pero por lo demás el texto tiene que ser idéntico. En nuestro caso es BestMCServerList.
  • VoteURL es el enlace que reciben los jugadores con /vote. Copia tu enlace de voto desde la página de tu servidor; your-server representa tu propio slug.
  • DisplayItem es obligatorio en cada sitio, porque se muestra en los menús de VotingPlugin.
  • Los comandos se ejecutan desde la consola, y %player% se sustituye por el nombre de quien vota. eco give necesita un plugin de economía; usa los comandos que tenga tu servidor.

Guarda el archivo y ejecuta /av reload.

Paso 3: vote delay y el reinicio diario

En BestMCServerList cada nombre de Minecraft puede votar una vez por servidor y día natural, y el día sigue la zona horaria Europe/Berlin. Se puede volver a votar justo después de la medianoche de Berlín, no 24 horas después del último voto.

  • VoteDelay: 24h se usa para /vote next, la cuenta atrás que ven los jugadores. No bloquea votos.
  • VoteDelayDaily: true reinicia el delay una vez al día, lo que encaja con listas que se reinician a diario como la nuestra. VoteDelayDailyHour fija la hora en hora del servidor (1–24). Si el reloj de tu servidor no va en hora de Berlín, ten en cuenta la diferencia al configurarlo.
  • WaitUntilVoteDelay: true rechazaría los votos que llegan antes de que termine el delay. Déjalo en false: nosotros ya aplicamos un voto por nombre y día, y un delay mal configurado haría perder recompensas a los jugadores.

Paso 4: probar las recompensas

  1. Ejecuta /av vote <player> BestMCServerList. Esto ejecuta las recompensas de ese sitio para un jugador y demuestra que tu configuración de recompensas funciona. No prueba Votifier.
  2. Abre tu página de Votifier en BestMCServerList y pulsa Enviar voto de prueba. Enviamos un voto para el nombre TestVote, que no cuenta para el ranking. El registro de entregas muestra si tu servidor lo ha aceptado.
  3. Busca en la consola una línea como [VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!.
  4. Ejecuta /av servicesites para ver los nombres de servicio que VotingPlugin ha recibido hasta ahora.

Si el voto de prueba llega pero VotingPlugin informa de un sitio de servicio desconocido, el problema está en la línea ServiceSite. Con AutoCreateVoteSites: true en Config.yml (el valor por defecto), VotingPlugin también puede crear una entrada nueva por su cuenta; aun así necesita Enabled: true y tus recompensas.

Jugadores de Bedrock y votos sin conexión

Los jugadores de Bedrock que entran con Geyser y Floodgate tienen un prefijo en el nombre, por defecto un punto: .Steve. Votan con ese nombre completo, y nosotros lo pasamos a Votifier sin cambios. En VotingPlugin, pon el mismo prefijo en Config.yml. En una red usa el mismo valor en el proxy y en cada backend:

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

.Steve y Steve son jugadores distintos. Nunca quites el prefijo para que un nombre encaje.

Los jugadores no tienen que estar conectados cuando votan. Las recompensas tienen un RewardType de ONLINE, OFFLINE o BOTH (el valor por defecto). Prueba también los votos sin conexión, porque los comandos que necesitan un jugador conectado se comportan de otra forma.

Vote parties, hitos y rachas

Cuando las recompensas básicas funcionen, SpecialRewards.yml añade objetivos que mantienen a los jugadores votando: una VoteParty que se activa cuando todo el servidor alcanza cierto número de votos, VoteMilestones para totales personales y VoteStreaks para votar varios días seguidos. Haz que las recompensas sean útiles pero justas; las que rompen tu economía hacen que votar parezca obligatorio.

¿Quieres una insignia de rango para quien más vota? La guía de prefijos de LuckPerms explica cómo dar a los jugadores un prefijo con imagen mediante un comando, que puedes ejecutar como recompensa.

Errores frecuentes

ProblemaSolución
El voto de prueba llega, nadie recibe nadaEl sitio de votación no está activado, o ServiceSite no es BestMCServerList. Revisa /av servicesites.
No aparece nada en la consolaVotifier no recibe el voto. Revisa puerto, token y firewall con el registro de entregas de tu página de Votifier.
NuVotifier registra que no hay listeners disponiblesVotingPlugin no está instalado o no se ha cargado. Revisa el log de arranque.
/av vote funciona, los votos reales noEl comando de admin se salta Votifier. Prueba con Enviar voto de prueba.
Los jugadores de Bedrock no reciben nadaBedrockPlayerPrefix no coincide con tu prefijo de Floodgate.

Preguntas frecuentes

¿Cuál es el nombre de servicio de BestMCServerList para VotingPlugin?

Es BestMCServerList. Pon exactamente esto en la línea ServiceSite del sitio de votación en VoteSites.yml.

¿Necesito NuVotifier para VotingPlugin?

Sí. VotingPlugin da las recompensas, pero los votos llegan a tu servidor a través de Votifier. NuVotifier es la versión mantenida y admite los protocolos v1 y v2.

¿Cuándo pueden volver a votar los jugadores en BestMCServerList?

Una vez por nombre de Minecraft, servidor y día natural. El día cambia a medianoche en la zona horaria Europe/Berlin.

¿Los jugadores de Bedrock reciben recompensas por votar?

Sí, si votan con su nombre completo de Floodgate, como .Steve, y BedrockPlayerPrefix en VotingPlugin coincide con tu prefijo de Floodgate.

Fuentes

Revisado con la documentación oficial: