Files
Viano-Core/doc/clientless/browser-and-pvp.md
T

8.5 KiB

AdventureBot-Gruppen, Browser und PvP

Stand: Implementierung gebaut (-j10), alle120Clientless-Tests erfolgreich; noch nicht installiert/live abgenommen. Dungeon-, Raid- und PvP-Intents verwenden die bestehenden Tagespläne. pvp ist neu und wird bei der Profilerzeugung als gewichtete Aktivitätspräferenz angeboten. Bestehende Profile können activity_affinity.pvp ausdrücklich setzen; sonst gilt im Planer ein kleiner, durch Aggression gewichteter Standardwert.

Abreise und Rollen

Dungeon-/Raidbesuche starten selbstständig erst mit vollständiger geeigneter Gruppe. Dungeonrollen:1Tank,1Heiler,3DD. Raidrollen richten sich nach der bestehenden Zielkapazität: bis10Mitglieder2/2/6,20Mitglieder2/4/14, 25Mitglieder2/6/17. Die bereits vorhandenen Kapazitätsgrenzen der Locations bleiben maßgeblich. Profile legen Botrollen fest, Spielerrollen werden aus vorhandenen Gruppenrollen beziehungsweise ihrer Spezialisierung ermittelt.

Die erste tatsächliche Abreise gibt die gesamte Botgruppe für den laufenden Intent frei. Spätere Austritte und Rollenlücken stoppen diese Reise nicht und lösen keinen Browserwechsel aus. Gespeicherte laufende Instanzbesuche werden weiterhin wiederaufgenommen. Spielergeführte Gruppen folgen ihrem Spieler; Bots melden diese Gruppen nicht eigenmächtig an.

Unvollständige Botgruppen und einzelne Bots warten am aktuellen Ort und melden sich bei zulässigem Browser an. Native Prüfungen für Level, Erweiterung, Gegenstandsstufe, Zugänge, Sperren, Rollen und Accountrechte bleiben erhalten. Die lokalen Cataclysm-DBC-Daten enthalten die Drachenseele-Flügel416/417 als Stufe85-Angebote mit2Tanks,6Heilern und17DDs. Ihr TypeID ist1 (Dungeon), die Karte ist jedoch ein Raid. Die Botregeln unterscheiden deshalb anhand der tatsächlichen Karte; sie behandeln diese Angebote nicht versehentlich als Fünfer-Dungeons. Die native Anmeldung dieser Type1-Flügel nutzt die vorhandene Dungeonfinder- Berechtigung, nicht den separaten Legacy-Raidbrowser-Schalter. Der Bot-Schalter für Raidbeitritt bleibt trotzdem anhand der tatsächlichen Raidkarte wirksam. DungeonFinder.OptionsMask wurde nicht verändert. Die Browserwahl verwendet zugängliche Angebote, nicht zwangsläufig das vorher im Tagesplan ausgewählte Reiseziel. Rolle und Angebot werden nativ bestätigt; Vermittlung und Teleport bleiben Aufgaben des vorhandenen Cores.

Schalter

Konfiguration Standard
Clientless.Browser.Dungeon.QueueEnabled 1
Clientless.Browser.Dungeon.JoinEnabled 1
Clientless.Browser.Raid.QueueEnabled 1
Clientless.Browser.Raid.JoinEnabled 0
Clientless.Browser.Battleground.QueueEnabled 1
Clientless.Browser.Battleground.JoinEnabled 0
Clientless.Browser.AllowBotOnlyTests 0

QueueEnabled erlaubt das Anmelden. JoinEnabled erlaubt es, Bots tatsächlich in eine vermittelte Besetzung aufzunehmen. Bei abgeschaltetem Beitritt bleiben sie in der Suche, werden aber nicht in Angebote für Spieler eingerechnet und reservieren keine Plätze in startenden Partien.

Im Normalbetrieb braucht jede vermittelte Besetzung mindestens einen echten, verbundenen Spieler. Ein nach Verbindungsabbruch noch vorhandener Registereintrag reicht nicht: Die Realm-Verbindung muss offen sein. Die zweite Verbindung darf beim regulären Instanztransfer wechseln. Eine beliebige Person in einer anderen Warteschlange zählt nicht. Prüfung erfolgt vor dem Angebot und vor dem Beitritt erneut. LFG-Gruppen mit Bots erhalten einen echten Spieler als Anführer. Reine Botbesetzungen sind nur mit AllowBotOnlyTests=1 möglich; zusätzlich müssen Queue und Join für den jeweiligen Browser aktiviert sein. Diese Testausnahme ersetzt weder Mindestgrößen noch native Zugangsvoraussetzungen. Vorhandene Low-Population-Regeln des Servers bleiben davon getrennt. Gruppen ohne Clientless-Teilnehmer behalten ihren Ablauf.

Die Regeln sind generische CPC-Admission-Regeln. DungeonFinding und Battlegrounds hängen dafür nicht vom AdventureBot-System ab. Die Adventure-KI wählt lediglich Anmeldungen und Rollen. Keine zusätzlichen externen Dienste oder Netzwerkschnittstellen.

PvP

Ein PvP-Block mit Hauptstadtslocation bedeutet direkte Schlachtfeldsuche. Welt-PvP-Ziele kommen aus zulässigen Gebietslocations von TolBarad/TolBarad-Halbinsel, Höllenfeuerhalbinsel, Zangarmarschen, Nagrand und den Wäldern von Terokkar. Gebietskatalog, Fraktion, tatsächliches Mindestlevel und Fluganforderungen gelten auch hier. Für Welt-PvP genügt eine geeignete Gruppe ab zwei Mitgliedern; fehlen Mitglieder, geht der Bot stattdessen in die Schlachtfeldsuche. Diese läuft über die nativen normalen Schlachtfelder, nicht über Arena oder gewertetes PvP. UnterStufe45 wird Kriegshymnenschlucht angefragt, danach ein zufälliges Schlachtfeld; unterStufe10 erfolgt keine Anmeldung und kein neu generierter PvP-Block. Bei Schlachtfeld-Gruppensuche werden die nativen Levelbereiche der gewünschten Schlachtfeldvorlage verglichen, einschließlich der Mindeststufe für Zufallssuche. Die nativen Prüfungen entscheiden endgültig.

Derzeit geht es um Anmeldung und Beitritt. Spezifische Quest-, Flaggenträger-, Basen- und Bossmechaniken sind damit nicht implementiert. Welt-PvP benutzt zunächst vorhandene Erkundungsaktionen und die bisherigen persönlichkeitsabhängigen PvP-Angriffsregeln. Schlachtfeld-/Raidbeitritt ist daher standardmäßig gesperrt.

Gruppen zusammenführen

Während der Gruppenbildung steigt die Wechselbereitschaft mit der verstrichenen Zeit. Größere passende Botgruppen werden bevorzugt. Auch Mitglieder kleinerer unvollständiger Botgruppen können wechseln, insbesondere um einen offenen Rollenplatz zu besetzen. Offene Einladungen reservieren bereits Rollenplätze; die eigene Reservierung verhindert nicht die Annahme. Überzählige Rollen aus falsch besetzten Gruppen dürfen auch in kleinere passende Gruppen wechseln, und das Vervollständigen einer zulässigen Gruppe hat Vorrang. Bereits abgereiste Anführer schützen auch Mitglieder, deren persönlicher Plan noch Gruppenbildung anzeigt. Ziel und Voraussetzungen der aufnehmenden Gruppe gelten. Die native Einladung/Annahme erfolgt im Worldthread; bei Ablehnung wird die ursprüngliche Gruppe soweit möglich wiederhergestellt.120Sekunden Wechselpause und eine eindeutige Rangfolge gleich großer Gruppen verhindern Pendeln. Spielergeführte Gruppen, volle passende Gruppen, laufende Reisen und bereits laufende Browsergruppen werden nicht automatisch umverteilt. Die feste Sammelfrist am Stundenende wird nicht verlängert.

Validierung und Betrieb

Vor jedem Build Loader/Testannahme pausieren und sicheren Logout abwarten. Während der laufenden Schiffsaufzeichnung darf bei verbleibenden Bots auch nach fünfMinuten kein Shutdown erzwungen werden: Build dann zurückstellen. Installation und Neustart erst nach Freigabe für die Aufzeichnung. Zugehörige Tests: test_browser_admission.py, test_group_role_composition.py, test_adventure_instance_begin.py, test_adventure_groups.py, test_browser_participants.py, test_browser_match_order.py, test_browser_bg_brackets.py. Rollenabfragen werden außerhalb der Versorgungs- und Kampfaktionen beantwortet, nur solange die native Abfrage noch offen ist. Alle120Clientless-Testskripte wurden ausgeführt und bestanden. Sechs ältere Adapter benötigten die neuen Zustandsfelder/Schnittstellen; zusätzliche Assertions prüfen PvP-Persistenz, Browser-Wartephasen, Wiederaufnahme begonnener Reisen und AFK-Schutz während der Suche. Der vollständige CMake-Build und der abschließende inkrementelle Build liefen mit-j10 erfolgreich durch. Beide Config-Dateien wurden auf die vereinbarten Browserwerte geprüft. Details und Logs: doc/clientless/checkpoints/2026-10-31-browser/validation-status.json und regression/final-summary.json. Der vorherige114/120-Lauf samt Fehlerlogs ist als Diagnose erhalten; die behobenen Fälle wurden gezielt erneut ausgeführt.

Der Testserver war nach dem externen Umgebungsneustart bereits offline. Es wurden keine Bots für den Build zwangsausgeloggt, keine laufenden Transporte unterbrochen und kein Server durch diesen Arbeitslauf gestoppt. Loader und TestBot-Ausführung bleiben pausiert (Config0/0); ursprünglicher TestBot-Wert1 ist in resumed-build-state.json gespeichert. Installation/Start erst nach Freigabe. Vor dem nächsten zulässigen Start die sieben zuletzt verbliebenen Bots anhand restart-recovery-needed.json für Zustandsprüfungen vorsehen.

Diese Tests prüfen Regeln und echte extrahierte Produktionsfunktionen mit Adaptern. Ein tatsächlicher Browser-Beitritt mit echten Spielern und die visuelle Abnahme stehen aus. Es wurde weder installiert noch ein Worldserver gestartet.