Metin2 Guild War ist die zentrale PvP-Mechanik, bei der zwei Gilden einander offiziell den Krieg erklären, nach festen Regeln Kill-Punkte sammeln und der Gewinner den Einsatztopf sowie Ranglistenpunkte erhält. Gut konfiguriert verleiht sie deinem Server rund um die Uhr eine lebendige Rivalität und ein soziales Ziel; schlecht konfiguriert wird daraus ein Feature, das dauerhaft offen bleibt, ausgenutzt werden kann oder nie wirklich endet. In diesem Artikel gehe ich Schritt für Schritt die Kriegstypen durch, wie ein Krieg erklärt und angenommen wird, die Punkte- und Einsatzregeln, die Warp-War-Karten und die Einrichtung der Belohnungen für die siegreiche Gilde.
Guild-War-Typen
Die meisten Metin2-Quellen unterstützen drei verschiedene Kriegstypen, und welchen du anbietest, prägt den Charakter deines Servers:
- Normaler Krieg (Punktekrieg): Der Krieg findet in der offenen Welt statt. Wo immer Mitglieder der beiden Gilden einander töten, zählt der Kill für die Punktzahl. Die erste Gilde, die das vorab festgelegte Punktelimit erreicht, gewinnt. Am einfachsten einzurichten, aber anfällig dafür, dass Dritte in der offenen Welt eingreifen.
- Warp War (Arena-/Einladungskrieg): Mitglieder beider Gilden werden auf eine separate Kriegskarte teleportiert. Sie kämpfen in einem abgeschotteten Bereich ohne Einmischung von außen, was diesen Typ am fairsten und beliebtesten macht.
- Flaggenkrieg (CTF): Aufgebaut auf dem Erobern von Symbol-/Flaggenpunkten auf der Karte; belohnt Gebietskontrolle statt reiner Kills. Seltener genutzt, vermittelt aber ein eigenes Gefühl.
Alle drei teilen dasselbe Grundgerüst: Erklärung, Annahme, Punktezählung und Ergebnis. Sie unterscheiden sich nur darin, wo der Krieg stattfindet und wie die Punkte erzielt werden.
Einen Krieg erklären und der Annahmeablauf
Ein Krieg wird über das Gildenmenü im Spiel gestartet. Der Gildenanführer der angreifenden Gilde wählt die Zielgilde, legt den Kriegstyp fest und gibt den eventuellen Einsatzbetrag ein. Das System sendet eine Kriegseinladung an den Anführer der Zielgilde; nimmt der andere Anführer innerhalb eines Zeitfensters an, beginnt der Krieg, andernfalls verfällt die Anfrage. Diese Logik der „beidseitigen Zustimmung" ist wichtig, weil sie verhindert, dass jemand einen Krieg erzwingt.
Damit die Erklärung gültig ist, gelten meist zwei Bedingungen: Beide Gilden müssen die Mindestmitgliederzahl erfüllen, und der Anführer muss genug Yang besitzen, um den Einsatzbetrag zu decken. Diese Regeln findest du in der Guild-War-Konfiguration deiner Quelle; der zugehörige Code liegt typischerweise in guild.cpp, guild_manager.cpp und auf der Quest-Seite in questlua_guild.cpp.
Punkte- und Einsatzregeln konfigurieren
Die Kernregeln eines Krieges stehen in einer Konfigurationstabelle mit einer eigenen Zeile pro Kriegstyp. Der Name variiert je nach Quelle, aber die Logik ist dieselbe: Pro Typ definierst du ein Einsatzlimit, eine Mindestmitgliederzahl und eine Siegpunktzahl. Eine Beispieltabelle sieht so aus:
// pro Kriegstyp: { siegpunkte, min_mitglieder, einsatzlimit }
const SGuildWarInfo c_aGuildWarInfo[GUILD_WAR_TYPE_MAX_NUM] =
{
// NORMAL : 100 Punkte, mind. 7 Mitglieder, max. Einsatz 5.000.000 Yang
{ 100, 7, 5000000 },
// WARP : 100 Punkte, mind. 10 Mitglieder, max. Einsatz 10.000.000 Yang
{ 100, 10, 10000000 },
// CTF : 100 Punkte, mind. 10 Mitglieder, max. Einsatz 10.000.000 Yang
{ 100, 10, 10000000 },
};
Skaliere diese Werte an die Population deines Servers. Auf einem kleinen Server bedeutet eine Vorgabe min_mitglieder = 10, dass keine Gilde je einen Krieg erklären kann; ein niedriges Minimum (etwa 3–5) zum Start ist daher realistischer. Teste auch die Siegpunktzahl mit einer Testgilde: 100 Punkte können zwischen aktiven Gilden Minuten dauern, zwischen kleinen Gilden hingegen ermüdend lange.
Die Arena: Warp-War-Karten
Das Herz des Warp War sind die dedizierten Kriegskarten, auf denen der Kampf stattfindet. Das sind separate Map-Indizes, von der offenen Welt abgeschottet und nur für die Dauer des Krieges den beiden Gilden zugewiesen. Die Quelle hält einen Pool von Kriegskarten bereit, damit mehrere Kriege gleichzeitig laufen können; beim Kriegsstart wird eine freie Karte aus dem Pool gemietet und am Ende zurückgegeben. Die typischen Schritte sind:
- Registriere die Kriegskarten in der
CONFIG/Atlas-Konfiguration deines Servers; jede Karte muss mit eigenem Index geladen und für normale Spieler gesperrt sein. - Teleportiere die Gilden zu zwei getrennten Spawn-Punkten auf der Karte; lass Abstand zwischen den Spawns, damit es keinen sofortigen Kontakt gibt.
- Teleportiere am Kriegsende alle Spieler zurück an ihre ursprünglichen Positionen und gib die Karte an den Pool zurück.
Die Anzahl gleichzeitiger Kriege wird durch die Anzahl der definierten Karten begrenzt. Reservierst du auf einem ausgelasteten Server nicht genug Kriegskarten, erhalten Gilden den Fehler „derzeit keine freie Kriegsarena". Dokumentiere, welche Map-Indizes für den Krieg reserviert sind; füge diese Karten nicht der normalen Portal-/Teleportliste hinzu, sonst können sich Spieler in die Arena schleichen.
Belohnungen und Gilden-Ranglistenpunkte
Der Teil, der Spieler motiviert, ist das Ergebnis. Es gibt zwei zentrale Belohnungsmechanismen:
- Einsatztopf: Setzen beide Gilden denselben Betrag, geht der gesamte Topf in das Lager der siegreichen Gilde. Das verleiht ein greifbares Wettgefühl; setzt du das Einsatzlimit aber zu hoch, kann ein einziger Krieg die Wirtschaft erschüttern.
- Gilden-Ranglistenpunkte (Ladder): Die siegreiche Gilde gewinnt Ranglistenpunkte, die unterlegene verliert sie. Diese Wertung als Gildenrangliste auf einer Website zu veröffentlichen, verleiht Kriegen Prestige und macht die Rivalität dauerhaft.
Zusätzlich kannst du auf der Quest-Seite auf das Kriegsergebnis reagieren und Extra-Belohnungen verteilen. Das folgende Beispiel gibt dem Anführer der siegreichen Gilde eine symbolische Belohnungstruhe:
when button or info begin
local gewinner = guild.get_guild_id() -- Gilde im Kontext
if gewinner == arg1 then -- arg1: ID der Siegergilde
pc.give_item2(50300, 1) -- Belohnungstruhe (Beispiel-vnum)
notice_all("Guild War gewonnen von "..guild.get_name().."!")
end
end
Ersetze die Item-vnum und die Funktionsnamen stets durch die echten Werte aus deiner eigenen Quelle; der Block oben zeigt nur die Logik. Halte Belohnungen maßvoll: Regnet es bei jedem Krieg wertvolle Items, mindert das deren Wert und treibt Spieler dazu, Scheinkriege nur für die Beute zu inszenieren.
Balancing und häufige Fehler
Nachdem du das Guild-War-System aktiviert hast, kommen die häufigsten Probleme aus der Konfiguration:
- Scheinkriege: Zwei Gilden desselben Besitzers erklären sich ständig den Krieg, um Belohnungen zu farmen. Niedrige Einsätze und Belohnungen sowie eine Gleiche-IP/gleicher-Spieler-Prüfung schrecken das ab.
- Mindestmitgliederzahl zu hoch: Keine Gilde kann die Vorgabe erfüllen und das System bleibt ungenutzt. Stelle es auf deine Population ein.
- Einmischung von außen bei Open-World-Kriegen: Bei einem normalen Krieg können Drittgilden eingreifen und die Balance stören. Willst du faire Konkurrenz, mach Warp War zum Standard.
- Kriegskarten-Leck: Landen Kriegskarten-Indizes in der normalen Teleportliste, gelangen Spieler in die Arena. Halte diese Karten stets gesperrt.
- Punkte-Missbrauch: Du kannst das Farmen von Punkten begrenzen, indem du das wiederholte Töten desselben Spielers mit einem kurzen Kill-Cooldown einschränkst.
Führe nach jeder Änderung mit zwei Testgilden einen vollständigen Krieg von Anfang bis Ende durch: Erklärung, Annahme, Teleport, Punktezählung, Ergebnis und Belohnung. Ohne diesen End-to-End-Test live zu gehen, ist die gemeinsame Ursache der meisten Guild-War-Störungen.
Häufige Fragen
Ich erkläre einen Guild War, aber er startet nicht, warum?
Es gibt meist zwei Gründe: Entweder erfüllt eine der Gilden die Mindestmitgliederzahl nicht, oder der Anführer der Zielgilde hat die Einladung nicht angenommen, bevor sie abgelaufen ist. Senke den Wert min_mitglieder in der Konfigurationstabelle, versuch es erneut und stelle sicher, dass sich das Annahmefenster tatsächlich öffnet.
Im Warp War werden wir nicht auf die Karte teleportiert, woran liegt das?
Meist sind die Kriegskarten nicht korrekt in die Serverkonfiguration geladen, oder es ist keine reservierte Kriegskarte mehr frei. Stelle sicher, dass die Kriegskarten-Indizes in deiner Atlas-/CONFIG-Datei definiert sind und du genug Karten für die Anzahl gleichzeitiger Kriege reserviert hast.
Die Siegergilde erhält den Einsatz nicht, wie behebe ich das?
Der Einsatztransfer hängt am Code, der das Kriegsergebnis verarbeitet; prüfe, ob das Einsatzlimit korrekt definiert ist und ob die Siegbedingung (Erreichen des Punktelimits) wirklich ausgelöst wird. Endet der Krieg auf Zeit, bevor das Punktelimit erreicht ist, werten manche Quellen das Ergebnis als Unentschieden und erstatten den Topf.
Möchtest du ein faires, stabiles Guild-War-System auf deinem Server einrichten? Wir können gemeinsam an Warp-War-Karten, Punkte-/Einsatz-Balance und Ranglistenpunkt-Integration arbeiten. Um über dein Projekt zu sprechen, nimm Kontakt mit mir auf.