server-icon.png: los requisitos exactos y la API de gestión que nadie usa
64x64, PNG, en la raíz del servidor: si te equivocas en cualquiera de los tres, el icono no aparece. Además, la API de gestión JSON-RPC que reemplazó el "screen-scraping" de la consola.
El icono del servidor es la característica pequeña menos indulgente de Minecraft, porque cada modo de fallo es idéntico: no hay icono, no hay error.
Tres requisitos, todos obligatorios
- Exactamente 64×64 píxeles. Ni 63, ni 128. El servidor no cambia el tamaño.
- Formato PNG. Realmente PNG, no un JPG renombrado.
- Nombrado
server-icon.png, en la raíz del servidor — junto aserver.properties, no
dentro de la carpeta del mundo.
Si te equivocas en cualquiera de ellos, el servidor se inicia normalmente y muestra el icono predeterminado. No se registra nada en el nivel predeterminado.
Cosas que también lo estropean
- PNG entrelazado. Algunos editores guardan entrelazado por defecto; el lector de Minecraft lo rechaza. Reexporta sin entrelazar.
- Profundidad de color de 16 bits. Guarda como 8 bits por canal.
- Perfiles de color. Un perfil ICC incrustado ocasionalmente provoca fallos en el analizador. Elimina los metadatos al exportar.
- La transparencia está bien y se renderiza correctamente en la lista de servidores.
El cliente lo almacena en caché
Una vez que un cliente ha visto tu servidor, mantiene el icono. Cambiarlo en el lado del servidor no actualiza las entradas existentes: el Jugador tiene que eliminar y volver a añadir el servidor, o esperar a que la caché caduque. Probar un cambio de icono desde tu propio cliente te convencerá de que no funcionó cuando sí lo hizo.
La API de gestión
Las versiones recientes del servidor exponen una interfaz de gestión JSON-RPC, que es el reemplazo autorizado para analizar la salida de la consola o añadir un plugin.
Habilítala en server.properties:
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
Luego, comunícate con JSON-RPC a través de ese puerto:
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
Los métodos cubren la lista de Jugadores, el estado del servidor, la lista de permitidos y la lista de prohibidos, las reglas de juego (gamerules), la configuración y un par de guardar/detener. Cada uno devuelve JSON estructurado en lugar de una línea de texto que tienes que analizar con expresiones regulares.
Enlázalo a localhost
El valor predeterminado es localhost y debería permanecer así. La interfaz no está destinada a estar expuesta a internet; cualquier cosa que la alcance puede detener tu servidor. Expónla a través de un túnel SSH o un proxy inverso con autenticación si necesitas acceso remoto, nunca Cambiando el host a 0.0.0.0.
Por qué es importante
Los paneles de control, los bots de Discord y los monitores de tiempo de actividad históricamente han funcionado leyendo el registro de la consola o usando RCON, ambos frágiles. Una API tipada significa que un widget de recuento de Jugadores no se rompe cuando una línea de registro cambia de formato.
Convierte cualquier imagen en un server-icon.png compatible y explora los métodos JSON-RPC en las Herramientas de Iconos de Servidor y API.