حل خطأ "Core Dumped" على خوادم Metin2
من أكثر الأخطاء التي يخشاها مسؤولو خادم Metin2 PVP والتسبب في إغلاق مفاجئ للقنوات (CH) "الأساسية ملقاة" (تحطم الأساسية) يأتي. يحدث هذا الخطأ عندما يقوم الخادم بإيقاف تشغيل نفسه نتيجة لمواجهة رمز خاطئ لا يمكنه معالجته في الذاكرة (RAM)، أو استعلام قاعدة بيانات غير صالح، أو ملف تالف. أدناه يمكنك العثور على كيفية حل هذه المشكلة خطوة بخطوة.
الخطوة 1: اكتشاف الملف الذي تعطل
عندما تحصل على خطأ تفريغ Core، يتم وضع الخادم في المجلد المعطل.game.coreأوdb.coreويترك ملفًا كبيرًا باسم . نحتاج أولاً إلى العثور على مصدر المشكلة:
- اتصل بالخادم الخاص بك باستخدام Filezilla وانتقل إلى الدليل الذي توجد به القنوات (على سبيل المثال:
/usr/game/cores/channel1). - في المجلد game.core إذا رأيت الملف، فهذا يعني أن الخطأ ناتج عن نظام داخل اللعبة (رموز مصدر C++ أو استخدام خريطة/عنصر غير صحيح).
- إذا
/usr/game/cores/dbفي db.core إذا رأيت ذلك، فهذا يعني أن سبب المشكلة هو وجود جدول تالف أو إدخال أولي غير صحيح في قاعدة بيانات Navicat.
الخطوة 2: التقاط مخرجات Syserr الخاطئة
يترك خطأ Core Dumped سجلاً هامًا في ملف syserr.txt في نفس اللحظة التي يحدث فيها. لحل الخطأ:
- في المجلد الذي يعطي النواة الملقاة (على سبيل المثال: القناة 1) syserr افتح الملف.
- الذهاب إلى الأسطر السفلية للملف
CRASH,Segmentation FaultأوAssertion failedابحث عن الكلمات. - سيُظهر لك اسم الوظيفة أو رمز العنصر المكتوب هنا مباشرةً النظام الذي تسبب في تعطل الخادم. تحقق من خلال تعطيل آخر نظام أو مهمة قمت بإضافتها.
الخطوة 3: تحليل الملف الأساسي باستخدام GDB (الطريقة التقنية)
إذا لم تتم كتابة أي شيء في ملف syserr، فيمكنك استخدام GDB (GNU Debugger) على FreeBSD للعثور على سطر كود C++ الذي يسبب العطل:
- أدخل الدليل الذي حدث فيه العطل عبر المعجون:
cd /usr/game/cores/channel1 - ابدأ تشغيل مصحح الأخطاء عن طريق تشغيل الأمر التالي في الوحدة الطرفية:
gdb game game.core - عند فتح سطر الأوامر، يظهر على الشاشة
btأوwhereاكتبه واضغط على Enter. - في القائمة التي ستظهر على الشاشة، ملف التعليمات البرمجية المصدر ورقم السطر الذي تسبب في الخطأ (على سبيل المثال:
char_item.cpp:1452) سيتم سردها. يجب عليك إعادة البناء عن طريق تصحيح هذا السطر في قسم المصدر.
الخطوة 4: مراجعة الأخطاء الشائعة
إذا لم تقم بإجراء أي تغييرات على التعليمات البرمجية مؤخرًا، فتحقق من هاتين الحالتين:
- فساد الجدول: قد تكون الجداول الموجودة في قاعدة بيانات مشغل Navicat تالفة. تحديد جميع الجداول والنقر بزر الماوس الأيمن صيانة -> إصلاح الجداول -> ممتدة افعلها.
- تجاوز سعة المكدس: قد يؤدي الخطأ الذي يرتكبه اللاعبون (على سبيل المثال، الغش غير المحدود، خطأ الحيوانات الأليفة) إلى تضخم ذاكرة الخادم والتسبب في إغراق النواة. استخدام بنيات تحتية للحماية محدثة (Guard).
تم إعداد هذه المقالة خصيصًا لـ PvPServer.