La API de MineList permite que tu servidor compruebe si un jugador ha votado, entregue una recompensa exactamente una vez y lea estadísticas públicas. Todos los endpoints devuelven JSON y usan simples peticiones HTTPS GET, así que funcionan desde cualquier lenguaje.
Cómo obtener tu clave de API
Agrega tu servidor, reclámalo y abre el panel del propietario. La clave de API aparece en la página de ajustes del servidor. Mantenla en privado, porque identifica a tu servidor. Si se filtra, genera una nueva en el panel y actualiza tu plugin o script.
La dirección base de todos los endpoints es https://minelist.eu.
Comprobar un voto
GET /api/v1/vote?key=API_KEY&username=NICK
Te dice si el jugador ha votado hoy y si la recompensa ya se reclamó.
{"voted":true,"claimed":false,"next_vote_utc":"2026-10-31T00:00:00Z"}
votedes true si el nick tiene un voto para tu servidor en el día UTC actual.claimedes true si ya marcaste ese voto como reclamado.next_vote_utces el momento en que el jugador puede volver a votar.
Reclamar un voto
GET /api/v1/vote/claim?key=API_KEY&username=NICK
Marca el voto de hoy como reclamado. Llámalo justo antes de entregar la recompensa, para que un jugador no pueda cobrarla dos veces. Respuestas posibles:
| Respuesta | Significado |
|---|---|
{"voted":true,"claimed":true} | El voto era válido y ahora está reclamado. Entrega la recompensa. |
{"voted":true,"claimed":false,"already_claimed":true} | El voto ya se había reclamado antes. No entregues nada. |
{"voted":false,"claimed":false} | El jugador no ha votado hoy. |
Listar los votos de este mes
GET /api/v1/votes?key=API_KEY
Devuelve todos los votos que ha recibido tu servidor en el mes actual. Es útil para las recompensas mensuales a los mejores votantes y para clasificaciones en tu propia web.
Estadísticas públicas del servidor
GET /api/v1/server/<slug>
Este endpoint no necesita clave. El slug es la última parte de la dirección del servidor en MineList. Campos de ejemplo de la respuesta:
| Campo | Descripción |
|---|---|
name | Nombre del servidor |
url | Sitio web del servidor |
ip | Dirección de conexión |
online | Si la última comprobación fue correcta |
players | Jugadores conectados en la última comprobación |
max_players | Plazas de jugadores |
version | Versión del servidor |
votes_month | Votos este mes |
votes_total | Votos desde que se agregó el servidor |
uptime_30 | Disponibilidad en los últimos 30 días, en porcentaje |
rating | Valoración media |
last_check | Hora de la última comprobación |
Ejemplo con curl
Esta es toda la lógica en forma de comando de shell. Cualquier lenguaje que pueda enviar una petición HTTP, como Java, PHP, Python o Node.js, hace lo mismo.
curl -s "https://minelist.eu/api/v1/vote/claim?key=API_KEY&username=Steve"
Procesa el JSON y, si claimed es true, ejecuta tu comando de recompensa, por ejemplo give Steve diamond 3.
Compatibilidad con NuVotifier
Si prefieres recompensas instantáneas sin consultar la API cada poco, MineList puede enviar los votos a tu servidor mediante NuVotifier. Se admiten las dos versiones del protocolo. La versión 1 usa una clave pública RSA y la versión 2 usa un token.
- Instala NuVotifier en tu servidor y reinícialo.
- En el panel del propietario escribe el host, el puerto (8192 por defecto) y la clave pública (v1) o el token (v2).
- Pulsa Enviar voto de prueba y comprueba que tu servidor registra el voto.
Si la prueba falla, asegúrate de que el puerto de Votifier esté abierto en tu firewall y de que la clave se copió sin espacios ni saltos de línea.
Banner en directo
Cada servidor tiene un banner en directo de 468x60 píxeles que muestra el estado actual y el número de jugadores:
https://minelist.eu/banner/<slug>.png
Ejemplo de código HTML para insertarlo:
<a href="https://minelist.eu/es/server/tu-slug">
<img src="https://minelist.eu/banner/tu-slug.png" width="468" height="60" alt="Vota por nosotros en MineList">
</a>
Buenas prácticas
- Guarda en caché las estadísticas públicas durante al menos un minuto en lugar de llamar a la API en cada visita a la página.
- Nunca pongas la clave de API en código del lado del cliente ni en un repositorio público.
- Usa el endpoint de reclamación solo una vez por recompensa.