Plugin Vota40
Conecta tu servidor de Minecraft con 40servidoresMC: da recompensas in-game a quien vote y suma puntos extra para subir puestos en el ranking. Gratis, de código abierto y compatible con Bukkit/Spigot/Paper/Glowstone (1.7.10 en adelante), Folia y Sponge.
- Corrige un bug crítico de v3.0.2: en instalación nueva, el plugin no llegaba a crear la carpeta
plugins/40ServidoresMC/ni suconfig.yml(seguía funcionando con valores por defecto, pero sin poder personalizarlos, y mostraba el aviso de "configuración de una versión más antigua" en cada arranque). Si ya tienes v3.0.2 con tuconfig.ymlfuncionando, actualizar no te lo toca. - Compatible con Folia: el mismo
.jarde Bukkit ya carga y funciona en Folia (el fork de Paper con multithreading regionizado) — no hace falta descargar nada aparte. - Las recompensas y el aviso por chat pasan por schedulers propios que, en Folia, usan
EntityScheduler/GlobalRegionScheduleren vez del scheduler clásico de Bukkit (que Folia no permite fuera de su hilo de región); en Paper/Spigot normal siguen funcionando exactamente igual que antes. plugin.ymldeclarafolia-supported: true, el flag que Folia exige para no rechazar el plugin al arrancar.- Verificado arrancando el plugin en Paper 1.20.4 y en Folia 1.20.4 por separado, con la carpeta y el
config.ymlcreándose correctamente en instalación nueva. 100 tests unitarios siguen pasando; sin cambios en las opciones deconfig.ymlni en los comandos respecto a v3.0.2.
Confirmado de 1.12.2 a 1.20 en Bukkit/Spigot/Paper/Glowstone; también en Folia 1.20.4 (mismo .jar de Bukkit) desde v3.0.2; versión aparte para Sponge (API 7, 1.12.2+).
Con Java < 8u101 puede fallar la conexión SSL — usa el .jar «sslfix» o revisa la guía de compatibilidad.
El código es público. Aportaciones y bugs se gestionan en GitHub.
Instalación
- Descarga el
.jarde la versión compatible con tu servidor desde la página de descargas. - Copia el
.jara la carpeta/pluginsde tu servidor (en Sponge va en/mods) y reinícialo (o cárgalo con tu plugin manager sin reiniciar). - Se creará la carpeta
/plugins/40ServidoresMC/. Abre suconfig.ymly ajústalo a tu gusto (ver tabla más abajo). - Pega tu clave privada del servidor (la encuentras en Mi servidor) en la opción
clavedel config. - Configura el premio que quieres dar a los jugadores por votar en
comandoCustom.
¿No detecta los votos de tu servidor? Revisa que la clave sea correcta. Si el problema persiste, activa debug: true y abre un ticket en GitHub con los detalles.
Configuración
Todo se ajusta desde /plugins/40ServidoresMC/config.yml:
| Clave | Tipo | Por defecto | Descripción |
|---|---|---|---|
| debug | boolean | false | Log más detallado, con más mensajes en caso de errores. |
| clave | string | 'key' | La clave privada de tu servidor, obtenida en "Mi servidor" de la web. |
| broadcast.activado | boolean | true | Retransmite un mensaje a todo el servidor anunciando que un jugador ha recibido su premio por votar. |
| broadcast.mensajeBroadcast | string | "&aGracias a {0}…" | Mensaje a retransmitir. {0} se sustituye por el nombre del votante. Admite códigos de color. |
| mensaje | string | "&6Gracias por votarnos!…" | Mensaje enviado al jugador al validar su voto. Admite códigos de color. |
| comandosCustom | List<String> | — | Comandos a ejecutar para dar el premio. {0} se sustituye por el nombre del votante. |
| readTimeOut | int | 5000 | Milisegundos que el plugin espera al leer la web de 40servidoresMC. |
| cooldown | int | 60 | Segundos mínimos entre dos ejecuciones de /voto40 del mismo jugador, para no saturar la API con pulsaciones repetidas. |
| log-ip | boolean | false | Registra la IP del jugador tras un voto válido. Desactivado por defecto, actívalo solo si de verdad lo necesitas (privacidad). |
| stats-cmd-cache-seconds | int | 30 | Segundos que se cachea la respuesta de /stats40 antes de volver a consultar la web. 0 o negativo desactiva la caché. |
| update-repo | string | 'richicru/40ServidoresMC' | Repositorio de GitHub donde /update40 busca versiones nuevas. No lo cambies salvo que sepas lo que haces. |
| update-branch | string | 'dev' | Rama del repo que consulta el actualizador. Si tu config trae "development" de una versión antigua, cámbialo a "dev" — esa rama ya no existe. |
| configVer | int | 4 | Versión interna del formato de config. No cambiar a mano. |
¿Cada cuánto puede votar un jugador?
Un mismo jugador (por nick o por IP, lo que salte primero) puede dejar un voto web válido a tu servidor cuando se cumplen las dos condiciones a la vez:
- No haber votado ya ese mismo día natural (el día cambia a medianoche en horario UTC, es decir la 1:00 o las 2:00 de la madrugada española según el cambio de hora).
- Que hayan pasado al menos 12 horas reales desde su voto anterior a tu servidor.
La segunda condición existe para cerrar el hueco que deja la primera por sí sola justo alrededor de la medianoche UTC (sin ella, alguien podía votar a las 23:59 y otra vez dos minutos después). Si un jugador te dice que "el sistema de votos no espera 24 horas completas", esto es lo que hay que explicarle: el límite real es 1 voto/día + 12h mínimas, no una ventana fija de 24h — y por eso, según a qué hora vote, la próxima vez que pueda votar puede ser en 12h o casi en 24h. La web ya le muestra la hora exacta a partir de la cual puede volver a votar, tanto si lo intenta antes de tiempo como en la propia página de voto.
Comandos
| Comando | Alias | Permiso | Función |
|---|---|---|---|
| /voto40 | vote40, votar40, mivoto40 | 40servidores.voto | Valida el voto del jugador y le otorga el premio si corresponde. Solo desde el juego. |
| /test40 | — | 40servidores.test | Simula el premio y ejecuta los comandos configurados sin registrar un voto real. Útil para probar la config. |
| /stats40 | — | 40servidores.stats | Muestra estadísticas de votos del servidor desde el propio juego. También desde consola. |
| /update40 | actualizar40, upd40 | 40servidores.actualizar | Comprueba si hay una versión nueva del plugin y muestra el changelog. También desde consola. |
| /reload40 | recargar40, config40 | 40servidores.recargar | Recarga la configuración del plugin sin reiniciar el servidor. También desde consola. |
Soporte y contribuir
El plugin es de código abierto y lo mantiene la comunidad. Si encuentras un error o tienes una sugerencia, abre un ticket en el issue tracker de GitHub.
Añádelo gratis y empieza a recibir votos hoy mismo.