Řešení chyby "Core Dumped" na serverech Metin2
Jedna z chyb, kterých se správci serveru Metin2 PVP nejvíce bojí a která způsobuje náhlé uzavření kanálů (CH) "Jádro vyhozeno" (Core Crash) přichází. K této chybě dochází, když se server sám vypne v důsledku zjištění chybného kódu, který nemůže zpracovat v paměti (RAM), neplatného databázového dotazu nebo poškozeného souboru. Níže naleznete postup, jak tento problém vyřešit krok za krokem.
Krok 1: Zjištění, který soubor havaroval
Když se zobrazí chyba Core dumped, server se umístí do havarované složky.game.corenebodb.coreZanechá velký soubor s názvem . Nejprve musíme najít zdroj problému:
- Připojte se k serveru pomocí Filezilla a přejděte do adresáře, kde jsou umístěny kanály (např.
/usr/game/cores/channel1). - ve složce game.core Pokud soubor vidíte, je chyba způsobena systémem ve hře (zdrojové kódy C++ nebo použití nesprávné mapy/položky).
- pokud
/usr/game/cores/dbv db.core Pokud to vidíte, problém je zcela způsoben poškozenou tabulkou nebo nesprávným protokolem v databázi Navicat.
Krok 2: Zachycení chybného výstupu Syserr
Chyba Core Dumped zanechá kritický protokol v souboru syserr.txt přesně ve chvíli, kdy nastane. Chcete-li vyřešit chybu:
- Ve složce, která dává výpis jádra (Příklad: kanál1) syserr Otevřete soubor.
- Přechod na spodní řádky souboru
CRASH,Segmentation FaultneboAssertion failedHledejte slova. - Zde zapsaný název funkce nebo kód položky vám přímo ukáže, který systém havaroval server. Zkontrolujte deaktivací posledního systému nebo úkolu, který jste přidali.
Krok 3: Analýza základního souboru pomocí GDB (technická metoda)
Pokud v souboru syserr není nic zapsáno, můžete použít GDB (GNU Debugger) na FreeBSD k nalezení řádku kódu C++, který způsobuje selhání:
- Přes Putty zadejte adresář, kde došlo k havárii:
cd /usr/game/cores/channel1 - Spusťte ladicí program spuštěním následujícího příkazu v terminálu:
gdb game game.core - Po otevření příkazového řádku se objeví na obrazovce
btnebowhereZadejte jej a stiskněte Enter. - V seznamu, který se objeví na obrazovce, soubor zdrojového kódu a číslo řádku, který způsobil chybu (např.:
char_item.cpp:1452) budou uvedeny. Měli byste znovu sestavit opravou tohoto řádku v sekci Zdroj.
Krok 4: Zkontrolujte běžné chyby
Pokud jste v poslední době neprovedli žádné změny kódu, zkontrolujte tyto dva případy:
- Korupce stolu: Tabulky v databázi přehrávače Navicat mohou být poškozeny. Výběr všech tabulek a kliknutí pravým tlačítkem Údržba -> Tabulky oprav -> Rozšířené udělej to.
- Přetečení zásobníku: Chyba vytvořená hráči (např. neomezený cheat, pet bug) může nafouknout paměť serveru a způsobit dumping jádra. Používejte aktuální ochranné infrastruktury (Guard).
Tento článek je speciálně připraven pro PvPServer.