server-icon.png: os requisitos exatos e a API de gerenciamento que ninguém usa
64x64, PNG, na raiz do servidor — erre qualquer um dos três e o ícone não aparecerá silenciosamente. Além da API de gerenciamento JSON-RPC que substituiu a leitura da tela do console.
O ícone do servidor é o recurso pequeno menos tolerante no Minecraft, porque todo modo de falha parece idêntico: nenhum ícone, nenhum erro.
Três requisitos, todos obrigatórios
- Exatamente 64×64 pixels. Não 63, não 128. O servidor não redimensiona.
- Formato PNG. Realmente PNG, não um JPG renomeado.
- Nomeado
server-icon.png, na raiz do servidor — ao lado deserver.properties, não
dentro da pasta do mundo.
Se errar qualquer um, o servidor inicia normalmente e mostra o ícone padrão. Nada é registrado no nível padrão.
Coisas que também o quebram
- PNG entrelaçado. Alguns editores salvam entrelaçado por padrão; o leitor do Minecraft o rejeita. Reexporte não entrelaçado.
- Profundidade de cor de 16 bits. Salve como 8 bits por canal.
- Perfis de cor. Um perfil ICC incorporado ocasionalmente atrapalha o analisador. Remova metadados na exportação.
- Transparência funciona bem e renderiza corretamente na lista de servidores.
O cliente o armazena em cache
Depois que um cliente vê seu servidor, ele mantém o ícone. Alterá-lo no lado do servidor não atualiza as entradas existentes — o Jogador precisa remover e adicionar o servidor novamente, ou esperar que o cache expire. Testar uma mudança de ícone do seu próprio cliente o convencerá de que não funcionou quando, na verdade, funcionou.
A API de gerenciamento
Versões recentes do servidor expõem uma interface de gerenciamento JSON-RPC, que é o substituto sancionado para analisar a saída do console ou anexar um plugin.
Habilite-o em server.properties:
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
Então, use JSON-RPC nessa porta:
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
Os métodos cobrem a lista de Jogadores, status do servidor, lista de permissões e lista de banimentos, regras de jogo (gamerules), configurações e um par de salvar/parar. Cada um retorna JSON estruturado em vez de uma linha de texto que você precisa usar regex.
Vincule-o a localhost
O padrão é localhost e deve permanecer lá. A interface não se destina a ficar exposta à internet — qualquer coisa que a alcance pode parar seu servidor. Exponha-a através de um túnel SSH ou um proxy reverso com autenticação se precisar de acesso remoto, nunca alterando o host para 0.0.0.0.
Por que isso importa
Painéis, bots do Discord e monitores de tempo de atividade historicamente funcionavam lendo o log do console ou usando RCON, ambos frágeis. Uma API tipada significa que um widget de contagem de Jogadores não quebra quando uma linha de log muda de formato.
Converta qualquer imagem em um server-icon.png compatível e navegue pelos métodos JSON-RPC nas Ferramentas de Ícone de Servidor e API.