server-icon.png: Die genauen Anforderungen und die Management-API, die niemand nutzt
64x64, PNG, im Server-Root – wenn eine der drei Vorgaben nicht stimmt, erscheint das Icon stillschweigend nicht. Plus die JSON-RPC Management-API, die das Auslesen der Konsole ersetzt hat.
Das Server-Icon ist die am wenigsten nachsichtige kleine Funktion in Minecraft, denn jeder Fehler sieht identisch aus: kein Icon, keine Fehlermeldung.
Drei Anforderungen, alle zwingend
- Genau 64×64 Pixel. Nicht 63, nicht 128. Der Server ändert die Größe nicht.
- PNG-Format. Tatsächlich PNG, kein umbenanntes JPG.
- Benannt als
server-icon.png, im Server-Root – nebenserver.properties, nicht
innerhalb des Weltordners.
Wenn eine der Vorgaben nicht stimmt, startet der Server normal und zeigt das Standard-Icon an. Nichts wird auf der Standardebene protokolliert.
Dinge, die es ebenfalls kaputt machen
- Interlaced PNG. Einige Editoren speichern standardmäßig interlaced; Minecrafts Reader lehnt dies ab. Exportieren Sie es nicht-interlaced.
- 16-Bit Farbtiefe. Speichern Sie es als 8-Bit pro Kanal.
- Farbprofile. Ein eingebettetes ICC-Profil bringt den Parser gelegentlich zum Stolpern. Entfernen Sie Metadaten beim Export.
- Transparenz ist in Ordnung und wird in der Serverliste korrekt dargestellt.
Der Client speichert es im Cache
Sobald ein Client Ihren Server gesehen hat, behält er das Icon. Der Kostümwechsel (Changing) serverseitig aktualisiert bestehende Einträge nicht – der Spieler (Player) muss den Server entfernen und erneut hinzufügen oder warten, bis der Cache abläuft. Das Testen einer Icon-Änderung von Ihrem eigenen Client aus wird Sie davon überzeugen, dass es nicht funktioniert hat, obwohl es das tat.
Die Management-API
Neuere Server-Versionen stellen eine JSON-RPC-Management-Schnittstelle bereit, die der genehmigte Ersatz für das Parsen von Konsolenausgaben oder das Anbringen eines Plugins ist.
Aktivieren Sie es in server.properties:
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
Sprechen Sie dann JSON-RPC über diesen Port:
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
Die Methoden umfassen die Spielerliste, den Serverstatus, die Whitelist und Ban-Liste, Gamerules, Einstellungen und ein Speicher-/Stopp-Paar. Jede Methode gibt strukturiertes JSON zurück, anstatt einer Textzeile, die Sie mit Regex parsen müssten.
Binden Sie es an localhost
Der Standard ist localhost und sollte dort bleiben. Die Schnittstelle ist nicht dafür gedacht, dem Internet zugewandt zu sein – alles, was sie erreicht, kann Ihren Server stoppen. Stellen Sie sie über einen SSH-Tunnel oder einen Reverse-Proxy mit Authentifizierung bereit, wenn Sie Fernzugriff benötigen, niemals durch Ändern des Hosts auf 0.0.0.0.
Warum es wichtig ist
Dashboards, Discord-Bots und Uptime-Monitore haben historisch durch das Lesen des Konsolenprotokolls oder die Verwendung von RCON funktioniert, beides ist fragil. Eine typisierte API bedeutet, dass ein Spielerzähler-Widget nicht kaputt geht, wenn sich das Format einer Protokollzeile ändert.
Konvertieren Sie jedes Bild in ein konformes server-icon.png und durchsuchen Sie die JSON-RPC-Methoden in den Server Icon & API Tools.