PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

Lösung für den „Core Dumped“-Fehler auf Metin2-Servern

Yazdır

Lösung für den „Core Dumped“-Fehler auf Metin2-Servern

Einer der von Metin2-PVP-Serveradministratoren am meisten gefürchteten Fehler, der zu einer plötzlichen Schließung von Kanälen führt (CH) „Kern entsorgt“ (Core Crash) kommt. Dieser Fehler tritt auf, wenn sich der Server aufgrund eines fehlerhaften Codes, der nicht im Arbeitsspeicher (RAM) verarbeitet werden kann, einer ungültigen Datenbankabfrage oder einer beschädigten Datei selbst herunterfährt. Nachfolgend erfahren Sie Schritt für Schritt, wie Sie dieses Problem lösen können.

Schritt 1: Ermitteln, welche Datei abgestürzt ist

Wenn Sie den Fehler „Core Dump“ erhalten, wird der Server im abgestürzten Ordner abgelegt.game.coreoderdb.coreEs hinterlässt eine große Datei mit dem Namen . Zuerst müssen wir die Ursache des Problems finden:

  • Stellen Sie mit Filezilla eine Verbindung zu Ihrem Server her und navigieren Sie zu dem Verzeichnis, in dem sich die Kanäle befinden (Beispiel:/usr/game/cores/channel1).
  • im Ordner game.core Wenn Sie die Datei sehen, wird der Fehler durch ein In-Game-System verursacht (C++-Quellcodes oder die Verwendung einer falschen Karte/eines falschen Gegenstands).
  • wenn/usr/game/cores/dbin db.core Wenn Sie es sehen, wird das Problem vollständig durch eine beschädigte Tabelle oder einen falschen Proto-Eintrag in der Navicat-Datenbank verursacht.

Schritt 2: Erfassen fehlerhafter Syserr-Ausgaben

Der Core Dumped-Fehler hinterlässt genau in der Sekunde, in der er auftritt, ein kritisches Protokoll in der Datei syserr.txt. Um den Fehler zu beheben:

  1. In dem Ordner, der den Core-Dump enthält (Beispiel: Kanal1) syserr Öffnen Sie die Datei.
  2. Gehen Sie zu den letzten Zeilen der DateiCRASH,Segmentation FaultoderAssertion failedSuchen Sie nach den Wörtern.
  3. Der hier geschriebene Funktionsname oder Artikelcode zeigt Ihnen direkt, welches System den Server zum Absturz gebracht hat. Überprüfen Sie dies, indem Sie das zuletzt hinzugefügte System oder die zuletzt hinzugefügte Quest deaktivieren.

Schritt 3: Kerndatei mit GDB analysieren (technische Methode)

Wenn in der syserr-Datei nichts geschrieben ist, können Sie GDB (GNU Debugger) unter FreeBSD verwenden, um die C++-Codezeile zu finden, die den Absturz verursacht hat:

  • Geben Sie über Putty das Verzeichnis ein, in dem der Absturz aufgetreten ist:
    cd /usr/game/cores/channel1
  • Starten Sie den Debugger, indem Sie im Terminal den folgenden Befehl ausführen:
    gdb game game.core
  • Wenn die Befehlszeile geöffnet wird, erscheint sie auf dem BildschirmbtoderwhereGeben Sie es ein und drücken Sie die Eingabetaste.
  • In der Liste, die auf dem Bildschirm erscheint, werden die Quellcodedatei und die Zeilennummer angezeigt, die den Fehler verursacht hat (z. B.:char_item.cpp:1452) werden aufgelistet. Sie sollten einen Neuaufbau durchführen, indem Sie diese Zeile im Abschnitt „Quelle“ korrigieren.

Schritt 4: Überprüfen Sie häufige Fehler

Wenn Sie in letzter Zeit keine Codeänderungen vorgenommen haben, überprüfen Sie diese beiden Fälle:

  • Tabellenkorruption: Die Tabellen in der Navicat-Player-Datenbank sind möglicherweise beschädigt. Alle Tabellen auswählen und mit der rechten Maustaste klicken Pflegen -> Tabellen reparieren -> Erweitert Mach es.
  • Stapelüberlauf: Ein von den Spielern verursachter Fehler (z. B. Unlimited Hitting Cheat, Pet Bug) kann den Speicher des Servers überlasten und zu einem Core Dump führen. Nutzen Sie aktuelle Schutzinfrastrukturen (Guard).

Dieser Artikel ist speziell für PvPServer vorbereitet.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner