Løsning på "Core Dumped"-feil på Metin2-servere
En av feilene som er mest fryktet av Metin2 PVP-serveradministratorer og forårsaker plutselig stenging av kanaler (CH) "Kjerne dumpet" (Core Crash) kommer. Denne feilen oppstår når serveren slår seg av selv som et resultat av å møte en feilkode som den ikke kan behandle i minnet (RAM), en ugyldig databasespørring eller en korrupt fil. Nedenfor kan du finne hvordan du løser dette problemet trinn for trinn.
Trinn 1: Oppdage hvilken fil som krasjet
Når du får Core dumped-feilen, plasseres serveren i den krasjet mappen.game.coreellerdb.coreDet etterlater en stor fil med navnet . Først må vi finne kilden til problemet:
- Koble til serveren din med Filezilla og naviger til katalogen der kanalene er plassert (eks:
/usr/game/cores/channel1). - i mappen game.core Hvis du ser filen, er feilen forårsaket av et system i spillet (C++-kildekoder eller bruk av feil kart/element).
- hvis
/usr/game/cores/dbinn db.core Hvis du ser det, er problemet fullstendig forårsaket av en korrupt tabell eller feil protooppføring i Navicat-databasen.
Trinn 2: Ta opp feil Syserr-utdata
Core Dumped-feilen etterlater en kritisk logg i syserr.txt-filen i samme sekund som den oppstår. Slik løser du feilen:
- I mappen som gir kjernedumpet (Eks: kanal1) syserr Åpne filen.
- Går til de nederste linjene i filen
CRASH,Segmentation FaultellerAssertion failedSøk etter ordene. - Funksjonsnavnet eller elementkoden skrevet her vil direkte vise deg hvilket system som krasjet serveren. Sjekk ved å deaktivere det siste systemet eller oppdraget du la til.
Trinn 3: Analyse av kjernefil med GDB (teknisk metode)
Hvis ingenting er skrevet i syserr-filen, kan du bruke GDB (GNU Debugger) på FreeBSD for å finne linjen med C++-kode som forårsaker krasj:
- Gå inn i katalogen der krasjet skjedde via Putty:
cd /usr/game/cores/channel1 - Start debuggeren ved å kjøre følgende kommando i terminalen:
gdb game game.core - Når kommandolinjen åpnes, vises den på skjermen
btellerwhereSkriv det og trykk Enter. - I listen som vises på skjermen, kildekodefilen og linjenummeret som forårsaket feilen (f.eks.:
char_item.cpp:1452) vil bli oppført. Du bør bygge på nytt ved å korrigere denne linjen i kildedelen.
Trinn 4: Gjennomgå vanlige feil
Hvis du ikke har gjort noen kodeendringer nylig, sjekk disse to tilfellene:
- Tabellkorrupsjon: Tabellene i Navicat-spillerdatabasen kan være ødelagt. Velger alle tabeller og høyreklikker Vedlikehold -> Reparasjonstabeller -> Utvidet gjør det.
- Stabeloverflyt: En feil laget av spillerne (f.eks. ubegrenset treffjukse, kjæledyrfeil) kan blåse opp serverens minne og forårsake kjernedumping. Bruk oppdatert beskyttelsesinfrastruktur (Guard).
Denne artikkelen er spesielt utarbeidet for PvPServer.