كيفية حل مشاكل تصحيح وتحديث الحزمة للعميل Metin2؟
دليل تفصيلي لمشاكل ملف patcher وpack وroot وlocal وملف العميل القديم.
على خوادم Metin2، يجب أن تصل التغييرات التي يتم إجراؤها من جانب العميل إلى اللاعبين بشكل صحيح. عندما يتم تحديث ملفات الجذر أو الإعدادات المحلية أو uiscript أو الأيقونة أو item_proto أو mob_proto أو الخريطة أو التأثير، قد تحدث حالات عدم توافق خطيرة إذا دخل اللاعب إلى اللعبة بالملفات القديمة.
إذا كان برنامج التصحيح لا يعمل، أو إذا لم يتم تنزيل الملف، أو إذا كان اللاعبون يقومون بتسجيل الدخول باستخدام الحزمة القديمة، أو إذا كان لدى بعض اللاعبين أخطاء ولكن لا يوجد لدى البعض الآخر، فإن المشكلة عادة ما تكون في نظام تحديث العميل.
1. أعراض مشكلة التصحيح
- لا تظهر أيقونات العناصر الجديدة للاعبين.
- يعاني بعض اللاعبين من إيقاف تشغيل العميل، والبعض الآخر لا يواجه ذلك.
- لا ينعكس تغيير الواجهة الجديدة في المشغل.
- الخريطة الجديدة لا تفتح لبعض اللاعبين.
- لا يقوم برنامج Patcher بتنزيل الملفات أو يعطي خطأ.
- على الرغم من تحديث الجذر، تعمل اللعبة بملف Python القديم.
- تظهر أخطاء ملف الحزمة المفقودة في syserr العميل.
2. ما هي الملفات التي يجب تحديثها؟
تختلف ملفات الحزمة التي تحتاج إلى تحديث وفقًا للتغييرات التي تم إجراؤها.
- تغيير واجهة بايثون: com.rootpack
- ترجمة النصوص والواجهة: حزمة محلية
- رمز العنصر الجديد: حزمة الأيقونات و item_list
- عنصر جديد/الغوغاء: العميل item_proto، mob_proto، ملفات الأيقونات/النماذج
- خريطة جديدة: حزمة الخرائط، atlasinfo، ملفات التضاريس/الممتلكات
- تأثير جديد: ملفات التأثير وتعريفات التأثير
قد لا يكون تحديث ملف واحد فقط كافيًا. على سبيل المثال، عند إضافة عنصر جديد، يجب أن يكون كل من ملفات الخادم item_proto والعميل item_proto وitem_list وملفات الأيقونات متوافقة.
3. هل يستخدم اللاعب العميل الحالي بالفعل؟
الفحص الأول هو ما إذا كان اللاعب قد تلقى تصحيحًا محدثًا. بينما يرى المطور أن الملف تم تحديثه في عميله، يمكن للاعبين الاستمرار في تسجيل الدخول باستخدام الملف القديم.
الأشياء التي يجب التحقق منها:
- هل قام Patcher بتنزيل الملف الجديد؟
- هل تاريخ الملف الموجود في مجلد الحزمة هو الحالي؟
- هل يقوم اللاعب بتخطي الباتشر والدخول مباشرة بالملف exe؟
- هل يمكن استخدام مجلد العميل القديم؟
- هل تم تحديث الملف بالفعل على خادم التصحيح؟
- هل يمكن أن تقوم ذاكرة التخزين المؤقت أو CDN بإعطاء الملف القديم؟
4. فحص قائمة التصحيح أو ملف الإصدار
تعمل أنظمة Patcher بشكل عام من خلال قائمة التصحيح أو ملف الإصدار أو قائمة تجزئة الملف. إذا لم يتم تحديث قائمة التصحيح على الرغم من تحديث الملف، فقد لا يقوم برنامج التصحيح بتنزيل الملف الجديد.
منطق التحكم العام:
- هل تمت إضافة ملف الحزمة المحدث إلى قائمة التصحيح؟
- هل حجم الملف صحيح؟
- هل تم تحديث قيمة التجزئة أو CRC؟
- هل تم زيادة رقم الإصدار؟
- هل يتوافق مسار الملف مع تنسيق patcher؟
قد تختلف البنية الأساسية لبرنامج Patcher على كل خادم. لذلك، بأخذ سطر ملف عمل موجود كمثال، يجب تحرير سطر الملف الجديد بنفس التنسيق.
5. هل تغير ملف الحزمة بالفعل؟
في بعض الأحيان يتم تحرير الملف في المجلد المصدر ولكن لا تتم إعادة تجميع ملف الحزمة. في هذه الحالة، يعتقد المطور أنه قام بإجراء تغيير، لكن العميل لا يزال يستخدم محتوى الحزمة القديم.
قائمة التحقق:
- هل تم بالفعل إعادة تجميع الجذر أو اللغة؟
- هل تم نسخ الملف المعبأ إلى مجلد العميل الصحيح؟
- هل الملف الموجود على خادم التصحيح قديم أم جديد؟
- هل يقوم Patcher بكتابة الملف الذي تم تنزيله إلى الموقع الصحيح؟
- هل يُظهر ملف فهرس الحزمة الملف الجديد؟
6. ماذا يحدث إذا قام اللاعبون بتخطي برنامج التصحيح؟
يمكن لبعض اللاعبين تشغيل ملف exe الخاص بالعميل مباشرة بدلاً من ملف patcher. في هذه الحالة، لا يتلقون تحديثات ويحاولون الدخول إلى اللعبة بملفات قديمة.
ونتيجة لذلك:
- لا تظهر عناصر جديدة.
- لن يتم فتح الخرائط الجديدة.
- واجهات بايثون تعطي أخطاء.
- يحدث عدم توافق بروتو بين العميل والخادم.
- تعمل أنظمة معينة مع بعض اللاعبين وليس مع آخرين.
على الخوادم الاحترافية، يجب منع سلوك تجاوز برنامج patcher أو التحكم في إصدار العميل.
7. اكتشاف مشكلات التصحيح مع Client Syserr
في إخطارات الخطأ الواردة من اللاعب، يجب أن يكون العميل syserr.txt ينبغي طلب الملف.
في حالة نقص التصحيح، قد تحدث الأخطاء التالية:
CANNOT_FIND_PACK_FILE Failed to load image No such file or directory LoadScriptFile Error Traceback File "uiInventory.py"
إذا كان هناك خطأ في الملف المفقود في ملف syserr الخاص بالمشغل، فمن المحتمل أن برنامج التصحيح لم يقم بتنزيل هذا الملف أو ربما لم تتم إضافة الملف إلى الحزمة.
8. كيفية إجراء اختبار العميل النظيف؟
يجب إجراء اختبار العميل النظيف لفهم أن التحديث يتم توزيعه بشكل صحيح بالفعل.
- لا تستخدم مجلد العميل القديم.
- احصل على نسخة نظيفة من العميل.
- قم بتشغيل برنامج التصحيح من الصفر.
- تأكد من تنزيل كافة الملفات.
- قم بتسجيل الدخول إلى اللعبة واختبار النظام المحدث.
- تحقق من ملف العميل syserr.txt.
إذا كان يعمل على عميل نظيف ولكنه لا يعمل على المشغل، فيجب اعتبار أن اللاعب لم يتلق تصحيحًا أو أنه يستخدم عميلًا قديمًا.
9. إذا كنت تستخدم CDN أو ذاكرة التخزين المؤقت
إذا كانت ملفات التصحيح موجودة خلف CDN أو ذاكرة تخزين مؤقت، فقد يستمر عرض الملفات القديمة لفترة من الوقت. في هذه الحالة، حتى إذا كان الملف محدثًا على خادم التصحيح، فيمكن للاعب تنزيل الملف القديم.
كحل:
- يجب مسح ذاكرة التخزين المؤقت لـ CDN.
- يمكن تغيير اسم الملف أو رقم الإصدار.
- يجب تحديث قيمة تجزئة قائمة التصحيح.
- يجب التحقق من حجم الملف الذي تم تنزيله بواسطة المشغل.
الأخطاء الشائعة
- نسيان تعديل وحزم الملف الجذر
- عدم تحديث قائمة التصحيح أو قيمة التجزئة
- السماح للاعبين بتجاوز برنامج patcher والدخول عبر exe
- عدم إجراء اختبار العميل النظيف
- عدم إدراك أنه يتم توزيع الملفات القديمة بسبب ذاكرة التخزين المؤقت لـ CDN
- تخطي تحديث حزمة العميل أثناء تحديث الخادم
الأسئلة الشائعة
إنه يعمل معي ولكنه لا يعمل مع اللاعبين، لماذا؟
ربما كنت تستخدم عميلاً محدثًا. ربما تلقى اللاعبون حزمة قديمة أو جذرًا قديمًا أو رقعة مفقودة.
لقد قمت بإضافة عنصر جديد، بعض اللاعبين ليس لديهم أيقونة. ما هو السبب؟
قد لا يكون الرمز الجديد أو item_list أو العميل item_proto محدثًا على عميل اللاعبين.
لا يقوم برنامج Patcher بتنزيل الملفات، ما الذي يجب علي التحقق منه؟
يجب التحقق من قائمة التصحيح ومسار الملف والتجزئة/CRC ورقم الإصدار والوصول إلى خادم الويب وذاكرة التخزين المؤقت لـ CDN.
توصيات العملية
- إجراء اختبار نظيف للعميل بعد كل تحديث للعميل.
- تحقق من قائمة التصحيح وتجزئات الملف بانتظام.
- استخدم التحكم في الإصدار لمنع اللاعبين من تجاوز برنامج التصحيح.
- قم بتخطيط التغييرات الجذرية والإعدادات المحلية والبدائية معًا.
- افحص ملفات syserr.txt المستلمة من اللاعبين بعد التحديث.
تم إعداد هذه المقالة خصيصًا لـ PvPServer.