Вирішення помилки Metin2 «MySQL Server Has Gone Away».
Коли з’єднання між файлами гри (game/db) і базою даних (MySQL/MariaDB) розривається на серверах Metin2 PVP, з’являється екран syserr.txt або Putty. «Сервер MySQL припинив роботу» (Код помилки: 2006) з’являється попередження. Коли виникає ця помилка, сервер або взагалі не відкривається, або відкриті канали (CH) раптово закриваються. Ви можете виконати наведені нижче дії, щоб повністю вирішити проблему.
Спосіб 1: Збільшення розміру пакета у файлі `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
Спосіб 2: перевірка налаштувань часу очікування бази даних
Коли поточна щільність гравців на сервері зменшується або запити в грі займають багато часу, MySQL може автоматично закрити неактивні з’єднання. Коли ваші ігрові файли намагаються працювати через закрите з’єднання, вони отримують цю помилку.
- Те, що ми додали в методі 1 вище
wait_timeoutіinteractive_timeoutзначення дозволяють уникнути цієї проблеми, подовжуючи час у секундах (28800 секунд = 8 годин), протягом якого база даних очікує перед відключенням.
Спосіб 3: Очищення пошкоджених і набряклих журнальних столів
Таблиці в базі даних журналів у Navicat (наприклад:log.command_log,log.shout_log) досягла надмірно великих розмірів, MySQL може аварійно завершити роботу та відключитися під час запиту.
- Відкрийте програму Navicat і "колода" Увійти в базу даних.
- Клацніть правою кнопкою миші надто великі таблиці журналів і Порожній стіл Очистіть таблиці за допомогою параметра (Обрізати).
- Після обробки виділіть таблиці повністю та клацніть правою кнопкою миші Обслуговувати -> Оптимізувати таблиці зробити це.
Спосіб 4. Недостатньо оперативної пам’яті сервера та підкачки
Якщо обсяг оперативної пам’яті вашого сервера FreeBSD недостатній, операційна система може миттєво зупинити службу MySQL (mysqld) у фоновому режимі (операція завершення), щоб захистити процеси з високим пріоритетом. через Puttytop -cПеревірте використання оперативної пам’яті, ввівши . Якщо оперативна пам’ять досягла межі, вам потрібно оновити серверний пакет або зменшити непотрібні номери CH.
Ця стаття спеціально підготовлена для PvPServer.