Løsning på "Core Dumped"-fejl på Metin2-servere
En af de fejl, der er mest frygtet af Metin2 PVP-serveradministratorer og forårsager pludselig lukning af kanaler (CH) "Kerne dumpet" (Core Crash) kommer. Denne fejl opstår, når serveren selv lukker ned som følge af at støde på en defekt kode, som den ikke kan behandle i hukommelsen (RAM), en ugyldig databaseforespørgsel eller en korrupt fil. Nedenfor kan du finde, hvordan du løser dette problem trin for trin.
Trin 1: Registrering af hvilken fil, der gik ned
Når du får Core dumped-fejlen, placeres serveren i den nedbrudte mappe.game.coreellerdb.coreDet efterlader en stor fil med navnet . Først skal vi finde kilden til problemet:
- Opret forbindelse til din server med Filezilla og naviger til den mappe, hvor kanalerne er placeret (f.eks.:
/usr/game/cores/channel1). - i mappe game.core Hvis du ser filen, er fejlen forårsaget af et in-game system (C++ kildekoder eller brugen af et forkert kort/element).
- hvis
/usr/game/cores/dbind db.kerne Hvis du ser det, er problemet fuldstændig forårsaget af en korrupt tabel eller forkert proto-indtastning i Navicat-databasen.
Trin 2: Optagelse af fejlagtigt Syserr-output
Core Dumped-fejlen efterlader en kritisk log i syserr.txt-filen i det nøjagtige sekund, den opstår. Sådan løser du fejlen:
- I mappen, der giver kerne dumpet (eks.: kanal1) syserr Åbn filen.
- Går til de nederste linjer i filen
CRASH,Segmentation FaultellerAssertion failedSøg efter ordene. - Funktionsnavnet eller elementkoden skrevet her vil direkte vise dig, hvilket system der styrtede ned serveren. Tjek ved at deaktivere det sidste system eller quest, du tilføjede.
Trin 3: Analyse af kernefil med GDB (teknisk metode)
Hvis der ikke er skrevet noget i syserr-filen, kan du bruge GDB (GNU Debugger) på FreeBSD til at finde linjen med C++-kode, der forårsager nedbruddet:
- Indtast den mappe, hvor nedbruddet skete via Putty:
cd /usr/game/cores/channel1 - Start debuggeren ved at køre følgende kommando i terminalen:
gdb game game.core - Når kommandolinjen åbnes, vises den på skærmen
btellerwhereSkriv det og tryk på Enter. - På listen, der vises på skærmen, kildekodefilen og linjenummeret, der forårsagede fejlen (f.eks.:
char_item.cpp:1452) vil blive vist. Du bør genopbygge ved at rette denne linje i sektionen Kilde.
Trin 4: Gennemgå almindelige fejl
Hvis du ikke har foretaget nogen kodeændringer for nylig, skal du kontrollere disse to tilfælde:
- Bordkorruption: Tabellerne i Navicat-spillerdatabasen kan være beskadiget. Vælg alle tabeller og højreklik Vedligehold -> Reparationstabeller -> Udvidet gør det.
- Stack Overflow: En fejl lavet af spillerne (f.eks. ubegrænset slagsnyd, kæledyrsfejl) kan puste serverens hukommelse op og forårsage core-dumping. Brug opdaterede beskyttelsesinfrastrukturer (Guard).
Denne artikel er specielt forberedt til PvPServer.