server-icon.png: i requisiti esatti e l'API di gestione che nessuno usa
64x64, PNG, nella root del server — sbaglia uno qualsiasi dei tre e l'icona non apparirà senza dare errori. In più l'API di gestione JSON-RPC che ha sostituito lo screen-scraping della console.
L'icona del server è la piccola funzionalità meno indulgente di Minecraft, perché ogni tipo di errore ha lo stesso esito: nessuna icona, nessun errore.
Tre requisiti, tutti obbligatori
- Esattamente 64×64 pixel. Non 63, non 128. Il server non la ridimensiona.
- Formato PNG. Effettivamente PNG, non un JPG rinominato.
- Chiamato
server-icon.png, in the server root — accanto aserver.properties, not
nella cartella del mondo.
Sbagliane anche solo uno e il server si avvierà normalmente mostrando l'icona predefinita. Nessun registro viene salvato al livello predefinito.
Altri fattori che causano problemi
- PNG interlacciato. Alcuni editor salvano in modalità interlacciata per impostazione predefinita; il lettore di Minecraft la
rifiuta. Riesporta in modalità non interlacciata.
- Profondità colore a 16 bit. Salva a 8 bit per canale.
- Profili colore. Un profilo ICC incorporato può mandare in tilt il parser. Rimuovi i
metadati durante l'esportazione.
- La trasparenza va bene e viene visualizzata correttamente nella lista dei server.
Il client la salva nella cache
Una volta che un client ha visto il tuo server, memorizza l'icona. Modificarla lato server non aggiorna le voci esistenti: il giocatore deve rimuovere e aggiungere nuovamente il server, o attendere la scadenza della cache. Testare un cambio di icona dal tuo stesso client ti farà credere che non abbia funzionato anche se è andato a buon fine.
L'API di gestione
Le versioni recenti del server espongono un' JSON-RPC interfaccia di gestione, che è la soluzione ufficiale per sostituire l'analisi dell'output della console o l'aggiunta di plugin.
Abilitala in server.properties:
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
Quindi comunica via JSON-RPC su quella porta:
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
I metodi includono la lista giocatori, lo stato del server, allowlist e lista ban, gamerule, impostazioni e una coppia save/stop. Ciascuno restituisce JSON strutturato invece di una riga di testo da analizzare con regex.
Associala a localhost
Il valore predefinito è localhost and it should stay there. The interface is non pensato per essere esposto a Internet: qualsiasi richiesta potrebbe arrestare il tuo server. Esponilo tramite un tunnel SSH o un reverse proxy con autenticazione se necessiti di accesso remoto, mai cambiando l'host in 0.0.0.0.
Perché è importante
Dashboard, bot Discord e monitor di uptime hanno storicamente funzionato leggendo i registri della console o usando RCON, entrambi metodi fragili. Un'API tipizzata fa sì che un widget del conteggio giocatori non smetta di funzionare quando una riga di registro cambia formato.
Converti qualsiasi immagine in un server-icon.png and browse the JSON-RPC methods in the Icona server e strumenti API.