Lahendus Metin2 serverites esinevale tõrkele "Tuum dumping".
Üks vigu, mida Metin2 PVP serveri administraatorid kõige enam kardavad ja mis põhjustab kanalite äkilist sulgemist (CH) "Tuum maha lastud" (Core Crash) tuleb. See tõrge ilmneb siis, kui server lülitub välja vigase koodi, mida ta ei saa mälus (RAM) töödelda, kehtetu andmebaasipäringu või rikutud faili tõttu. Allpool leiate, kuidas seda probleemi samm-sammult lahendada.
1. samm: tuvastage, milline fail krahh
Kui saate Core'i dumpingu tõrketeate, paigutatakse server krahhi kausta.game.corevõidb.coreSee jätab suure faili nimega . Kõigepealt peame leidma probleemi allika:
- Looge Filezillaga ühendus serveriga ja navigeerige kataloogi, kus kanalid asuvad (nt:
/usr/game/cores/channel1). - kaustas game.core Kui näete faili, on tõrke põhjuseks mängusisene süsteem (C++ lähtekoodid või vale kaardi/üksuse kasutamine).
- kui
/usr/game/cores/dbsisse db.core Kui näete seda, on probleem täielikult põhjustatud rikutud tabelist või valest protokirjest Navicati andmebaasis.
2. samm: Syserri vigase väljundi hõivamine
Core Dumped viga jätab faili syserr.txt kriitilise logi just sel hetkel, kui see ilmneb. Vea lahendamiseks toimige järgmiselt.
- Kaustas, kus tuum on tõmmatud (nt kanal1) syserr Avage fail.
- Minge faili alumiste ridade juurde
CRASH,Segmentation FaultvõiAssertion failedOtsige sõnu. - Siin kirjutatud funktsiooni nimi või üksuse kood näitab teile otse, milline süsteem serveri krahhi põhjustas. Kontrollige, keelates viimati lisatud süsteemi või ülesande.
3. samm: põhifaili analüüsimine GDB-ga (tehniline meetod)
Kui syserr-faili pole midagi kirjutatud, võite kasutada FreeBSD-s GDB-d (GNU silurit), et leida krahhi põhjustanud C++ koodi rida:
- Sisestage Putty kaudu kataloog, kus krahh toimus:
cd /usr/game/cores/channel1 - Käivitage silur, käivitades terminalis järgmise käsu:
gdb game game.core - Kui käsurida avatakse, ilmub see ekraanile
btvõiwhereSisestage see ja vajutage sisestusklahvi. - Ekraanile ilmuvas loendis tõrke põhjustanud lähtekoodifail ja reanumber (nt:
char_item.cpp:1452) loetletakse. Peaksite uuesti üles ehitama, parandades seda rida jaotises Allikas.
4. samm: vaadake üle levinud vead
Kui te pole hiljuti ühtegi koodi muutnud, kontrollige neid kahte juhtumit.
- Tabeli korruptsioon: Navicati mängijate andmebaasis olevad tabelid võivad olla rikutud. Kõigi tabelite valimine ja paremklõps Hooldus -> Remondi tabelid -> Laiendatud tee seda.
- Virna ületäitumine: Mängijate tehtud viga (nt piiramatu arv pettusi, lemmikloomaviga) võib paisutada serveri mälu ja põhjustada tuumade dumpingut. Kasutage ajakohaseid kaitseinfrastruktuure (Guard).
See artikkel on spetsiaalselt ette valmistatud PvPServeri jaoks.