server-icon.png: المتطلبات الدقيقة، وواجهة برمجة تطبيقات الإدارة التي لا يستخدمها أحد
64x64، PNG، في جذر الخادم — إذا أخطأت في أي من هذه الثلاثة، فلن يظهر الرمز بصمت. بالإضافة إلى واجهة برمجة تطبيقات إدارة JSON-RPC التي حلت محل تحليل شاشة الكونسول.
أيقونة الخادم هي الميزة الصغيرة الأقل تسامحًا في Minecraft، لأن كل وضع فشل يبدو متطابقًا: لا توجد أيقونة، ولا يوجد خطأ.
ثلاثة متطلبات، كلها إلزامية
- بالضبط 64×64 بكسل. ليست 63، وليست 128. الخادم لا يغير الحجم.
- صيغة PNG. يجب أن تكون PNG بالفعل، وليست JPG أعيد تسميتها.
- اسمها
server-icon.png، في جذر الخادم — بجانبserver.properties، وليس داخل مجلد العالم.
إذا أخطأت في أي منها، سيبدأ الخادم بشكل طبيعي ويعرض الأيقونة الافتراضية. لا يتم تسجيل أي شيء على المستوى الافتراضي.
أشياء أخرى تتسبب في تعطيلها
- صورة PNG متداخلة (Interlaced PNG). بعض المحررات تحفظ الصور المتداخلة افتراضيًا؛ قارئ Minecraft يرفضها. أعد التصدير كصورة غير متداخلة.
- عمق الألوان 16 بت. احفظها كـ 8 بت لكل قناة.
- ملفات تعريف الألوان (Colour profiles). ملف تعريف ICC المضمن يعطل المحلل أحيانًا. قم بإزالة البيانات الوصفية عند التصدير.
- الشفافية مقبولة وتظهر بشكل صحيح في قائمة الخوادم.
العميل يخزنها مؤقتًا
بمجرد أن يرى العميل خادمك، فإنه يحتفظ بالأيقونة. تغييرها من جانب الخادم لا يحدث تحديثًا للإدخالات الموجودة — يجب على اللاعب إزالة الخادم وإعادة إضافته، أو الانتظار حتى تنتهي صلاحية ذاكرة التخزين المؤقت. اختبار تغيير الأيقونة من عميلك الخاص سيقنعك بأنها لم تعمل بينما هي في الواقع قد عملت.
واجهة برمجة تطبيقات الإدارة (management API)
تعرض إصدارات الخادم الحديثة واجهة إدارة JSON-RPC، وهي البديل المعتمد لتحليل مخرجات الكونسول أو تثبيت إضافة (plugin).
قم بتمكينها في server.properties:
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
ثم تحدث JSON-RPC عبر هذا المنفذ:
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
تغطي الطرق قائمة اللاعبين، وحالة الخادم، وقائمة السماح والحظر، وقواعد اللعبة (gamerules)، والإعدادات، وزوج الحفظ/الإيقاف. تعيد كل منها JSON منظمًا بدلاً من سطر نصي يجب عليك استخدام التعبيرات النمطية (regex) معه.
اربطها بـ localhost
الافتراضي هو localhost ويجب أن يبقى كذلك. الواجهة ليست مخصصة لمواجهة الإنترنت — أي شيء يصل إليها يمكنه إيقاف خادمك. قم بتعريضها عبر نفق SSH أو وكيل عكسي مع مصادقة إذا كنت بحاجة إلى الوصول عن بعد، ولا تقم أبدًا بتغيير المضيف إلى 0.0.0.0.
لماذا يهم هذا
كانت لوحات التحكم، وروبوتات Discord، ومراقبات وقت التشغيل تعمل تاريخيًا عن طريق قراءة سجل الكونسول أو استخدام RCON، وكلاهما هش. تعني واجهة برمجة التطبيقات المكتوبة أن أداة عرض عدد اللاعبين لا تتعطل عندما يتغير تنسيق سطر السجل.
حوّل أي صورة إلى server-icon.png متوافق وتصفح طرق JSON-RPC في أيقونة الخادم وأدوات واجهة برمجة التطبيقات.