Rješenje za pogrešku "Core Dumped" na Metin2 poslužiteljima
Jedna od grešaka koje se najviše plaše administratori Metin2 PVP poslužitelja i koja uzrokuje iznenadno zatvaranje kanala (CH) "Core Dumped" Dolazi (Core Crash). Ova se pogreška javlja kada se poslužitelj sam isključi kao rezultat susreta s pogrešnim kodom koji ne može obraditi u memoriji (RAM), nevažećeg upita baze podataka ili oštećene datoteke. U nastavku možete pronaći kako korak po korak riješiti ovaj problem.
1. korak: otkrivanje koja se datoteka srušila
Kada dobijete pogrešku Core dumped, poslužitelj je smješten u mapu koja se srušila.game.coreilidb.coreOstavlja veliku datoteku pod nazivom . Prvo moramo pronaći izvor problema:
- Povežite se na svoj poslužitelj s Filezillom i dođite do direktorija u kojem se nalaze kanali (npr.
/usr/game/cores/channel1). - u mapi igra.jezgra Ako vidite datoteku, pogrešku uzrokuje sustav unutar igre (C++ izvorni kodovi ili upotreba netočne karte/itema).
- ako
/usr/game/cores/dbu db.core Ako ga vidite, problem je u potpunosti uzrokovan oštećenom tablicom ili netočnim proto unosom u Navicat bazi podataka.
Korak 2: Hvatanje pogrešnog Syserr izlaza
Pogreška Core Dumped ostavlja kritični zapisnik u datoteci syserr.txt točno u sekundi kad se pojavi. Da biste riješili grešku:
- U mapi koja daje baznu jezgru (npr. kanal1) syserr Otvorite datoteku.
- Idemo na donje retke datoteke
CRASH,Segmentation FaultiliAssertion failedPotražite riječi. - Ovdje napisani naziv funkcije ili kod stavke izravno će vam pokazati koji je sustav srušio poslužitelj. Provjerite tako da onemogućite posljednji sustav ili zadatak koji ste dodali.
Korak 3: Analiza osnovne datoteke s GDB-om (tehnička metoda)
Ako ništa nije zapisano u datoteci syserr, možete koristiti GDB (GNU Debugger) na FreeBSD-u da biste pronašli redak C++ koda koji uzrokuje rušenje:
- Unesite direktorij u kojem je došlo do pada putem Putty-a:
cd /usr/game/cores/channel1 - Pokrenite program za ispravljanje pogrešaka pokretanjem sljedeće naredbe u terminalu:
gdb game game.core - Kada se otvori naredbeni redak, pojavljuje se na ekranu
btiliwhereUpišite ga i pritisnite Enter. - Na popisu koji će se pojaviti na ekranu, datoteka izvornog koda i broj retka koji je uzrokovao pogrešku (npr.:
char_item.cpp:1452) bit će naveden. Trebali biste ponovno izgraditi ispravljanjem ovog retka u odjeljku Izvor.
Korak 4: Pregledajte uobičajene pogreške
Ako u posljednje vrijeme niste mijenjali kôd, provjerite ova dva slučaja:
- Oštećenje tablice: Tablice u bazi podataka Navicat igrača mogu biti oštećene. Odabir svih tablica i desni klik Održavanje -> Tablice popravka -> Prošireno učini to.
- Stack Overflow: Pogreška koju naprave igrači (npr. neograničeno varanje, pogreška s kućnim ljubimcem) može napuhati memoriju poslužitelja i uzrokovati izbacivanje jezgre. Koristite suvremene zaštitne infrastrukture (Guard).
Ovaj članak je posebno pripremljen za PvPServer.