MC Toolkit

Guias / Servidores e desempenho

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 simplesmente não aparece. Além da API de gerenciamento JSON-RPC que substituiu a leitura do console.

O ícone do servidor é o recurso pequeno menos tolerante do Minecraft, porque todo modo de falha é idêntico: nenhum ícone, nenhum erro.

Três requisitos, todos obrigatórios

  1. Exatamente 64×64 pixels. Não 63, não 128. O servidor não redimensiona.
  2. Formato PNG. PNG de verdade, não um JPG renomeado.
  3. Chamado server-icon.png, na raiz do servidor — ao lado de server.properties, não dentro da pasta do mundo.

Erre qualquer um deles e o servidor inicia normalmente e mostra o ícone padrão. Um tamanho errado ou um arquivo que não é realmente um PNG registra uma linha na inicialização — Couldn't load server icon —, mas um arquivo com nome errado ou no lugar errado não registra nada. (Sem nenhum server-icon.png, o servidor recorre ao icon.png do próprio mundo, se houver um.)

Coisas que também quebram o ícone

  • PNG entrelaçado. Alguns editores salvam entrelaçado por padrão; o leitor do Minecraft rejeita. Exporte novamente sem entrelaçamento.
  • Profundidade de cor de 16 bits. Salve como 8 bits por canal.
  • Perfis de cor. Um perfil ICC incorporado às vezes trava o analisador. Remova os metadados na exportação.
  • Transparência não é problema e é renderizada corretamente na lista de servidores.

O servidor lê o ícone uma vez só

O servidor carrega o server-icon.png quando inicia e nunca mais. Substituir o arquivo em um servidor em execução não muda nada até reiniciar — é por isso que testar uma alteração de ícone sem reiniciar vai te convencer de que não funcionou. Após reiniciar, o cliente pega o novo ícone na próxima atualização da lista de servidores.

A API de gerenciamento

Versões recentes do servidor expõem uma interface de gerenciamento JSON-RPC, que é a substituta oficial para analisar a saída do console ou instalar um plugin.

Ative-a no server.properties:

management-server-enabled=true
management-server-host=localhost
management-server-port=25585
management-server-tls-enabled=false

O TLS vem ativado por padrão e precisa de um keystore (management-server-tls-keystore), então aponte para um ou — apenas em localhost — desative como acima; com o TLS ativado e sem keystore, o servidor de gerenciamento não inicia. A porta também não tem padrão (25585 é só um exemplo).

Depois, abra um WebSocket nessa porta, enviando o management-server-secret do server.properties como Authorization: Bearer <secret>, e fale JSON-RPC:

{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }

Os métodos cobrem a lista de jogadores, o status do servidor, a lista de permissões e a lista de banimentos, gamerules, configurações e um par salvar/parar. Cada um retorna JSON estruturado em vez de uma linha de texto que você precisa processar com regex.

Vincule ao localhost

O padrão é localhost e deve continuar assim. A interface não foi feita para ficar exposta à internet — qualquer um que a alcance com o segredo pode parar seu servidor, e o segredo só é tão seguro quanto seu server.properties. Exponha-a por um túnel SSH ou um proxy reverso com autenticação se precisar de acesso remoto, nunca mudando o host para 0.0.0.0.

Por que isso importa

Painéis, bots do Discord e monitores de uptime sempre funcionaram lendo o log do console ou usando RCON, e ambos são 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 explore os métodos JSON-RPC em Server Icon & API Tools.

Ícone de servidor e API →

Mais guias

Ver todos →