Metin2 "MySQL Server Has Gone Away" hibamegoldás
Ha a játékfájlok (game/db) és az adatbázis (MySQL/MariaDB) közötti kapcsolat megszakad a Metin2 PVP szerverein, megjelenik a syserr.txt vagy a Putty képernyő. "A MySQL szerver eltűnt" (Hibakód: 2006) figyelmeztetés jelenik meg. Amikor ez a hiba előfordul, a szerver vagy egyáltalán nem nyílik meg, vagy a nyitott csatornák (CH) hirtelen bezáródnak. A probléma teljes megoldásához kövesse az alábbi lépéseket.
1. módszer: Csomagméret növelése a "my.cnf" fájlban (leghatékonyabb megoldás)
Ennek a hibának a leggyakoribb oka az, hogy az adatcsomag, amelyet a játékszerver egyszerre próbál elküldeni a MySQL-nek (például egy nagy item_proto vagy játékosadatok betöltésekor), meghaladja a MySQL által megengedett maximális korlátot. A limit növelése:
- Csatlakozzon a szerverhez Filezilla vagy WinSCP segítségével.
- Általában a FreeBSD infrastruktúrában
/var/db/mysql/vagy/etc/címtárban található my.cnf Töltse le a fájlt a számítógépére, és nyissa meg egy szövegszerkesztővel. - fájlban
[mysqld]Adja hozzá a következő parancssorokat a címke alá (ha vannak, frissítse az értékeket a következő módon):max_allowed_packet = 64M wait_timeout = 28800 interactive_timeout = 28800
- Mentse el a fájlt, és töltse vissza a szerverre, és indítsa újra a MySQL szolgáltatást a Putty segítségével a következő paranccsal:
service mysql restart
2. módszer: Az adatbázis időtúllépési beállításainak ellenőrzése
Ha a szerveren lévő játékossűrűség csökken, vagy a játékon belüli lekérdezések sokáig tartanak, a MySQL automatikusan be tudja zárni a tétlen kapcsolatokat. Amikor játékfájljai ezen a zárt kapcsolaton keresztül próbálnak működni, ezt a hibát kapják.
- Amit a fenti 1. módszerben hozzáadtunk
wait_timeoutésinteractive_timeoutAz értékek elkerülik ezt a problémát azáltal, hogy meghosszabbítják azt az időt másodpercben (28800 másodperc = 8 óra), ameddig az adatbázis vár a leválasztás előtt.
3. módszer: Sérült és duzzadt rönkasztalok tisztítása
Táblázatok a Navicat naplóadatbázisában (pl.:log.command_log,log.shout_log) túl nagy méreteket ért el, a MySQL összeomolhat és megszakadhat a lekérdezés során.
- Nyissa meg a Navicat programot és "napló" Jelentkezzen be az adatbázisba.
- Kattintson a jobb gombbal a túl nagy naplótáblákra és Üres asztal Ürítse ki a táblákat a (Csonkítás) opcióval.
- A feldolgozás után válassza ki a táblázatokat teljesen, és kattintson a jobb gombbal Karbantartás -> Táblázatok optimalizálása csináld meg.
4. módszer: Szerver RAM és cserehiány
Ha a FreeBSD szerver RAM kapacitása nem elegendő, az operációs rendszer egy pillanatra leállíthatja a MySQL szolgáltatást (mysqld) a háttérben (Kill művelet), hogy megvédje a magas prioritású folyamatokat. a Puttyon keresztültop -cEllenőrizze a RAM-használatot a következő beírásával. Ha a RAM a korláton van, frissítenie kell a kiszolgálócsomagot, vagy csökkentenie kell a felesleges CH-számot.
Ez a cikk kifejezetten a PvPServer számára készült.