server-icon.png : les exigences exactes et l'API de gestion que personne n'utilise
64x64, PNG, à la racine du serveur — si l'une des trois conditions n'est pas remplie, l'icône n'apparaît pas silencieusement. Plus l'API de gestion JSON-RPC qui a remplacé le "screen-scraping" de la console.
L'icône de serveur est la fonctionnalité la moins tolérante de Minecraft, car chaque mode d'échec est identique : pas d'icône, pas d'erreur.
Trois exigences, toutes obligatoires
- Exactement 64×64 pixels. Pas 63, pas 128. Le serveur ne redimensionne pas.
- Format PNG. Vraiment PNG, pas un JPG renommé.
- Nommé
server-icon.png, à la racine du serveur — à côté deserver.properties, pas
à l'intérieur du dossier du monde.
Si l'une de ces conditions n'est pas remplie, le serveur démarre normalement et affiche l'icône par défaut. Rien n'est enregistré au niveau par défaut.
Autres éléments qui peuvent causer des problèmes
- PNG entrelacé. Certains éditeurs enregistrent par défaut en entrelacé ; le lecteur de Minecraft le rejette. Ré-exportez en non-entrelacé.
- Profondeur de couleur 16 bits. Enregistrez en 8 bits par canal.
- Profils de couleur. Un profil ICC intégré peut occasionnellement perturber l'analyseur. Supprimez les métadonnées à l'exportation.
- La transparence est acceptée et s'affiche correctement dans la liste des serveurs.
Le client la met en cache
Une fois qu'un client a vu votre serveur, il conserve l'icône. Le Changement côté serveur ne met pas à jour les entrées existantes — le Joueur doit supprimer et rajouter le serveur, ou attendre que le cache expire. Tester un Changement d'icône depuis votre propre client vous convaincra que cela n'a pas fonctionné alors que c'était le cas.
L'API de gestion
Les versions récentes du serveur exposent une interface de gestion JSON-RPC, qui est le remplacement approuvé pour l'analyse de la sortie de la console ou l'ajout d'un plugin.
Activez-la dans server.properties :
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
Puis communiquez en JSON-RPC sur ce port :
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
Les méthodes couvrent la liste des Joueurs, le statut du serveur, la liste blanche et la liste des bannissements, les règles de jeu (gamerules), les paramètres, et une paire sauvegarde/arrêt. Chacune renvoie du JSON structuré au lieu d'une ligne de texte que vous devez analyser avec des expressions régulières.
Liez-la à localhost
La valeur par défaut est localhost et elle devrait le rester. L'interface n'est pas destinée à être exposée sur Internet — tout ce qui y accède peut arrêter votre serveur. Exposez-la via un tunnel SSH ou un proxy inverse avec authentification si vous avez besoin d'un accès à distance, jamais en Changeant l'hôte en 0.0.0.0.
Pourquoi c'est important
Les tableaux de bord, les bots Discord et les moniteurs de disponibilité ont historiquement fonctionné en lisant le journal de la console ou en utilisant RCON, qui sont tous deux fragiles. Une API typée signifie qu'un widget de nombre de Joueurs ne se casse pas lorsqu'une ligne de journal Change de format.
Convertissez n'importe quelle image en un server-icon.png conforme et parcourez les méthodes JSON-RPC dans les Outils d'icône de serveur et d'API.