aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Metin2

Metin2 GM-Befehle: Liste und Berechtigungsstufen

Wenn du einen Metin2-Server betreibst, ist das Werkzeug, das dir am meisten Arbeit abnimmt, die Befehle, die du in das Chatfenster eingibst. Mit Metin2 GM-Befehlen erledigst du fast alles in einer einzigen Zeile: Items vergeben, Monster spawnen, Spieler teleportieren oder Proto-Dateien neu laden. Doch diese Macht kann in den falschen Händen deine Wirtschaft ruinieren, deshalb ist das Erlernen der Befehle genauso wichtig wie das korrekte Einrichten der Berechtigungen. In diesem Leitfaden behandle ich die häufigsten Befehle, die Berechtigungsstufen und wie du einem Konto sicher GM-Rechte erteilst.

Wie GM-Befehle funktionieren

In der Standard-Serverquelle von Metin2 sind die Befehle in einer Tabelle innerhalb des Spielkerns (des game-Prozesses) registriert. Wenn ein Spieler im Chatfenster Text eingibt, der mit / beginnt, fängt die input-Schicht ihn ab, löst den Befehlsnamen auf und ruft die passende Funktion auf. Der entscheidende Punkt: Jeder Befehl erfordert eine bestimmte minimale Berechtigungsstufe. Selbst wenn ein Spieler ohne ausreichende Rechte den Befehl eingibt, weist der Kern ihn stillschweigend ab. Konzeptionell sieht die Befehlstabelle so aus:

// Registrierungslogik in cmd_general / cmd_gm
{ "item",        do_item,        GM_IMPLEMENTOR },
{ "advance",     do_advance,     GM_HIGH_WIZARD },
{ "notice",      do_notice,      GM_LOW_WIZARD },
{ "warp",        do_warp,        GM_LOW_WIZARD },

Es zählt also nicht das Vorhandensein des Befehls, sondern die Berechtigung des Spielers. Deshalb lohnt es sich, die Berechtigungsstufen gut zu verstehen.

Berechtigungsstufen (GM authority)

In der Metin2-Quelle wird die Berechtigung durch ein Enum in gm.h definiert. Von niedrig nach hoch sind die Stufen:

  • GM_PLAYER — ein normaler Spieler; kein GM-Befehl funktioniert.
  • GM_LOW_WIZARD — eingeschränkte Support-Rechte (Ankündigungen, Teleportieren usw.).
  • GM_WIZARD — Event-Rechte auf mittlerer Ebene.
  • GM_HIGH_WIZARD — fortgeschrittene Verwaltung (Spieler leveln, Mob-Verwaltung).
  • GM_GOD — nahezu unbegrenzte Rechte.
  • GM_IMPLEMENTOR — die höchste Stufe; gefährliche Befehle wie die Item-Erstellung und reload liegen hier.

Die Logik ist einfach: Wenn ein Befehl GM_HIGH_WIZARD verlangt, können ihn alle auf dieser Stufe und darüber nutzen. Einem Support-Team die niedrigstmögliche Berechtigung zu geben und die höchste Stufe dir selbst vorzubehalten, ist der gesündeste Ansatz.

Die häufigsten Metin2 GM-Befehle

Die folgenden Befehle gibt es auf nahezu jedem Standardserver. Beginne beim Testen niemals auf dem Live-Server — probiere sie zuerst in einer geschlossenen Testumgebung aus.

  • /item <vnum> [Anzahl] — fügt das Item mit dem angegebenen vnum deinem Inventar hinzu.
  • /give <Name> <vnum> [Anzahl] — gibt einem Zielspieler ein Item.
  • /mob <vnum> — spawnt ein einzelnes Monster an deiner Position.
  • /group <vnum> — spawnt eine Monstergruppe (ein Rudel).
  • /purge — entfernt den anvisierten NPC oder Mob von der Karte.
  • /advance <Name> <Level> — hebt einen Spieler auf das gewünschte Level.
  • /transfer <Name> — teleportiert einen Spieler zu dir.
  • /warp <x> <y> — teleportiert dich zu den angegebenen Koordinaten.
  • /notice <Nachricht> — sendet eine gelbe Systemmeldung an den gesamten Server.
  • /restart_here / /restart_town — beim Tod an Ort und Stelle oder in der Stadt wiederbeleben.
  • /reload <Flag> — lädt die Konfiguration neu; zum Beispiel frischt /reload p das Item/Mob-Proto auf.

Ein Beispielablauf: Wenn du Spieler während eines Events belohnst, wählst du zuerst das Ziel aus und sendest dann das Item:

/notice In 30 Minuten startet ein Event auf dem zentralen Platz!
/transfer Gewinnerspieler
/give Gewinnerspieler 71001 5

Der Befehl /reload ist sehr mächtig: Er erlaubt dir, Änderungen an item_proto oder mob_proto anzuwenden, ohne den Server herunterzufahren. Dennoch ist bei großen Schemaänderungen ein vollständiger Neustart sicherer.

Einem Konto GM-Rechte erteilen

Damit die Befehle funktionieren, musst du wissen, woher die Berechtigung gelesen wird. Metin2 lädt die Rechte aus der Tabelle gmlist in der Datenbank player. Eine Zeile in dieser Tabelle macht das betreffende Konto zum GM. Die typischen Spalten sind:

  • mID — der Primärschlüssel.
  • mAccount — der Login-Name des zu berechtigenden Kontos.
  • mName — der zu berechtigende Charaktername (oft * für alle Charaktere).
  • mContactIP — eine Einschränkung, damit Befehle nur von dieser IP aus funktionieren.
  • mAuthority — die Berechtigungsstufe (IMPLEMENTOR, GOD, HIGH_WIZARD ...).

Ein Beispieleintrag:

INSERT INTO player.gmlist (mAccount, mName, mContactIP, mServerIP, mAuthority)
VALUES ('adminkonto', '*', '85.100.20.10', 'ALL', 'IMPLEMENTOR');

Nach dem Hinzufügen der Zeile musst du den Server neu starten (oder, falls deine Quelle das unterstützt, die GM-Liste neu laden), damit die Änderung wirksam wird. In den meisten Setups öffnet ein leeres Feld mContactIP den Befehl von überall; trage aus Sicherheitsgründen dort deine eigene feste IP ein.

Sicherheit: Lass keine GM-Rechte durchsickern

GM-Befehle sind die sensibelste Oberfläche eines Servers. Ein einziges /item-Leck kann die gesamte Wirtschaft kollabieren lassen. Ein paar Grundregeln:

  • Geringste Rechte: Gib deinem Support-Team die niedrigste Stufe, die ausreicht, nicht GM_IMPLEMENTOR.
  • IP-Beschränkung: Fülle mContactIP immer aus, damit selbst ein gestohlenes Konto keine GM-Befehle von einer fremden IP ausführen kann.
  • Protokollierung: Metin2 schreibt GM-Befehle in die Tabelle command_log der Datenbank log. Prüfe dieses Protokoll regelmäßig; verfolge, wer wann was vergeben hat.
  • Separates Konto: Sei kein GM auf dem Charakter, mit dem du täglich spielst; halte ein separates Konto nur für die Verwaltung bereit.
  • Testumgebung: Probiere neue Befehle und /reload-Experimente zuerst auf einem geschlossenen Testserver aus.

Wendest du diese Regeln an, profitierst du von der Macht der Befehle und hältst das Risiko zugleich auf ein Minimum.

Häufige Fragen

Ich habe einen GM-Befehl eingegeben, aber nichts passiert — warum?

Die häufigste Ursache ist, dass deine Berechtigungsstufe nicht ausreicht oder dein gmlist-Eintrag noch nicht eingelesen wurde. Prüfe den mAuthority-Wert deines Kontos und starte den Server nach der Änderung neu. Außerdem schlagen die Befehle stillschweigend fehl, wenn mContactIP nicht mit der IP übereinstimmt, von der aus du dich verbindest.

Wo finde ich die vollständige Liste aller Befehle?

Die genaue Liste hängt von der Quelle ab, die du verwendest. Die zuverlässigste Methode ist, die Registrierungstabelle in den Dateien cmd.cpp / cmd_general.cpp / cmd_gm.cpp deiner Serverquelle zu lesen; dort stehen der Name jedes Befehls und die erforderliche Berechtigungsstufe ausdrücklich.

Bringt /reload den Server zum Absturz?

Richtig verwendet nein — er ist dafür gedacht, Proto und Konfiguration aufzufrischen. Dennoch kann das Ausführen mit einem defekten item_proto oder einer fehlenden Datei Fehler verursachen. Deshalb solltest du große Änderungen in einer Testumgebung validieren, bevor du sie live nimmst.

Möchtest du deinen Metin2-Server sicher einrichten? Wenn du Hilfe bei GM-Berechtigung, Log-Infrastruktur und Befehlssicherheit brauchst, nimm Kontakt mit mir auf — härten wir deinen Server gemeinsam ab.

Bu kategorideki tüm yazılar →

Devamı için