حل خطأ Metin2 "اختفاء خادم MySQL".
عندما ينقطع الاتصال بين ملفات اللعبة (game/db) وقاعدة البيانات (MySQL/MariaDB) على خوادم Metin2 PVP، تظهر شاشة syserr.txt أو PuTTY. "لقد اختفى خادم MySQL" يظهر تحذير (رمز الخطأ: 2006). عند حدوث هذا الخطأ، إما أن الخادم لا يفتح على الإطلاق أو يتم إغلاق القنوات المفتوحة (CH) فجأة. يمكنك اتباع الخطوات أدناه لحل المشكلة بالكامل.
الطريقة الأولى: زيادة حجم الحزمة في ملف `my.cnf` (الحل الأكثر فعالية)
السبب الأكثر شيوعًا لهذا الخطأ هو أن حزمة البيانات التي يحاول خادم اللعبة إرسالها إلى MySQL مرة واحدة (على سبيل المثال، عند تحميل item_proto كبيرة أو بيانات اللاعب) تتجاوز الحد الأقصى الذي يسمح به MySQL. لزيادة الحد:
- اتصل بالخادم الخاص بك باستخدام Filezilla أو WinSCP.
- بشكل عام في البنية التحتية لـ FreeBSD
/var/db/mysql/أو/etc/موجود في الدليل my.cnf قم بتنزيل الملف على جهاز الكمبيوتر الخاص بك وافتحه باستخدام محرر النصوص. - في الملف
[mysqld]أضف أسطر الأوامر التالية تحت العلامة (إن وجدت، قم بتحديث قيمها مثل هذا):max_allowed_packet = 64M wait_timeout = 28800 interactive_timeout = 28800
- احفظ الملف وقم بتحميله مرة أخرى إلى الخادم وأعد تشغيل خدمة MySQL عبر PuTTY باستخدام الأمر التالي:
service mysql restart
الطريقة الثانية: التحقق من إعدادات مهلة قاعدة البيانات
عندما تنخفض كثافة اللاعبين الحالية على الخادم أو عندما تستغرق الاستعلامات داخل اللعبة وقتًا طويلاً، يمكن لـ MySQL إغلاق الاتصالات الخاملة تلقائيًا. عندما تحاول ملفات لعبتك العمل من خلال هذا الاتصال المغلق، فإنها تتلقى هذا الخطأ.
- ما أضفناه في الطريقة الأولى أعلاه
wait_timeoutوinteractive_timeoutتتجنب القيم هذه المشكلة عن طريق تمديد الوقت بالثواني (28800 ثانية = 8 ساعات) الذي تنتظره قاعدة البيانات قبل قطع الاتصال.
الطريقة الثالثة: تنظيف جداول السجل التالفة والمنتفخة
الجداول في قاعدة بيانات السجل في Navicat (على سبيل المثال:log.command_log,log.shout_log) قد وصل إلى أحجام كبيرة جدًا، فقد يتعطل MySQL وينقطع الاتصال أثناء الاستعلام.
- افتح برنامج Navicat و "سجل" تسجيل الدخول إلى قاعدة البيانات.
- انقر بزر الماوس الأيمن على جداول السجل الكبيرة جدًا و جدول فارغ إفراغ الجداول باستخدام خيار (الاقتطاع).
- بعد المعالجة، حدد الجداول بالكامل وانقر بزر الماوس الأيمن صيانة -> تحسين الجداول افعلها.
الطريقة الرابعة: ذاكرة الوصول العشوائي للخادم وعدم كفاية المبادلة
إذا كانت سعة ذاكرة الوصول العشوائي (RAM) لخادم FreeBSD الخاص بك غير كافية، فيمكن لنظام التشغيل إيقاف خدمة MySQL (mysqld) مؤقتًا في الخلفية (عملية القتل) لحماية العمليات ذات الأولوية العالية. عبر المعجونtop -cتحقق من استخدام ذاكرة الوصول العشوائي الخاصة بك عن طريق الكتابة . إذا كانت ذاكرة الوصول العشوائي (RAM) عند الحد الأقصى، فستحتاج إلى ترقية حزمة الخادم الخاص بك أو تقليل أرقام CH غير الضرورية.
تم إعداد هذه المقالة خصيصًا لـ PvPServer.