server-icon.png: de exacte vereisten, en de beheer-API die niemand gebruikt
64x64, PNG, in de serverhoofdmap — doe een van de drie verkeerd en het icoon verschijnt geruisloos niet. Plus de JSON-RPC-beheer-API die het screen-scrapen van de console verving.
Het servericoon is de minst vergevingsgezinde kleine functie in Minecraft, omdat elke fout er hetzelfde uitziet: geen icoon, geen foutmelding.
Drie vereisten, allemaal verplicht
- Precies 64×64 pixels. Geen 63, geen 128. De server past het formaat niet aan.
- PNG-formaat. Echt PNG, geen hernoemde JPG.
- Genaamd
server-icon.png, in the server root — naastserver.properties, not
in de wereldmap.
Doe er één verkeerd en de server start normaal op en toont het standaardicoon. Er wordt standaard niets gelogd.
Dingen die het ook stukmaken
- Interlaced PNG. Sommige bewerkers slaan standaard interlaced op; Minecrafts lezer weigert
het. Exporteer opnieuw als niet-interlaced.
- 16-bits kleurdiepte. Sla op als 8-bits per kanaal.
- Kleurprofielen. Een ingesloten ICC-profiel laat de parser soms struikelen. Verwijder
metadata bij het exporteren.
- Transparantie is prima en wordt correct weergegeven in de serverlijst.
De client slaat het op in de cache
Zodra een client je server heeft gezien, bewaart deze het icoon. Het aanpassen aan de serverzijde werkt bestaande invoeren niet bij — de speler moet de server verwijderen en opnieuw toevoegen, of wachten tot de cache verloopt. Het testen van een icoonwijziging vanaf je eigen client zal je doen geloven dat het niet werkte terwijl dat wel zo was.
De beheer-API
Recente serverversies bieden een JSON-RPC beheerinterface, wat de officiële vervanging is voor het parsen van console-uitvoer of het toevoegen van een plug-in.
Schakel het in via server.properties:
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
Communiceer vervolgens via JSON-RPC over die poort:
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
Methoden omvatten de spelerslijst, serverstatus, allowlist en banlijst, gamerules, instellingen en een save/stop-paar. Elk retourneert gestructureerde JSON in plaats van een regel tekst waar je regex op moet loslaten.
Koppel het aan localhost
De standaardwaarde is localhost and it should stay there. The interface is niet bedoeld voor toegang via het internet — alles wat het bereikt kan je server stoppen. Stel het bloot via een SSH-tunnel of een reverse proxy met authenticatie als je externe toegang nodig hebt, nooit door de host te wijzigen in 0.0.0.0.
Waarom het belangrijk is
Dashboards, Discord-bots en uptime-monitors werkten historisch gezien door het consolelogboek te lezen of via RCON, wat beide kwetsbaar is. Een getypeerde API zorgt ervoor dat een widget voor het aantal spelers niet kapotgaat wanneer de opmaak van een logregel verandert.
Converteer elke afbeelding naar een conforme server-icon.png and browse the JSON-RPC methods in the Servericoon- & API-hulpmiddelen.