
Better Ping Display [Fabric] — Minecraft Java Edition 1.15.2 - 1.21.11+
التبعيات: · المُحمِّل: Fabric, Quilt · إصدار Minecraft: 1.15.2 - 1.21.11+ · إصدار المود: 1.2.0 · التبعيات الإلزامية: Fabric API تعرض واجهة…
التبعيات: · المُحمِّل: Fabric, Quilt · إصدار Minecraft: 1.15.2 - 1.21.11+ · إصدار المود: 1.2.0 · التبعيات الإلزامية: Fabric API تعرض واجهة Minecraft القياسية زمن استجابة اتصال اللاعبين في قائمة الشبكة (مفتاح TAB ) على ش
التبعيات:
· المُحمِّل: Fabric, Quilt
· إصدار Minecraft: 1.15.2 - 1.21.11+
· إصدار المود: 1.2.0
· التبعيات الإلزامية: Fabric API
تعرض واجهة Minecraft القياسية زمن استجابة اتصال اللاعبين في قائمة الشبكة (مفتاح TAB) على شكل أيقونة رسومية من خمسة أعمدة عمودية. هذا النهج لا يوفر معلومات دقيقة عن استقرار الاتصال، إذ يمكن أن تقابل الأيقونة نفسها زمن استجابة قدره 80 ميلي ثانية أو 140 ميلي ثانية. وفي اللعب التنافسي ومعارك PvP أو أثناء إدارة خوادم ألعاب كبيرة، تكون قراءات البينغ الدقيقة بالغة الأهمية. تحل تعديلة Better Ping Display [Fabric] هذه المشكلة عبر استبدال الأشرطة الرسومية المجردة بقيمة رقمية دقيقة لزمن الاستجابة بالميلي ثانية مباشرةً في قائمة اللاعبين.
مبدأ العمل التقني وقيود العرض القياسي لزمن الاستجابة
لنقل معلومات البينغ، يرسل خادم Minecraft حزم تحديث قائمة اللاعبين (في الإصدارات الحديثة من اللعبة تتولى ذلك الحزمة ClientboundPlayerInfoUpdatePacket). يحتوي كل سجل في الحزمة على معامل عددي صحيح لزمن الاستجابة (latency) مُعبَّر عنه بالميلي ثانية. يستقبل الجزء الخاص بالعميل من اللعبة هذه البيانات ويخزنها في الذاكرة كخاصية للكائن PlayerInfo (المعروف في الإصدارات المبكرة باسم NetworkPlayerInfo).
أثناء عرض قائمة اللاعبين على الشاشة، يمر صنف الواجهة الأصلي PlayerListHud (أو PlayerTabOverlay في تعيينات Yarn) على جميع المستخدمين المتصلين ويحدد مستوى زمن الاستجابة. يتولى عرض الأيقونة الميثود الداخلي renderLatencyIcon (أو renderPingIcon). يقارن هذا الميثود العدد الصحيح من الميلي ثانية بعتبات ثابتة:
· القيمة الأقل من 0 تعرض أيقونة انقطاع الاتصال (صليب أحمر).
· القيمة الأقل من 150 ميلي ثانية تقابل الأعمدة الخمسة القصوى.
· النطاق من 150 إلى 299 ميلي ثانية يعرض أربعة أعمدة.
· النطاق من 300 إلى 599 ميلي ثانية يُظهر ثلاثة أعمدة.
· النطاق من 600 إلى 999 ميلي ثانية يعرض عمودين.
· زمن الاستجابة ابتداءً من 1000 ميلي ثانية يعرض عموداً واحداً.
وبهذا تُهمَل القيم الرقمية الدقيقة مباشرةً قبل عرضها على الشاشة، ويُرسَم بدلاً منها السبرايت المقابل من ملف الكساءات icons.png.
يُدخِل Better Ping Display تغييرات على هذه العملية باستخدام نظام Mixin. يُعدِّل صنف الحقن سلوك PlayerListHud لحظة رسم صف كل لاعب. يعترض التعديل استدعاء رسم الأعمدة الرسومية ويمنع تنفيذه (أو ينفذه بالتوازي حسب الإعدادات). وبدلاً من ذلك يُنفَّذ استدعاء للحصول على القيمة الدقيقة لـ latency عبر الكائن PlayerInfo. ثم يمرر المود هذا العدد إلى عارض النصوص الخاص بالعميل Font، الذي يرسم الرموز ديناميكياً على الشاشة مع مراعاة النمط المُهيَّأ وتموضع عناصر الواجهة.
الوظائف الأساسية: العرض الرقمي ومقياس الألوان والأعمدة الرسومية
يوسّع المود معلوماتية واجهة إحصائيات الشبكة عبر الإمكانات الوظيفية التالية:
· مؤشر رقمي بالوقت الفعلي: يعرض قيمة زمن الاستجابة الدقيقة بالميلي ثانية. يرى اللاعب الحالة الفعلية لاتصال كل مشارك دون الحاجة إلى تمرير المؤشر أو إدخال أوامر تشخيصية في الدردشة.
· التلوين الآلي: يلوّن التعديل افتراضياً نص البينغ تبعاً لجودة الاتصال. يُبرَز زمن الاستجابة المنخفض (أقل من 100 ميلي ثانية) باللون الأخضر، ويأخذ المتوسط (من 100 إلى 299 ميلي ثانية) لوناً أصفر أو برتقالياً، بينما يُلوَّن زمن الاستجابة العالي (من 300 ميلي ثانية فأكثر) باللون الأحمر. يساعد ذلك على اكتشاف اللاعبين ذوي الاتصال غير المستقر فوراً.
· وضع العرض المدمج: يمكن للمستخدم تفعيل العرض المتزامن للقيم الرقمية ولأشرطة البينغ الأصلية. في هذه الحالة يُرسَم النص على يسار الأيقونة الرسومية، مع الحفاظ على النمط البصري المعتاد لـ Minecraft.
· معمارية العميل: يعمل التعديل على جانب العميل بحت. لا يتطلب التثبيت على الخادم ولا يرسل إليه أي طلبات إضافية. يقرأ المود فقط معلومات حركة المرور التي يرسلها خادم Minecraft افتراضياً إلى جميع العملاء المتصلين. وبفضل ذلك يعمل Better Ping Display على أي خوادم، بما في ذلك خوادم Realms الرسمية والخوادم العامة التي لا تدعم التعديلات.
الإعدادات والتوافق والمنظومة
تُهيَّأ معاملات العرض عبر تحرير الملف betterpingdisplay.json، الذي يُنشأ تلقائياً في الدليل config بعد أول تشغيل للعبة. يحتوي الملف على الإعدادات التالية:
· autoColorPingText – علم منطقي (true/false). في حالة القيمة true يتغير لون البينغ تلقائياً من الأخضر إلى الأحمر حسب سرعة الاتصال. وإذا حُدِّدت false يصبح اللون ثابتاً ويُحدَّد بالمعامل التالي.
· pingTextColor – حقل نصي لتعيين رمز اللون الست عشري (مثلاً #A0A0A0 للرمادي الفاتح). يُستخدم هذا اللون فقط عندما يكون التلوين الآلي معطلاً.
· renderPingBars – علم منطقي يتحكم في عرض أعمدة زمن الاستجابة الأصلية القياسية بجوار المؤشر الرقمي.
· pingTextFormatString – سلسلة تنسيق النص. القيمة الافتراضية هي %dms، حيث يكون الرمز %d علامة تقنية إلزامية تُستبدل أثناء العرض بعدد الميلي ثانية الحالي لزمن الاستجابة.
في إصدار المود 1.2.0 والأحدث ظهر دعم لواجهة رسومية للإعدادات مباشرةً في قائمة اللعبة. للوصول إلى قائمة التهيئة المرئية في قائمة التعديلات، يلزم تثبيت مكوّنين مساعدين إضافيين: مكتبة YetAnotherConfigLib (YACL) ومود Mod Menu. وبوجودهما تظهر في اللعبة نافذة مريحة بمفاتيح وأشرطة تمرير لتغيير معاملات Better Ping Display.
التعديل متوافق مع معظم مُحسِّنات العميل (مثل Sodium, Lithium, FerriteCore) والتحسينات الرسومية (Iris Shaders). ولا يسبب تعارضات أثناء اللعب على خوادم ذات إضافات مخصصة لقوائم اللاعبين، إذ يغيّر فقط مرحلة العرض المحلي على العميل دون التأثير على بنية حزم الشبكة.
المعامل | القيمة | الوصف |
| TRUE | تلوين النص تلقائياً. إذا كان مُفعَّلاً (true)، يتغير لون الأرقام تلقائياً حسب جودة الاتصال (مثلاً الأخضر للبينغ المنخفض، والأحمر للعالي). |
| FALSE | عرض أشرطة البينغ. يحدد ما إذا كان سيُعرَض أشرطة (أعمدة) جودة الاتصال الأصلية القياسية. وهنا تكون معطلة (false) لإفساح المجال للنص. |
| "#A0A0A0" | لون النص. لون العرض الثابت (بصيغة رمز HEX، وهنا رمادي فاتح). يُطبَّق في حال تعطيل التلوين الآلي (autoColorPingText). |
| "%dms" | تنسيق العرض. قالب لعرض النص على الشاشة. يُستبدَل المتغير %d تلقائياً بالقيمة الرقمية الحالية لبينغك، وتُضيف ms اللاحقة "ميلي ثانية" (تظهر النتيجة على شكل "45ms"). |
الخلاصة
Better Ping Display [Fabric] هو تعديل عميل مدمج وفعّال يصحّح عيباً جوهرياً في قائمة لاعبي Minecraft القياسية. وعلى خلاف الحلول المماثلة مثل Numeral Ping أو Ping Display، يتميز هذا المود بتكامل بسيط مع مكتبة YACL لضبط المعاملات داخل اللعبة مباشرةً ويسمح بالإبقاء على أيقونات زمن الاستجابة الأصلية. والقيد الرئيسي هو اعتماد معدل تحديث الأرقام على إعدادات الخادم نفسه (افتراضياً يرسل خادم Minecraft تحديث إحصائيات البينغ مرة كل بضع ثوانٍ، لذا لن تظهر التقلبات اللحظية لزمن الاستجابة فوراً). يناسب المود تماماً لاعبي الأوضاع الشبكية ومسؤولي الخوادم الذين يحتاجون إلى تحكّم واضح في معاملات الشبكة دون عبء إضافي على النظام.
التثبيت
التثبيت النموذجي يستغرق حوالي 5 دقائق. الخطوات نفسها؛ يختلف فقط المُحمّل والبناء المطابق.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











