PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

راه حل خطای Metin2 "MySQL Server Has Gone Away".

Yazdır

راه حل خطای Metin2 "MySQL Server Has Gone Away".

هنگامی که اتصال بین فایل های بازی (بازی/db) و پایگاه داده (MySQL/MariaDB) در سرورهای Metin2 PVP قطع شود، صفحه syserr.txt یا Putty ظاهر می شود. "سرور MySQL از بین رفته است" (کد خطا: 2006) هشدار ظاهر می شود. هنگامی که این خطا رخ می دهد، سرور یا اصلا باز نمی شود یا کانال های باز (CH) به طور ناگهانی بسته می شوند. برای حل کامل مشکل می توانید مراحل زیر را دنبال کنید.

روش 1: افزایش اندازه بسته در فایل my.cnf (موثرترین راه حل)

شایع‌ترین دلیل این خطا این است که بسته داده‌ای که سرور بازی در تلاش برای ارسال یک‌باره به MySQL است (مثلاً هنگام بارگیری یک آیتم_پروتو یا داده بازیکن بزرگ) از حداکثر محدودیتی که MySQL اجازه می‌دهد فراتر رود. برای افزایش حد:

  1. با Filezilla یا WinSCP به سرور خود متصل شوید.
  2. به طور کلی در زیرساخت FreeBSD/var/db/mysql/یا/etc/واقع در دایرکتوری my.cnf فایل را در رایانه خود دانلود کرده و با یک ویرایشگر متن باز کنید.
  3. در پرونده[mysqld]خطوط فرمان زیر را زیر تگ اضافه کنید (در صورت وجود، مقادیر آنها را مانند این به روز کنید):
    max_allowed_packet = 64M
    wait_timeout = 28800
    interactive_timeout = 28800
  4. فایل را ذخیره کرده و دوباره در سرور بارگذاری کنید و سرویس MySQL را از طریق Putty با دستور زیر راه اندازی مجدد کنید:
    service mysql restart

روش 2: بررسی تنظیمات زمان پایان پایگاه داده

وقتی تراکم پخش کننده فعلی در سرور کاهش می یابد یا درخواست های درون بازی زمان زیادی می برد، MySQL می تواند به طور خودکار اتصالات بیکار را ببندد. وقتی فایل های بازی شما سعی می کنند از طریق این اتصال بسته کار کنند، این خطا را دریافت می کنند.

  • آنچه در روش 1 در بالا اضافه کردیمwait_timeoutوinteractive_timeoutمقادیر با افزایش مدت زمانی که پایگاه داده قبل از قطع شدن منتظر می ماند در ثانیه (28800 ثانیه = 8 ساعت) از این مشکل جلوگیری می کند.

روش 3: تمیز کردن جداول چوب آسیب دیده و متورم

جداول در پایگاه داده گزارش در Navicat (مثلا:log.command_log،log.shout_log) به اندازه های بسیار بزرگی رسیده است، MySQL ممکن است از کار بیفتد و در حین پرس و جو قطع شود.

  • برنامه Navicat را باز کنید و "ورود" وارد پایگاه داده شوید.
  • روی جداول log که خیلی بزرگ هستند کلیک راست کنید و میز خالی جداول را با گزینه (Truncate) خالی کنید.
  • پس از پردازش، جداول را به طور کامل انتخاب کرده و کلیک راست کنید Maintain -> Optimize Tables انجامش بده

روش 4: رم سرور و نارسایی سواپ

اگر ظرفیت RAM سرور FreeBSD شما ناکافی باشد، سیستم عامل می تواند به طور لحظه ای سرویس MySQL (mysqld) را در پس زمینه (عملیات کشتن) متوقف کند تا از فرآیندهای با اولویت بالا محافظت کند. از طریق بتونهtop -cمیزان مصرف رم خود را با تایپ کردن بررسی کنید. اگر RAM در حد مجاز است، باید بسته سرور خود را ارتقا دهید یا تعداد CH غیر ضروری را کاهش دهید.


این مقاله به طور ویژه برای PvPServer تهیه شده است.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner