Files
Viano-Core/doc/clientless/SESSION-RESUME.md
T
Nico ba2a4e629c
clang PCH / build (push) Canceled after 0s
GCC PCH / build (push) Canceled after 0s
Recover stalled flights locally and fly rejected route approaches
2026-11-04 01:14:02 +01:00

5612 lines
349 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-11-04 – Lokale Commits auf Nutzerwunsch
Instanzgruppen-Schutz separat committed als f8ee1d0ff6. Flugfortschritts-
überwachung (60s echter Stillstand, native Dauerdiagnose, lokale Recovery vor
Rückkehr) und Fluganschluss zum bestehenden Routenpunkt werden zusammen mit
Tests und diesem Checkpoint im folgenden Navigationscommit gesichert.
Build/Test/Deploymentzustand siehe Eintrag darunter, unverändert. Keine neuen
Builds/Neustarts nötig, keine Pushes. Große Dumps/Binaries und operative
Snapshotverzeichnisse bleiben außerhalb der Commits erhalten.
---
# 2026-11-04 01:13 – Flugfortschritt und lokaler Fluganschluss installiert
Voriges Checkpoint ergänzt: Build installiert und Neustart verifiziert.
Alter Shutdown löste bekannten SIGSEGV GameObject::RemoveFromWorld:651
(m_zoneScript callback) aus, NOCH altes Binary; passiver GDB schrieb Core
/server/debug/crash/worldserver-20261103-231350.core und Backtrace. Passendes
Binary checkpoints/2026-11-04-flight-progress/worldserver-before-flight-fix
bewahrt. Erst nach Ende Worldserver+GDB installiert. 1.Startlauncher scheiterte
fehlendem Execute-Bit (kein Server gestartet); 2.Start explizit via bash klappt.
Neuer PID128950, Bereitschaft im FRISCHEN Server.log (Appender w; Console
Loglevel3 zeigt INFO-ready nicht), Ports8085+8087 verifiziert, Prozess stabil.
Nach 5min sicherer Logoutdrain verbliebene Roster+Probes vorShutdown gesichert
(26Rosterzeilen; native28Sessions im zeitversetzten Sampling, ggfRemoving).
Alle ursprünglichen118Bots wiederonline, Scheduleon, SafeLogoutresume,
Loader wieder1. Nachlogin Restbots erneut auf Bewegung/Flight/Transport geprüft:
36Edwin und99Shadra standen ohne Fortschritt auf alter ungestützter Position,
nativer FlightFailed/0Segmente/flying0; nachOrgrimmar teleportiert und native
Bodenposition bestätigt. Andere aktiveTaxi/Flüge erhalten, keineZwangslogouts.
ROUTE_APPROACH_FLIGHT im Livebetrieb bereits aufgetreten (u.a166), keine
vollständigeGameplayabnahme/erzwungene60sStallprobe, Nutzer prüft imSpiel.
10gezielteTests bestanden; bekannterBaselinefehler test_flight_departure
separat aufHEAD bestätigt. Ergebnis/Recovery/Ready/Tests/Build/Install im
Checkpointverzeichnis. Keine Commits/Pushes. Früherer AFK/Entfernungsschutz-WIP
weiter erhalten und deployed. Neue Quellheader+Tests teils untracked: NICHT
vergessen beim späteren gewünschten Commit.
---
# 2026-11-04 01:07 – Flugfortschritt und lokaler Fluganschluss implementiert, Installation ausstehend
Autorisiert: echte Stillstandserkennung+60s pro Segment, erwartete native
Flugdauer berücksichtigen, lokal wiederherstellen vor Rückkehr; außerdem
vorgemerkten Bodenanschluss/Flug-Fallback bei gleicher Gruppenroute umsetzen.
Source: ClientlessFlightProgress.h (0.5yd kumulierter Distanzfortschritt zum
3D-Segmentziel, 60s ohne Fortschritt; native Spline-Dauer als Erwartung/Diagnose,
KEIN hartes Laufzeitlimit für fortschreitenden Flug). FlightMgr misst jeden Tick,
versucht bei Stillstand bis zu2 lokale Neuplanungen mit beibehaltenem Following,
Ziel, Breadcrumbs, Start und Departurezustand. Erst erneuter Stillstand nach
2Versuchen oder ungültiger lokaler Korridor löst bestehenden sicheren Fail aus.
ActionExecutor versucht bei abgelehntem lokalen Start/Bridgebodenweg zuerst
FlightMgr::Start zum GLEICHEN Routenpunkt; Route/Step/Modalprofil bleiben.
Native Flugberechtigung, Korridor, solide Landung+MMAP-Anschluss bleiben aktiv.
Ein Versuch proRoutenpunkt, kein Bypass von aufgezeichneten Straßen/Transport.
Build -j10 abgeschlossen erfolgreich; gezielte Tests10/11 bestanden, neues
Produktionsmethoden-Harness test_route_approach_flight und erweiterter
Update-Harness test_flight_handoff bestanden (60s/jitter/vertikal/weiteFlüge/
2RecoveryVersuche/Leadertrail erhalten). test_flight_departure scheitert
unordered_map::at bereits unverändert auf HEAD (separat reproduziert), veraltete
Erwartung für overhead/openFromFeet-Zulassung, NICHT durch diese Änderungen.
Bestehende WIP des AFK/Entfernungsschutzes unangetastet, keine Commits/Pushes.
Loader1->0, sichere Logouts angefordert 2026-11-04T01:03:26.709253+01:00.
Operation/Roster/Build/Tests in checkpoints/2026-11-04-flight-progress/.
Original118Bots. 01:06 noch33Sessions,25Flug,6Kampf. 5min-Schutdownausnahme
frühestens01:08:27; VORHER NICHT installieren oder neustarten. Verbliebene
Bots vorShutdown erneut sichern (Roster/frischeFlightProbes/Transportstatus/
verfügbare Telemetrie). PassiveGDB-Crashlauncher erhalten. Nach Installation
Startbereitschaft+Ports prüfen, Loader durchStart pausiert lassen; erfasste
Restbots nachRelog prüfen, bei Transport/Flugrest ggf Kapitalteleport und
verifizieren. Danach vorherigen Botbetrieb118 wiederherstellen, SafeLogout
resume/Scheduleon/Loader1. Aktuelle Welt läuft noch PID106171. Kein Gameplay-
Akzeptanznachweis für neue Builds vor Installation.
---
# 2026-11-04 – Vorgemerkte Flug-/Bodenprüfung und Winienwi-Diagnose
Nutzer ausdrücklich: merken, Flug kann Höhenunterschiede überwinden; 1.75yd
Bodenpfadtoleranz darf nicht Flugbewegung begrenzen. Getrennte Prüfungen für
freien Flugkorridor, sichere erreichbare Landung und tatsächlichen Bodenweg.
Bei abgelehntem lokalem Bodenanschluss fliegerische Alternative prüfen, bevor
Makroroute wechseln. Unterirdische Ziele benötigen erreichbaren Eingang und
Bodenanschluss. Vorgemerkt, noch NICHT implementiert.
Winienwi163 benutzt SW-TH-Portal00:42:26 erfolgreich. Problem danach am Flug
zur Bastion: Start00:42:28, gemeinsamer Trail Leader160. 00:45:31 Abbruch
'flight segment made no confirmed progress' bei(-4897.04,-4485.46,668.396),
ca263yd horizontal/159yd unter Ziel. Letzter Segmentstart00:45:20. Code prüft
hier nur SegmentElapsed>10000 bei aktiver Spline, keine gemessene Bewegungs-
oder Distanzentwicklung! Exakte Ursache warum Spline dort nicht fertig wird
nicht belegt; Meldung beweist keinen blockierten Korridor. Shared-Wait und
Handoff können ebenfalls ohne neues Segment zurückkehren. Rückkehr bis
00:49:44 zum Abflugort, Neuversuch00:49:58, Landung00:53:21 auf Plattform
(-4905.67,-4232.752,827.766), Bodenanschluss12yd erfolgreich. Eintritt00:53:34
map671 instance4. Nativ action Completed / waiting just inside private instance
entrance bestätigt. Kein Eingriff/Build; nur Diagnose und Checkpoint.
---
# 2026-11-04 – Renrens Portalroute und abweichende Recovery rekonstruiert
Nur Diagnose auf Nutzerfrage, keine Code- oder Laufzeitänderung. Renren159
übernimmt zunächst den Flug von Leader160 zum Schattenhochlandportal200627
(00:37:57). Leader scheitert am Anflug, landet nach Airborne-Recovery lokal
und startet 00:38:34 einen Flug zu anderem Ziel/Anker220366. FlightMgr::Store
bricht alte Published-Spur ab; Replacement nur bei gleichem Ziel (<1yd).
Renren versucht deshalb lokale Landung, findet keine sichere und kehrt entlang
validierter Flugspur zurück (00:38:34; Rückkehr Handelszentrum00:39:22).
Konkrete geometrische Ablehnung dieser ersten lokalen Landung nicht geloggt.
Leader benutzt TH-Portal erfolgreich00:39:24 (PORTAL_USE_START1801/200627).
Renren hat somit keine protokollierte Portalbenutzungs-/Berechtigungsablehnung.
00:41:13 nochmals TRAVEL_SHARED_ROUTE159 leader160 steps5 belegt. Bei lokaler
Annäherung scheitert Bodenpfad; Recovery versucht TH-Portal nochmals direkt.
00:41:17 GROUP_GROUND_REJECT bei(-8275.555,454.338,115.548), floor113.391:
heightError2.157 > allowed1.750. Recovery sperrt fehlgeschlagene Startanker,
plant eigenständig via PlanAdaptiveRoute mit beibehaltenen JourneyCosts, ruft
AdoptRoute NICHT erneut auf. Danach auch Vashjir-Anker abgelehnt, Recovery3
führt zum Freiflug auf portal_at_2171_target (unterirdischer Trameingang).
Dies erklärt Abweichen trotz anfänglicher Leaderroute. Kein Nachweis, dass
die vollständige Route tatsächlich Tramtransport benutzt; Knoten ist Anker.
Nutzer bestätigt Untergrund als Hindernis des Sinkflugs. Ungelöst: Erreichbarkeit
unterirdischer Fluganker, Oszillation und gruppenerhaltende lokale Recovery.
Belege in adventurebot-navigation.log und Rotation .2026-11-04_00-40-33.
---
# 2026-11-04 00:42 – Renren hängt in Sturmwinder Flugausweichschleife
Nutzer meldetRenren159verlässtSturmwindnicht. Nativgroup6leader160,
RaidzielBastionweiteraktiv. AktuellerMakroschritt free_flight zu
portal_at_2171_target = Stormwind-TramExitTarget001(-8359.27,517.585,84.4087).
Landesucheverschiebtauf(-8399.27,586.87,92.69). KeingeplanterTramtransport
belegt: KanteistFreiflug, KnotennamealleinsagtkeinVerkehrsmittel.
Start00:41:19 bei(-8303.14,475.129,123.352), ReplanwegenAusweichanteil00:41:23
(12Segmente/12Avoid). Ab00:41:31abwechselndSinkflugziel(-8347,534,138) und
Ausweichziel(-8380,567,159), vielevorzeitigeHandoffs. Nach40sec145Segmente,
weiterhinengerSturmwindbereichstattFortschritt. NativeStatus00:41:33Pos
(-8361.517,551.054,146.645),mounted1/flying1. KeinSharedLandingWait,
keinBerechtigungsproblem. GreedyLokalausweichen+vorzeitigeSpline-Neuplanung
oszilliert; konkretegeometrischeAblehnungdesjeweiligenSinkkorridorsnochNICHT
mitDetailprobeisoliert. EinmaligeAirborneRecoverybereitsverbraucht,weitere
OszillationwirdnurspätdurchgesamtTravelBudget/Timeoutbegrenzt.
NurDiagnose,keineSourceänderung/Teleport/Reset. NutzerentscheidetFix/Recovery.
---
# 2026-11-04 00:31 – Botbetrieb wieder aktiv, 00/01-Uhr-Test eingerichtet
Nutzer verlangt alleBots wiederonline und exaktbekannten10erTest erneut:
00:00Gruppenbildung anGoldenerRose,01:00RaidBastiondesZwielichts normal10.
Auftragkam00:26;00Uhr istlaufenderStundenblock, keine rückwirkendeAusführung.
SafeLogout mit clientless logout resume aufgehoben (Allfalse/Pendingleer),
118ursprünglicheBotsaus Lag-Checkpoint wiederangemeldet. Tagespläneauchfür
nochverwalteteStop-Bots wiederScheduleon. Loaderwieder1+populationreload,
nativ pending0/sessions118 geprüft. Lagpause ist AUSDRÜCKLICHAUFGEHOBEN;
nicht beimnächstenTurnerneutpausieren ohne neuenAnlass. Lagursache bleibt offen.
BekannteTestgruppe159–167 und176,alle85,2Tanks167/176,2Heiler161/162,6DPS.
VorReset altePlan-/Instanz-/Handoffzuständegesichert. ZuerstPlänefürheute
20261104 Stunde0 groupformation/the_gilded_rose und1 raid/
instance_visit_at_6354_d0 gesetzt. DanngezielterTestlogout, alteVisit-/Handoff-
Datennurdieser10bereinigt, offlineSturmwindGoldeneRosepositiongesetzt.
NachRelogkurzBehaviorStop+nativeLeave (außerhalbInstanz), alteGruppenleer
geprüft, Scheduleonfüralle10. KeineanderenBotplänegeändert.
Alle20Planzeilenverifiziert. NativALLE10 groupformation/GoldeneRose,Schedule1,
Deadline01:00 bestätigt, PositioneninSW/Gasthausumfeld. ReguläreGruppensuchgänge
könnenkurzvorderTaverneführen. NativeGruppenmanagerübernimmtZuteilung, keine
künstlicheRaidfüllung. ServerPID106171läuft,keinBuild/Restart/Codechange.
KeineDauerbeobachtung/keineAuswertungsautomatik eingerichtet.
Artefakte checkpoints/2026-11-04-0100-raid-test/:Manifest,Originalroster,
VorherSnapshots,20verifiziertePläne,OfflineRosepositionen undNativeFormation.
OffeneSource-WIPdesAFK-/Entfernungsschutzes unverändertuncommittet erhalten.
KeinCommit/Push in diesemTurnangefordert.
---
# 2026-11-04 00:02 – Heftige Lags, Botbetrieb zur Entlastung pausiert
Nutzer meldet starke Lags. ServerPID106171 aktiv. Logs: wiederholte teure
Routenplanung, Sessionticks bis571ms, CPC slowGuid60 bis743ms. Keine großen
Gitprozesse (nur normale kleine UI-Diffs), vmstat kein akuter Swap-/IO-Stau,
ca4GiRAM verfügbar trotz2.1Gi belegtemSwap. Route-/Flight-/Actionlast belegt,
alleinige Ursache noch nicht abschließend isoliert. Mitternachtswechsel als
Auslöser möglich, aber nicht belegt.
Zur reversiblen Entlastung Loader1->0,populationreload,safeLogoutall angefordert,
KEIN Build/Restart/ForceLogout. Vorher118Bots, ursprünglicherRoster/Configstatus
checkpoints/2026-11-04-lag/ gesichert. NativeSessionzahl nimmt rasch ab;
letztePhase42aktiveBots,981Ticks/30s gegenüber118Bots/691Ticks zuvor.
Loader und SafeLogoutAll vorerst AKTIV PAUSIERT LASSEN, nicht automatisch
wieder118Bots einschalten solangeLagursache offen/NutzerkeineEntwarnung gibt.
Kämpfe/Flüge/Taxi/Transport dürfen natürlich abschließen. Bei nächster
Wiederaufnahme aktuellen logoutstatus abfragen (DBonline kann kurzfristig
von NativeSessions abweichen). Genauere CPU-/Planungsdiagnose bleibt offen.
---
# 2026-11-03 – Instanzgruppen gegen AFK-/Entfernungsaustritte geschützt
Auf Nutzerauftrag implementiert und installiert. AdventureBehaviorMgr prüft
mit ProtectInstanceGroupLeave gruppenweit Online-Mitglieder: tatsächlicher
Dungeon/Raid-Aufenthalt (auch menschlicher Leader ohne Botdatensatz), aktiver
Instanzbesuch auf Anreise/Vorbereitung/Eintritt/Inside/Returning oder gültiger
Raid-/Dungeon-Anreiseintent vor Beginn des Visits. Beendete Rest-Phase und
Offline-Mitglieder halten Schutz nicht dauerhaft aktiv. IsInWorld-Absicherung
verhindert Zugriff auf noch nicht initialisierte Maps beim Login.
AdventureInteractionMgr unterdrückt damit ausschließlich leader-afk und
leader-distance und setzt währenddessen die Idle-/AFK-Uhren zurück. Nach Ende
beginnt die10min-Frist neu. Intentwechsel, manuelle Austritte und bestehende
Kampf-/Transport-/Formationsregeln bleiben unverändert.
Gezielte Tests test_instance_group_protection.py und erweiterter
test_adventure_interactions.py bestanden: Raid-/Dungeon-Reisephasen,
menschlicher Leader bereits innen, verspätetes Mitglied draußen, Offline,
Besuchsende, ungültige/abgelaufene Intents, Entfernungs-/AFK-Sperre, neue Frist
und weiterhin erlaubter Intentwechsel. Build -j10 und Installation PASS.
Gameplayabnahme im nächsten Nutzerlauf noch offen; keinen10min-Livetest behaupten.
Loader vor beiden Builds pausiert, SafeLogoutall angefordert. Letzte Anfrage
23:05:19, Shutdown erst deutlich nach23:10:19. Restliste inkl. Positionen,
Fraktion und verfügbaren Native-Flags gesichert. Generierte Online-Bots vor
Shutdown zusätzlich ohne Ready-Filter abgefragt; menschlicher Test6 durch
nativeInfo als nichtclientless identifiziert und nicht als Recoverybot behandelt.
Bekannter separater Shutdownfehler GameObject::RemoveFromWorld651 erneut
aufgetreten; Core worldserver-20261103-194258.core und passende alte Executable
worldserver-before-fix im Checkpoint gesichert. Nicht behoben.
Neuer Server PID106171, frische ready-Meldung, Ports8085/8087 und Fortbestand
geprüft. Alle118 ursprünglichen Adventure-Bots online, Loader1,pending0.
Nach wirklichem Online Restbots geprüft; aktuelle Koordinaten bei schwierigen
Mehrfachflächen nochmals geprobt. Fehlgeschlagene/stationäre abgerissene Flüge
36Edwin/74Nimbin/83Mahuwa/102Corren/104Lillini/112Aeliriel/132Braneron/
166Corric/168Elanora/169Bromdan nativ in Fraktionshauptstadt zurückgesetzt,
Ergebnispositionen bestätigt.112 und166 danach bereits wieder regulär fliegend.
Laufende Flüge161/186, normale Taxifahrten und bereits weiterbewegte84/109/163
nicht unterbrochen. Keine neue Testzeit oder Dauerbeobachtung eingerichtet.
Artefakte checkpoints/2026-11-03-instance-group-protection/ (Roster,
Operation, Visitbackup, verbleibende Native-Zustände, Build/Install/Start,
Recovery/result.json). Neuer Test test_instance_group_protection.py noch
untracked; Sourceänderungen noch uncommittet, in diesem Turn kein Commit/Push
angefordert. Alle vorherigen Änderungen erhalten. Separater Admission-Retry-
Fehler nach bereits erfolgter Ablehnung und Wartungs-Resume bleiben offen;
diese Aufgabe betrifft gezielt Gruppenerhalt bei aktiver Instanzreise.
---
# 2026-11-03 – AFK-/Entfernungsregeln bei Instanzreise in Arbeit
Nutzer beauftragt: 10-Minuten-AFK und leader-distance sollen nicht gelten,
wenn Gruppe zur Instanz reist oder ein Mitglied bereits drinnen ist.
ProtectInstanceGroupLeave prüft gruppenweit Online-Mitglieder: tatsächlicher
Dungeon/Raid-Aufenthalt (auch menschlicher Leader ohne Botrecord), aktiver
Visit in Travel/Preparing/Entering/Inside/Returning, oder gültiger noch nicht
abgelaufener Raid-/Instanz-Anreiseintent. Rest/abgeschlossene Besuche und
Offline-Mitglieder schützen nicht dauerhaft. Keine Änderung anderer
Austrittsgründe. InteractionMgr setzt dabei Idle/AFK-Uhren zurück und sperrt
nur leader-distance/leader-afk, nicht intent-change/manuellen Austritt.
Produktionscode-Regressionsprüfung test_instance_group_protection.py PASS;
erweiterter test_adventure_interactions.py PASS (Entfernung+AFK während Reise,
neue10min-Frist nach Ende, Entfernung danach aktiv, Intentwechsel unverändert).
Build1 PASS. Build-final läuft nach zusätzlicher IsInWorld-Absicherung und
kompiliert AdventureBehaviorMgr.cpp erneut (keine alte Objektdatei verwenden).
Loader0+safeLogoutall vor JEDEM Build angefordert. Operation/Roster/Visitbackup
unter checkpoints/2026-11-03-instance-group-protection/.
VorBuild war22Uhr-Test bereits beendet: nur einandererVisitStageTravel gespeichert,
keine Inside-Sitzungen mehr. LetzteSafeLogout-Frist ausoperation.json beachten:
volle5min vorShutdown bei Restbots. Noch35Sessions beiZweitbuild. Installation,
Neustart,Recovery undLoaderRestore nochOFFEN. SeparateZoneScript-Crash-Dumps
weiteraufzeichnen,keineanderenDiensteberühren. KeinCommit/Pushbeauftragt.
---
# 22:39 – Eintrittsablehnung beider Bots geklärt
Beide Denial-Traces belegen group0/leader0: Winienwi16322:17:59 imrotierten
Navlog adventurebot-navigation.log.2026-11-03_22-22-06, Taliaarnora16422:30:33
imaktuellenLog. Instance.IgnoreRaid0, nativeMap::PlayerCannotEnter verlangt
für671eineRaidgruppe (CANNOT_ENTER_NOT_IN_RAID). Achtanderekonntenhinein.
Serverlogbelegt fürbeide zuvor INTERACTION_GROUP_LEAVE reasonleader-afk.
AdventureInteractionMgr prüft10minLeaderExpired, Bewegungs-/Aktionslosigkeit
zählt; SchutzForming/Travel greift nichtmehr überall während verspäteterAnreise.
Aruendas162wartetalsLeaderderAchtergruppeplanmäßiginnen; dieserperformative
Wartezustand wird fürNachzüglernichtalsaktiveRaidteilnahmegeschützt.
SpäterGruppe4aus163/164gebildet, aberbeideBesuche nachDeniedbereitsRest5:
keinautomatischerneuerEintrittnachGruppenbildung. Somit Gruppenerhalt+
AdmissionRetry, keinNavigations-/Rollen-/Bindungsproblem. ExakterDenyEnum
nichtimLog, aberSolozustand+nativgeltendeRegel belegen Zugangsbedingung.
KeineDaten-/Codeänderung, nurweiterführendeDiagnose. UserentscheidetFix.
---
# 2026-11-03 22:36 – Teststatus: acht drinnen, zwei am Eingang abgewiesen
22Uhr-Test:159/160/161/162/165/166/167/176 warten korrekt in Bastion671,
Instanz3,PhaseInside3,injury0,schedule1. Winienwi163 undTaliaarnora164 sind
aufEingangsplattform(-4899.67,-4222.36,827.764) angekommen, FlugArrived und
RouteCompleted; BesuchPhaseRest5,instance_id0,injury0 => NICHTwiederausgetreten,
sondernEintrittabgewiesen. INSTANCE_ENTRY_DENIED beider imServerlog.
Taliaarnora konkret22:30:33 imTracegroup0/leader0(allein) amEintritt. Aktuell
nativeGruppenaufgeteilt: Gruppe1Leader162Aruendas hat8Bots; Gruppe4Leader163
Winienwi hat163+164, beidegroupsType2(Raid),normalSchwierigkeit0. Keinen
fehlendenHeiler/Tank alsZugangsvoraussetzung behaupten (performativeRaids!).
Gruppenbildung nicht zumgewünschteneinheitlichen10erRaid zusammengeführt.
Keinepersönlichencharacter_instance-Bindungenfür163/164 an671gefunden,
Gruppe4nochkeineInstanzbindung; Gruppe1boundInstanz3. ExakternativeDenyReason
nichtgeloggt,keinenBindungskonfliktbehaupten. BeiTaliaarnoraNoGroupamVersuch
belegt; fürWinienwientsprechendenZeitpunktnochgesondertprüfen.
RaidblockEnde23:00,regulärerReturn22:55. Read-onlyStatus,keineBewegung/Änderung.
Snapshot checkpoints/2026-11-03-2200-raid-test/status-2236/. NavigationbisEingang
aller10gelungen; alsvollständigen10erTest NICHTerfolgreichwerten, solange
Gruppen-/Eintrittszustand2Botsausgrenzt. NutzerentscheidetnächsteSchritte.
---
# 2026-11-03 21:36 – Neuer Test 21/22 Uhr vollständig eingerichtet
Nutzer meldete Unterbrechung des vorherigen20/21-Tests und verlangte erneut
Vorbereitung, jetzt21:00Gruppenbildung und22:00Raid. AktuelleServerzeit bei
Beginn21:34, daher21Uhr ist der laufendeStundenblock. Bekannte zehn85er:
159Renren,160Marndra,161Marnda,162Aruendas,163Winienwi,164Taliaarnora,
165Brynda,166Corric,167Ragnorli,176Ashaelri;2Tanks167/176,2Heiler161/162,6DPS.
Vorher neun noch inRaid671, Renren schonSturmwind. ZuerstPläne21formation/
the_gilded_rose und22raid/instance_visit_at_6354_d0 gesetzt und20Zeilen geprüft,
danngezielterTestlogout/PositionsresetGoldeneRose. AlteInstanceVisit-/Handoff-
Zustände nurdieser10gelöscht;keineNativeRaidbindungen/anderenBots verändert.
RequestLeaveinderInstanzwurdekorrektabgelehnt;nachLogininSWkurzBehaviorStop,
dannnativeLeavefüralle10. AlteGruppenmitgliedschaften danachleer geprüft,
Schedulefüralle10wiederon. ZuletztALLE10nativ groupformation/GoldeneRose,
Schedule1 undDeadline22:00 bestätigt, Positionen imGasthaus/Umfeld. Winienwi
läuft vomkurzenGruppensuchgangzurückzurTaverne, keinFernflug/alteAnreise.
Loadernurkurzpausiert, jetztwieder1+populationreload. ServerPID84679läuft,
keinBuild/Restart/Codechange. Nutzer beobachtet, KEINE Dauerbeobachtung oder
Auswertungsautomatik. AktuellesManifest/Backups/Offlinepositionen/20verifizierte
Planzeilen undformation-verified.log unter
checkpoints/2026-11-03-2200-raid-test/. Vorherige20/21-Planung ist fürdiesen
Testüberschrieben. NichtbehauptenStartbereits21:00gemessen;Setuperst21:35/36.
---
# 20:02 – Raidgruppe nach Wartungsrestart in Innen-/Außengruppe geteilt
Nutzer fragt warum sechs wieder draußen. Snapshot: draußen159Renren/161Marnda/
164Taliaarnora/165Brynda/166Corric/167Ragnorli, PhaseRest5,injury_applied1,
schedule0; drinnen160Marndra/162Aruendas/163Winienwi/176Ashaelri, PhaseInside3,
injury_applied0,schedule1. Alle derselbeRaid671/Instanz6,Blockende21:00,
regulärerReturnAt20:55, somit kein geplantes20:00-Raidende.
Die sechs waren schon vor Navigationsbuild inInstanz6 (Roster19:30belegt).
SafeLogout ruft adventure stop auf, setztSchedulefalse und beiInstanz
Abort=true. OfflineSave speichertSchedulefalse+PhaseInside. NachRestart
INSTANCE_RESUME diesersechs zeigt gespeichertePhase3, aber tatsächlichen
Playermap0/instance0. InstanzUpdate wertet diesen Kartenmismatch alsRückkehr,
führtReturning->Rest aus und wendet performativenHealthverlust an; dadurch
keinWiedereintrittbisBlockende. Die vier anderen kamen erstnachRestart hinein
und warten korrektinnen. NativeLoadFromDB kann beiInstanz-Loginablehnung oder
fehlendemSave zumEingangsetzen; welcher denyReason hier genau vorlag, wurde
nichtgeloggt und ist nichtbelegt. Nichtbehaupten dieBots hätten sich wegen
Kampf/Unvollständigkeit/Timer bewusstzurückgezogen.
Fehler ist Wartungslogout-/Wiederaufnahmebehandlung: Stop verliertSchedule und
Resume behandelt gespeicherteInside+tatsächlichOutside als regulärabgeschlossenen
Besuch. KünftigpausierenstattIntentabbrechen; Resume muss dieselbeInstanzreise
sauberwiederaufnehmen stattInjury/Rest. NochNICHTbeauftragt/implementiert.
NurRead-onlyDiagnose, keineBotsbewegt. Artefakteinstance-resume-split/.
---
# Navigationskorrektur zum lokalen Commit freigegeben
Der Nutzer hat den lokalen Commit der installierten Shared-flight-Korrektur
und ihrer Regressionstests beauftragt. Kein Push und kein weiterer Build oder
Serverneustart für diesen Commit. Gesicherte Binärdateien und Laufzeitlogs
bleiben außerhalb des Commits.
---
# 2026-11-03 – Shared-flight-/Wiedereinstiegsfix installiert
Nutzer beauftragte die vereinbarten Navigationskorrekturen. Implementierung
und gezielte Tests sind abgeschlossen, Build -j10 und Installation erfolgreich.
SharedTrail veröffentlicht beim Ersatz den Landepunkt und einen Nachfolger;
Store invalidiert auch komplett ersetzte Flugrecords. Folger lösen Ersatzketten
auf und warten auf fehlende Landepunkte/Punkte höchstens120s. SharedJoin plant
von der tatsächlichen Position zu einem nahen verbleibenden Punkt der
Anführerroute, statt alte Historie ab Punkt0 nachzufliegen. Luftige Zielpunkte,
Steigung, vertikales Ausweichen und Plattformvolumen werden dabei geprüft.
LandFollowing unterstützt beide Folgemodi. Shared-Zwischenlandung endet als
Recovery/Failed, nicht als vermeintliche Raidankunft. Der Gruppenmanager bricht
validierte Shared-/action-owned Nachholflüge nicht mehr ab, wenn der Leader
bereits gelandet ist. Makroroutenwahl bleibt beim Anführer.
Gezielte Regressionen PASS: shared_flight_rejoin (synthetischer Nach-Taxi-
Anschluss und Winienwis Originalkoordinaten, blockierter alter Rückweg,
Turmplattform), shared_flight_landing (Recordersatz, Publication, Timeout,
Abort), group_flight_follow (beide Landemodi), flight_handoff (echter
Update-Replan publiziert Ready+Replacement), adventure_group_travel (Leader
landet vor Folger), flight_policy, elevated_flight, free_flight und
flight_takeoff_handoff. Alter test_flight_departure war schon vor diesem Task
mit unordered_map::at defekt; nur sein Store-Testdouble angepasst, kein PASS
für diesen alten Test behaupten.
Builds jeweils mit pausiertem Loader und erneutem SafeLogout eingeleitet.
Vor Installation volle5min seit letzter Anforderung19:36:15 eingehalten.
12 Restbots samt GUID/Fraktion/Position und verfügbaren Native-Flags gesichert;
nicht verfügbare individuelle Combat/Taxi/Teleportwerte explizit null, Status-
Aggregate und Transportausgaben zusätzlich im pre-shutdown.log.
Shutdown erneut bekannter separater GameObject::RemoveFromWorld651-ZoneScript-
Fehler, Core worldserver-20261103-184941.core und passende alte Executable
worldserver-before-fix gesichert. Nicht als behoben darstellen.
Neuer Server PID84679, frische ready-Meldung, Ports8085/8087 und Fortbestand
verifiziert. 118 Bots wieder online, Loader1, safeLogout pending0. Restbots
nach tatsächlichem Online geprüft (frühere Abfragen während Login waren noch
ungültig). Hildda64/Norara91/Volakmar128/Ashaelri176 hatten danach gescheiterte
oder fehlende Flugrecords und hingen über Boden: nativ in Fraktionshauptstadt
teleportiert, Ergebnispositionen bestätigt. Reguläre Flüge/Taxi beibehalten.
Winienwi163 wurde für diese Anreise NICHT teleportiert. Nach sicherem Logout
am Taxiknoten und normalem Relog flog sie 19:44:43 selbstständig zur Bastion,
landete19:46:30 auf validiertem Boden und erreichte19:46:32 den Eingangsknoten
(-4899.67,-4222.36,827.764). Route Completed, Flight Arrived. Dieser Live-Flug
war eigenständig ohne SharedTrail-Bindung; Live-Erfolg deshalb nicht als
vollständigen Live-Nachweis aller Rejoin-/Replacementfälle ausgeben. Diese
sind durch die Produktionscode-Regressionen abgedeckt, Spielabnahme bleibt
beim Nutzer. Originale Raidpläne beibehalten, keinen neuen Testtermin oder
Dauerbeobachter eingerichtet.
Artefakte checkpoints/2026-11-03-shared-flight-rejoin/ (result.json,
winienwi-live-arrival.log, Build/Install/Startup/Recovery und Roster).
Neuer Test tests/clientless/test_shared_flight_rejoin.py ist noch untracked;
Source-WIP bewusst uncommittet, Nutzer hat in diesem Turn keinen Commit/Push
beauftragt. Vorherige Änderungen/Checkpoint-WIP erhalten.
---
# 2026-11-03 – Shared-flight-/Wiedereinstiegsfix in Arbeit
Nutzer beauftragt die vereinbarten Korrekturen. Implementiert:
- SharedTrail.Replace veröffentlicht Landepunkt sofort und verlinkt Nachfolger.
- Store invalidiert/verlinkt auch beim Ersatz eines kompletten Flugrecords.
- Folger lösen Ersatzgenerationen auf, setzen ihren Join-Cursor zurück und
warten auf unvollständige/ausbleibende Punkte maximal120s; Abbruch/Ende greift
früher. Keine unbegrenzt gehaltenen verwaisten SharedPointers mehr.
- SharedJoin sucht unter den verbleibenden Punkten die nächsten räumlichen
Kandidaten (max8 geprüfte Kandidaten). Geometrieplaner erstellt sicheren
Anschluss an den luftigen Wegpunkt, einschließlich begrenzter Steigung,
vertikalem Ausweichen und Plattformprüfung. Keine neue Gruppen-Makroroute.
- LandFollowing unterstützt SharedRoute und MovingTarget. Direkte lokale
Landung nur nach Volumenprüfung; Shared-Regroup endet FAILED statt fälschlich
Raidankunft ARRIVED, damit der Executor neu plant.
- Gruppenmanager lässt Shared-/action-owned Nachholflüge weiterlaufen, wenn
der Anführer schon gelandet ist; direkte Flugformation bleibt unverändert.
Tests bestanden: shared_flight_rejoin (inkl. Winienwis Originalkoordinaten,
blockiertem altem Rückweg, sicherem neuem Anschluss und Turmplattform),
shared_flight_landing (Recordersatz, Publication,120sWait,Abort),
group_flight_follow (beide Landemodi), flight_handoff (echter Update-Replan mit
LandingReady+Replacement), adventure_group_travel (Leader am Boden),
flight_policy/elevated_flight/free_flight/takeoff_handoff.
Bekannter alter test_flight_departure hatte bereits vor diesem Task einen
unordered_map::at-Abbruch. Store-Testdouble für neue Produktionsmethode ergänzt;
nicht als Gameplaynachweis verwenden.
Loader seit19:30:08 pausiert, safeLogoutall vor JEDEM Build angefordert.
Build1 und Build-final PASS, letzterBuild (GroupGuard) läuft/Log beachten.
Letzte SafeLogout-Anforderung19:36:15+01, konservativ volle5min bis19:41:15
vorShutdown bei Restbots. Noch12Bots; nicht einzeln ausloggen/Transport abbrechen.
Checkpoints/2026-11-03-shared-flight-rejoin/ enthältRoster,Operation,Buildlogs.
Installation/Restart/Restbotprüfung/LoaderRestore noch OFFEN. Kein Commit/Push
beauftragt. Bisheriger Raidtest für diesen Build unterbrochen; nachher vorherige
Bots/Pläne wiederherstellen, nicht ungefragt neuenRaidtest/Zeiten anlegen.
Separater ZoneScript-Shutdownfehler bleibt offen; GDB-Dumps weiter sichern.
---
# Winienwis Flugkorridor: falscher Wiedereinstieg konkret belegt
Nutzer fragt warum trotzfreiemHimmel. FollowTrail bindetSharedIndex0 an alte
650PunkteStreckeTaliaarnora164. ErsterPunkt(19:12:26):(-4863.52,-6715.61,24.22),
bei altem Abflugpunkt Hafen. Winienwi nachTaxi nun(-4170.55,-4748.93,126.786).
GeprüfterAnschluss ist2087.72yd rückwärts zumaltenPunkt, NICHTdirektzurBastion.
Corridor nimmt418Samples. NativeSurfaceprobes anSamples1..5:
Ground126.786,126.785,129.250,126.643,126.372. BeimSample3 nachca15yd
(-4175.523469,-4763.044928) istSplineZ126.04988 +0.5Toleranz126.54988,
aberSurface129.250 => Bodenfreiheitprüfung scheitert zwingend vorRayprüfung.
FollowTrail erhöhtIndex nurbeiDistanz<0.7yd,keineSuchegeeigneterEinstiegspunkte.
Somit Anschluss-/SharedTrail-Fehler; kein BelegversperrterDirektverbindungzumRaid.
ErgänztgemerktenFix: Wiedereinstieg auf passende vorausliegendeTeilroute nach
Taxi/Recovery, eigenergeprüfterAnschluss stattimmerIndex0. Artefakt
winienwi-stuck/wrong-shared-entry.json. NurRead-onlyProbes,keineBewegung.
---
# Winienwi-Status 03.11.2026 19:21
Nutzer fragt Status. Winienwi163 hat nativ einen Taxiflug bis taxi_663/Gipfel
des Siegers im Schattenhochland beendet (19:21:13). Anschließender Freiflug
zur Bastion sofort abgelehnt, weil Spieler noch teleport=1 im Taxi-Landeübergang.
Recoverybudget5 war bereits verbraucht, dadurch gesamterAnreiseversuch Failed.
19:21:18 teleport0, alive1, combat0, Position(-4170.55,-4748.93,126.787),
EntfernungzumRaideingang1140.29yd. Behavior wartet mit 'instance entrance travel
failed; retrying the same visit', gleicherRaidintent/Deadline21:00 aktiv.
Kein alterSharedTrail-Wartezustandmehr. Keine neue Bewegung/Teleport/Änderung
vonCodex, nurRead-onlySnapshot. NächsterautomatischerVersuchnochzuprüfen.
---
# Winienwi zum Portal gebracht, 03.11.2026 19:18
Vereinbarten SharedTrail-/LandFollowing-Fix als offenen Folgepunkt gespeichert,
noch nicht implementiert. Native FlightAbort163 plus kurzer BehaviorStop und
Adminteleport an sichere Position6yd vor StormwinderSchattenhochlandportal
(-8186.15,419.729,116.787). Er benutzte das Portal anschließend selbstständig:
19:18:26 PORTAL_USE_START spawn200627/entry207694/spell85545 und EDGE_COMPLETE
portal_use edge1801, Ankunft Schattenhochland area5140/zone4922. KeinTeleport
direkt insSchattenhochland. Raidroute läuft danach weiter; ersterAbflug dort
19:18:34 scheitert Korridor, Recovery beginntBodenweg, späterKampfreaktion.
Schedule wieder1, ursprünglichesRaidziel/Deadline erhalten. Temporären game_tele-
EintragCodexTempSWHighlandsPortal gelöscht und Katalogreload, Löschung geprüft.
KeineSourceänderung/Build/Restart. User beobachtet Testweiter.
---
# Vereinbarter nächster Navigationsfix, 03.11.2026
Nutzer stimmt dem Vorschlag zu und verlangt ihn zu merken: Flug-Neuplanungen
müssen den geprüften Landepunkt vollständig veröffentlichen, alte SharedTrails
explizit ersetzen/invalidieren und Folger kontrolliert auf die Nachfolgestrecke
übernehmen. Anschluss von tatsächlicher Position prüfen. Unvollständige oder
verwaiste Flugstrecken dürfen kein unbegrenztes Warten auslösen. Sichere Landung
muss sowohl moving-target FollowingPlayer als auch shared-route Following
unterstützen und ihr Ergebnis bestätigen. Gruppenroutenwahl bleibt beim Leader.
Regression: Leader replant während Folger noch am Start wartet und beendet
anschließend Flug; Folger muss nachweislich fliegen oder sicher landen.
Noch NICHT implementiert. Jetzt ausdrücklich nur Winienwi163 zum Stormwinder
Portal ins Schattenhochland bringen; Test ansonsten weiterlaufen lassen.
---
# 2026-11-03 19:15 – Winienwi wartet auf verwaiste Flugstrecke
Nutzer meldet Winienwi163 hängt fest. Native Statusprüfung: Sturmwind
(-8779.848,579.868,119.133), support119.152, mounted1/canFly1/flying0/falling0.
Seit19:09:39 keine Bewegung. FlugstateFlying,0Segmente,Detailwaiting for leader
validated landing. Group3, leader164Taliaarnora. Anführerin fliegt inzwischen
weiter RichtungRaid, nativePosition19:14(-4889.496,-4720.076,555.722).
Rootcause: ClientlessFlightMgr::Update AIRBORNE_REPLAN ersetztPublished durch
neuesSharedTrail ohneLanding/LandingReady zu setzen. BeimLeader16419:09:09
trittdiesauf. Winienwi bindet sich19:09:39 an diesesTrail, landingReady0.
Leaderlandet19:09:45, beginnt19:09:48weiterenFlug. GehaltenerSharedPointerdes
Followers bleibt gültig, aber ohneLandung/ohneAborted. Advancekehrtvorjeder
Bewegung mit waiting for leader validated landing zurück;keinWarte-Timeout.
ZweiterFehler: GroupTravelMgr fordertLandFollowing wegenSeparation, aberdiese
Funktion behandelt nur Status.FollowingPlayer (moving-target mode), nicht
record.Following (shared route). Daherreturnfalse ohneRecovery. Statusdetail
safe landing before ground regroup/leave ist nurAbsicht,keineausgeführteLandung.
NurDiagnosebeauftragt,keineSourceänderung/Build/Teleport/Reset. Artefakte unter
checkpoints/2026-11-03-2000-raid-test/winienwi-stuck/. Korrektur mussLanding bei
Replanpublizieren, alteTrails sauber invalidieren/Followers neu binden sowie
zeitlichbegrenzte sichereRecovery beiverlorenemLeader unterstützen. Aktueller
Raidtestläuftweiter,keineDauerbeobachtung.
---
# 2026-11-03 – Änderungen committet, 19/20-Uhr-Raidtest gestartet
Der Nutzer bestätigt die automatische Clientfreigabe auch mit Allitester:
aus Tausendwinter hinaus und zurück, Flugmount regulär verwendbar.
Source-/Regression-/Diagnoseänderungen lokal in a6572242c6 committet, kein Push.
Separater ZoneScript-Lebensdauerfehler beim Shutdown bleibt ausdrücklich offen.
Auf Nutzerauftrag bekannter 10er-Test wiederholt: GUIDs159–167 und176,
alle85, Tanks167/176, Heiler161/162, sechs Schaden. Alte Gruppen nativ verlassen,
Reise-/Instanz-/Handoffzustände nur dieser zehn bereinigt. Offline-Startposition
Goldene Rose in Sturmwind; Test-Logout/Teleport war ausdrücklich angefordert,
kein Build oder Serverneustart. Loader kurz pausiert, danach wieder1.
Nach erstem Login gestartete alte18-Uhr-Aktivitäten durch gespeicherten
18-Uhr-Ruheblock Goldene Rose und erneuten sauberen Testreset beseitigt.
Vor19:00 alle10 nativ im Gasthaus/zugehörigen Ruheplätzen, kein Flug mehr.
Heute20261103: 19:00 groupformation/the_gilded_rose, 20:00 raid/
instance_visit_at_6354_d0 (Bastion des Zwielichts, normal10). Alle20Planzeilen
verifiziert. Um19:00:16 nativeStatusprüfung: ALLE10 groupformation+GoldeneRose,
Schedule1, Deadline20:00. Kein künstliches Erzwingen der Gruppenzuteilung.
ServerPID71783 läuft. Nutzer beobachtet; KEINE Dauerbeobachtung, KEIN neuer
Auswertungsjob. Bei gewünschter Auswertung Manifest und Live-Navigationslog
verwenden. Artefakte checkpoints/2026-11-03-2000-raid-test/ (Manifest, vorherige
Zustände, Positions-/Planprüfung, formation-started.log). AndereBots unverändert.
---
# 2026-11-03 – Automatische Tausendwinter-Clientfreigabe abgeschlossen
Der Nutzer bestätigte: Allitester kann den Zwielichtboten mit Aura 91262 nutzen.
Die Freigabe wird jetzt automatisch über den direkten AddAura-Pfad gesetzt,
wenn Tausendwinter außerhalb einer aktiven Schlacht betreten wird. Sie wird
beim Verlassen oder Schlachtbeginn entfernt und nach Schlachtende neu vergeben.
Fremde Mount-Einschränkungen ohne Flugfreigabe werden nicht übergangen.
Gemeinsame serverseitige Mount-/Zauber-/Planerprüfung bleibt erhalten.
Gezielte Tests ClientPermission, WGFlight und MountCast bestanden. Der echte
Live-Test wg_auto_verified_1829 bestand alle drei expliziten Prüfungen:
1. Aura 91262 nach Gebietswechsel automatisch vorhanden.
2. Nach Entfernen aller alten Mount-Auren Zwielichtbote 107844 frisch über
CMSG_CAST_SPELL beschworen; dessen Aura ausdrücklich vorhanden.
3. Nach Verlassen Tausendwinters Aura 91262 nicht mehr vorhanden.
Testcharakter Morvath 150 wurde anschließend automatisch ausgeloggt.
Testbot-API dafür generisch um has_aura/remove_aura ergänzt, ohne Botprofile
oder AdventureBot-Steuerung als Abhängigkeit einzuführen.
Build -j10 und Installation erfolgreich. Der erste Restart dieser Aufgabe
hatte noch den separaten GameObject::RemoveFromWorld/ZoneScript-Absturz;
Core worldserver-20261103-180256.core und passendes worldserver-before-fix
im Checkpoint sind erhalten. Beim ergänzenden Build war der Loader weiterhin
pausiert, SafeLogout erneut angefordert und null Sessions nachgewiesen.
Der anschließende Shutdown von PID68290 endete NORMAL. Kein weiterer Core.
Matching Binary worldserver-before-direct-aura ist gesichert.
Finaler Server PID71783: frische ready-Meldung, Ports 8085/8087 und Fortbestand
bestätigt. 118 Adventure-Bots online, Loader wieder 1, SafeLogout pending 0.
Restbots vor dem ersten Shutdown mit GUID/Fraktion/Position/Flags gesichert.
Recovery nach Wiederanlauf: Gargar93 und Volakmar128 hingen ohne Flugzustand
über dem Boden; beide nativ nach Orgrimmar teleportiert, Ergebnis geprüft.
Andere normale Taxi-/Transportzustände unverändert. Allitester nicht manuell
teleportiert oder verändert; Clientfreigabe wird nun automatisch verwaltet.
Artefakte: checkpoints/2026-11-03-wg-client-permission/ (Live-Ergebnis,
Testskript, Build/Install/Startup, Roster, Recovery und result-final.json).
Große Artefakte bleiben lokal per .git/info/exclude von der UI-Erfassung
getrennt; keine großen Git-RAM-Jobs mehr beobachtet. Keine Dateien gelöscht,
keine Commits/Pushes. Alle früheren Source-WIP sind erhalten.
Die erneute visuelle Abnahme mit Allitester steht noch aus. Der separate
ZoneScript-Lebensdauerfehler beim Shutdown ist noch nicht behoben.
---
# WG-Clientpermission Nachprüfung/zweiterBuild läuft
ErsterClientpermissionBuild/Install erfolgreich, PID68290 ready+Ports bestätigt.
Loader weiterhin0, AdventureBotsnochNICHTwiederhergestellt,Online0.
ErsterLiveTest nurmounted/canFly,DBAuraSaveKeinNachweis(kein91262 gespeichert),
vorhandeneMountAura32243machtaltenTestnichtaussagekräftigfürfrischen107844.
DaherVergabe vonCastSpell aufAddAura umgestellt (direkterGM-AuraPfad).
TestbotAPIgenerisch umhas_aura/remove_aura erweitert, um echteaktiveAuren zu
prüfen stattvorhandeneMountsfehlzuinterpretieren. NeuesScript
automatic_permission_verified.lua:Altmounts+91262entfernen,WGbetreten,
HasAura91262prüfen,nativeRequest107844,HasAura107844prüfen,Orgrimmar,
HasAura91262mussfehlen. DreiChecksimResult verpflichtend!
VorZweitbuildpopulationreload+safeLogoutall erneutangefordert,Online0;Build-j10
läuft(build-direct-aura.log),Install/RestartnochOFFEN. Keineerneute5minnötig,
weilkeineSessions. AktuellenMatchingBinaryvorInstallalsworldserver-before-direct-
aura sichern. BisherigerShutdown182? wiederGameObject::RemoveFromWorld651
m_zoneScript->OnGameObjectRemove,Core180256+Matchingworldserver-before-fixim
client-permissionCheckpoint gesichert. OffenerZonenScriptLebensdauerbug.
AllealtenSourceWIP erhalten. LoaderamEndewieder1+vorherige118Botwiederherstellen.
---
# WG-Clientfreigabe nach bestätigtem Allitester-Auratest in Arbeit
Nutzer bestätigt .aura91262=>Zwielichtbotegeht. AutomatischeSynchronization nun
BattlefieldMgr::UpdateWintergraspFlight(Player*/Map*): setzt91262beiWG-Frieden,
entferntbeiVerlassen/Schlachtbeginn; OnBattleStart/End refreshtSpielerimGebiet,
Player::UpdateArea refreshtbeimGebietswechsel. Fremde336-AurenohneFlug2werden
nichtübergangen. BestehendeServermount/SpellInfo/Planner-Ausnahmenbleiben.
Tests ClientPermission/WGFlight/MountCast PASS. Testbot150hatvorher KEINE
91262incharacter_aura, ermöglichtNachweisautomatischerVergabe nachRestart.
Build-j10läuft. Loader1->0+reload+SafeLogoutlautoperation.json, volle5min-Regel;
Artefakte checkpoints/2026-11-03-wg-client-permission/. Installation/Restart/
Recovery/LoaderRestore+automatischeAura-Liveprüfung noch ausstehend.
Gitgroßartefakteweiterlokalausgeschlossen,keineGitRAMjobs. AlleanderenWIPerhalten.
---
# Allitester21: GoldenerGreifgeht, Zwielichtbote107844nicht
Nutzerkorrektur: GoldenerGreif nutzbar, Zwielichtbote MeldungIhrkönntdashiernicht
verwenden. Allitester21 lvl85 map571zone4197 pos4503.28/1941.55/435.29,
Riding375/375,54197+90265+90267aktiv,107844gelernt. DBgespeicherteAura2458,
keineMountRestriction-Aura. Native Testbot150lvl80/riding375/54197/107844:
CMSG_CAST_SPELL amBodenWG erfolgreich mounted1/canFly1. Testscript autoLogout,
Ergebnis twilight-harbinger-native-test.json. Somit serverseitiger Aufruf beider
Mounts erlaubt, Client-Freigabe weiter unvollständig. DBCMountType107844=238,
GoldenerGreif32235=248. AreaMountFlags13imClient fehlenweiterFlug2.
Client-Freigabe-Aura91262 Wintergrasp-InactiveEnableFlyingMounts hat336/misc15,
91285ActiveEnableFlyingMounts ebenfalls15,86973PermittedFlightArea15.
Keine dieserAuren aktuellinspell_area. AsynchroneDiagnosefrageanNutzer:
Allitester SELBST anwählen,.aura91262,Zwielichtbotetesten;entfernbar.unaura91262.
AntwortnochAUSSTEHEND. Keine neue Source-/DBänderung für diese Nachdiagnose,
kein weitererBuild/Restart. UsernachweisdesClienttests vor3.Korrekturabwarten.
Wennbestätigt: ClientFreigabe an friedensabhängigeWG-Regel koppeln, bei
Schlachtbeginn sicherentfernen,beimVerlassenauch. ServerseitigeAura-Priorität
in Unit/SpellInfo beachten,damit91262währendBattlekeinFluglochöffnet.
---
# WG-Mountcast und Git-Speicher korrigiert, 03.11.2026
SpellInfo::CheckLocation ONLY_FLYING_AREAS verwendet jetzt ebenfallsWG-Regel;
expliziteMountRestriction-Auren weiter vorrangig. Test_wintergrasp_mount_cast
mitextrahiertemProduktionsblock PASS. Build-j10/Install PASS. SafeLogout17:56:10,
volle5min,15Restbots+Flags/Positionssnapshotgesichert. Shutdown andererCrash:
Creature::RemoveFromWorld329 GetZoneScript()->OnCreatureRemove(this), Core
worldserver-20261103-174952.core+Backtrace, matchingworldserver-before-fix
imwg-mount-castCheckpoint. ZM-DoubleDelete nichtimneuenStack. Nochzuuntersuchen.
NeuerServer PID61228 ready+Ports8085/8087 bestätigt. 118erRoster wiederhergestellt,
Loader1,pending0. Suspendierte160/176/186 nachRestart Fraktionshauptstadt,
Positionen nativ bestätigt,160fliegtanschließendnormal. KeineanderenTransport-
Übergängeunterbrochen. Testbot150MorvathLevel80/riding225/coldweather/32243
amBodenWG(4059.27,2747.79,354.88): RequestCast=nativesCMSG_CAST_SPELL,
nativeProbe mounted1/canFly1/falling0. Scriptpassed,autoLogoutabgeschlossen.
Kopielive-test.json+native-evidence.log imCheckpoint. EchterSpieler-Abnahmeoffen.
Git-RAM:UItemporaryIndexgitadd verarbeitete1.1GBbackups. GroßeDiagnosedateien
lokal.git/info/exclude,keinDateiverlust/keinnormalerGitIndexeingriff. ZweiUIjobs
nachenv/cwdPrüfungbeendet,keineweiterengitProzesse danach,RAMentlastet.
NeuegroßeArtefakteweiterlokalausschließen! KeinCommit/Push dieserWIP.
---
# 03.11.2026 weiterer WG-Mountpfad und UI-Git-RAM in Arbeit
Nutzer meldet Einfluggeht, Aufsitzennicht+mehrere1GB-Gitprozesse.
Übersehener SpellInfo::CheckLocation ONLY_FLYING_AREAS-Pfad liestMountFlagsdirekt.
Jetzt ebenfalls gemeinsameWG-Regel eingebunden, expliziteAuraMountRestriktionen
bleiben vorrangig. Produktionsextrakt-Test test_wintergrasp_mount_cast.py PASS
fürHaupt/Untergebiet/Frieden/Schlacht/Ende/anderesGebiet/Auravorrang.
Build-j10läuft. Loader1->0+reload+SafeLogout17:56:10+01, volle5min-Regel.
Artefakte checkpoints/2026-11-03-wg-mount-cast/. Install/Restart/Recoveryoffen.
Gitprozesse sind CodexUI-diff gitadd mit GIT_INDEX_FILE=/tmp/.../index.
Mehrere1.1GBServerbackups +100MBLogs lagenuntrackedimRepo=>UIhashtealles.
Große>10MBArtefakte individuell inlokaler.git/info/exclude ausgeschlossen,
auchZukunftsmusterworldserver-before-*. KeineDateigelöscht/keinrealerIndexgeändert.
Zwei laufendeUIgitadd58568/58654 nachPrüfungcwd+tempindex perSIGTERMbeendet,
keineweiterengitProzesse danach. Vorher mehrereGBRAM, Swapvoll; nunentlastet.
AlleSourceWIPerhalten; keinCommit/Push.
---
# Tausendwinter-Flugkorrektur installiert und nativ geprüft
Gemeinsame BattlefieldMgr-Regel in Unit-Mountprüfung und ClientlessFlight-Estimate.
Frieden/disabled/fehlend erlaubt WG+Untergebiete, aktive Schlacht gesperrt;
explizite MountRestriction-Auren bleiben unangetastet. Tests WG/FlightPolicy/
TakeoffHandoff/FreeFlight PASS, Build-j10 und Install PASS.
Wichtig: Während Build um17:46:55 Kernel-OOM-Kill PID54176 (journalgesichert),
KEIN normaler Shutdown/keinCore; gestartetes SafeLogout17:46:15 hatte bis Kill
nahezu alle ausgeloggt, DBRest42+169 gesichert. Loader blieb0 bis frischemStart.
Keine forcierte Einzelabmeldung, keine Binaryinstallation am laufendenProzess.
Nach erfolgreichemBuild frischerGDBStart PID57089, ready+Ports8085/8087 bestätigt,
118Bots wiederonline, Loader1/population reload,pending0. Kernel-OOM-Evidenz
checkpoints/2026-11-03-wg-flight/kernel-oom.log. -j10 weiterhin Nutzerregel,
Parallelbuild mit11GiRAM/vollemSwap hat hier OOM ausgelöst, nicht Codecrash.
Nativ35Karggan/162Aruendas/176Ashaelri an ORIGINALEN WGPositionen nachLogin:
alle mounted1/canFly1/falling0, keineTeleportation dieser3. VolleReisefortsetzung
noch nichtverifiziert. OOMRest42geerdet,169Bromdan suspendiertohneFlugzustand:
RecoveryStormwind, Position+anschließend regulär flying1 bestätigt.
Testartefakte/Operation/Roster/NativeEvidence/result.json imwg-flightCheckpoint.
KeineCommits/Push, alle bisherigen anderenWIPbewahrt. User-Spielabnahme offen.
---
# 2026-11-03 Tausendwinter-Flugkorrektur in Arbeit
Nutzer beauftragt Fix. Gemeinsame BattlefieldMgr::IsWintergraspFlightAllowed
prüft map571+DBCManager::IsInArea(4197), erlaubt bei fehlendem/deaktiviertem
Battlefield oder Frieden, verbietet aktive Schlacht. Unit::GetMountCapability
ergänzt Flugflag nur im normalen Gebietspfad, explizite MountRestriction-Auren
bleiben vorrangig. ClientlessFlightMgr::Estimate nutzt dieselbe Regel auch für
Untergebiete und lehnt aktive Schlacht ab. Keine DBC-/DB-Änderung.
Test_wintergrasp_flight.py und FlightPolicy PASS, Abflug-Handoff PASS.
Loader1->0,population reload,safe logout all17:46:15+01; Build-j10 läuft,
volle5min bis Shutdown bei Restbots. Roster/Operation/Logs:
checkpoints/2026-11-03-wg-flight/. Install/Restart/Recovery/Restore ausstehend.
Alle anderen WIP erhalten. Nicht committen/pushen ohne Nutzerauftrag.
---
# Tausendwinter: permanentes Flugverbot im Gebietspfad identifiziert
Nutzer selbst beim Einfliegen abgemountet, Bots35/162/176 suspendiert.
Konfig Wintergrasp.Enable0; BattlefieldMgr::GetBattlefieldToZoneId ignoriert
Disabled, Update ignoriertDisabled, daher kein Beleg laufender Schlacht.
Statische enUS AreaTable.dbc:4197 UND alle Untergebiete MountFlags13(0x0D),
AllowFlyingMounts0x02 FEHLT durchgehend. Unit::GetMountCapability nutzt diese
Flags ohne wartimeabhängige WG-Ausnahme (außer allgemeinen MountRestriction-Auren),
Player::UpdateArea ruft UpdateMountCapability, dadurch Flugfähigkeitverlust bei
Zoneneintritt unabhängig von Battlefield-IsEnabled/IsWarTime möglich.
ClientlessFlightMgr nutzt ebenfalls statische AreaMountFlags zur Planung.
Navlog bestätigt17617:10:24/16217:20:06 flight permission lost or total timeout,
map571 Z397.55/Z385.85 an vomNutzer beobachteter Stelle.
91604-SpellArea selbst ist durch Enabled/WarTime geschützt; alleinige Änderung
CanFlyIn wäre keine Lösung. Nächster Fix muss gemeinsame Mountfähigkeitsprüfung
und Botplaner mit identischer tatsächlicher WG-Freiflugregel versorgen, reguläres
Wartimeverbot erhalten. Keine Änderung/Build/Teleport für diese Diagnose.
---
# ZM-Ownershipkorrektur abgeschlossen, 03.11.2026
ASan100Zyklen PASS, alte Variante heap-use-after-free reproduziert; Build-j10 und
Install PASS. SafeLogout17:20:08, volle5min eingehalten; verbleibende21 mit
GUID/Fraktion/Position/Diagnosen gesichert. Alter Server beim Shutdown erneut
bekannter Crash, Core164154+passendes Binary im zm-ownershipCheckpoint gesichert.
Neuer Server PID54176, frische ready-Meldung,Ports8085/8087 und Fortbestand
bestätigt. Vorherigen118erRoster wieder eingeloggt, Loader1 wiederhergestellt,
safe logout pending0. Recovery bei suspendierten Bots ohne Flugzustand:
73/92/112/118/161/163/164/165/167/186 nativ Fraktionshauptstadt teleportiert,
Positionen nachher bestätigt;118/164 fliegen anschließend wieder regulär,
keine Fallbewegung. Übrige reguläre Taxi-/Transportzustände erhalten.
Gezielter ASan-Abbautest verifiziert Fix; vollständiger Shutdown der neuen
Version noch nicht durchgeführt. Keine weiteren Build-/Neustartschleifen nötig.
Kein Commit/Push beauftragt. Alle bisherigen anderen WIP erhalten.
Artefakte checkpoints/2026-11-03-zm-ownership/; Regression
tests/clientless/test_zm_graveyard_ownership.py.
---
# 2026-11-03 ZM-Ownershipkorrektur in Arbeit
Nutzer beauftragt Fix. m_Graveyard nun nichtbesitzender initialisierter Zeiger;
AddCapturePoint übernimmt einziges Eigentum. Regression extrahiert echte
Member-/Setup-/AddCapturePoint-Implementierung: ASan100Zyklen PASS, alte Variante
ASan heap-use-after-free reproduziert. Build-j10 läuft. Loader1->0+population
reload+safe logout all um17:20:08+01 angefordert; volle5min-Regel. Roster/Logs
checkpoints/2026-11-03-zm-ownership/. Installation/Restart/Recovery/Loaderrestore
noch ausstehend. Alle vorhandenen anderen WIP bleiben erhalten.
---
# Shutdown-Dump untersucht: doppelte Ownership des Zangarmarschen-Friedhofs
Core144731 mit exakt gesichertem worldserver-before-fix geladen. Crash Nullcall
beim delete OPvPCapturePoint0x7ffeba24c740, Mapkey0. Stack OutdoorPvPZM-Destruktor
->OutdoorPvP-Destruktor->m_capturePoints-unique_ptr-delete. SetupOutdoorPvP
OutdoorPvPZM.cpp196/197 erzeugt m_Graveyard als unique_ptr und registriert .get()
mit AddCapturePoint. OutdoorPvP.cpp427 reset(cp) übernimmt denselben Zeiger
nochmals in einen unique_ptr. Abgeleiteter Destruktor löscht m_Graveyard zuerst,
Basisklassenmap löscht den bereits zerstörten CapturePoint erneut. Dump bestätigt
m_Graveyard=null im Basisklassenabbau, m_TypeId4, CapturePointmapkey0, Nullcall.
Rootcause doppelte Ownership, unabhängig von AdventureBot-Navigation. Zonenladen
kann Instanziierung herbeiführen; zum Fehler reicht anschließender Objektabbau.
Korrektur: ausschließlich CapturePointmap besitzt Objekt; ZM m_Graveyard als
nichtbesitzender Verweis. Noch nicht implementiert, nur Diagnose beauftragt.
Gezielte GDB-Ausgabe checkpoints/2026-11-03-shutdown-analysis/gdb.txt.
Kein Build/Restart/Änderung am laufenden Server.
---
Abschluss: PID51247 bleibt aktiv,118 Bots online,Loader1/pending0.
Recovery102+159 nativ in Sturmwind(-8833.07,622.778,93.932),keineFallbewegung
verifiziert. Build/Tests bestanden wie dokumentiert, Spielabnahme bleibt offen.
# 2026-11-03 Korrekturen installiert
Abflug/verspätete Bridge-Sperre implementiert, gezielte Regressionen PASS,
Build-j10/Install erfolgreich. SafeLogout16:35:11, nach voller5min Rest19
mit DBRoster und nativen info/flight-probe/transport-Ausgaben protokolliert.
Shutdown erneut bekannter separater Destruktorcrash: Core144731+Backtrace,
passendes altes Binary im takeoff-recovery-Checkpoint gesichert.
Neustart PID51247, frische ready-Meldung+Ports8085/8087+Prozess bestätigt.
119erRoster nativ wieder eingeloggt; zunächst Hallan158 fehlend, Login nachgeholt.
Loader wieder1, native population reload, safe logout pending0.
Restbots nachLogin geprüft. Renren159 und Corren102 ohne aktiven Flug,
aber über Boden suspendiert: Recoveryteleport Hauptstadt Sturmwind ausgeführt.
Corren versehentlich zuerst Orgrimmar angefordert, sofort nach Sturmwind korrigiert.
Andere laufende Flüge/Taxirecovery nicht abgebrochen. Abschließende Verifikation
noch ausstehend. Keine Commits/Push in dieser Aufgabe. Spielabnahme offen.
---
# 2026-11-03 Abflug- und Recoverykorrektur in Arbeit
Nutzer beauftragt beide Korrekturen. ClientlessFlightPath setzt Departed nicht
mehr bei Segmentausgabe, sondern beim folgenden Planen anhand tatsächlicher
Bodenfreiheit >=Safety. Geprüfte Departure-Korridore/Vertikalfallback gelten
bis dahin weiter. RecoverTravel sperrt verspätet abgelehnte dynamische
local_bridge-Kanten mit from->to auch bei route-local-PathRejected.
Neue Regressionen test_flight_takeoff_handoff.py und test_dynamic_bridge_recovery.py
PASS. Free-flight, elevated, handoff, shared/group flight, policy, planner,
group-travel, ground-exit und recovery-policy PASS. Unveränderter bestehender
Abflugtest test_flight_departure.py scheitert mit unordered_map::at in seinem
Testdouble; ClientlessFlightMgr.cpp wurde in dieser Aufgabe nicht verändert.
Loader1->0, population reload, safe logout all um16:35:11+01:00 angefordert.
Build-j10 läuft; keine erneute 60s-Ausnahme: volle 5min vor Shutdown bei Restbots.
Operation/119erRoster/Buildlog: checkpoints/2026-11-03-takeoff-recovery/.
Installation/Restart/Recovery/Loaderwiederherstellung noch ausstehend.
---
# Erster Abflug: Diagnose und ausdrücklich gemerkter Recovery-Punkt
Nutzer stimmt dem Recovery-Befund zu und verlangt, ihn zu merken: verspätete
PathRejected-Fehler dynamischer local_bridge-Kanten (DbId0) müssen die konkrete
Verbindung für die Reise sperren, damit Recovery Alternativen sucht. Als offener,
abgestimmter Folgepunkt festgehalten; noch KEINE Implementierung beauftragt.
Erster Abflug 03.11.2026 14:28:59, Ashaelri176: erster Segmentendpunkt
(-8811.23,607.63,109.21), Abbruch bereits bei(-8826.7,622.306,96.4122).
ClientlessFlightPath::Next setzt Memory.Departed=true bereits bei AUSGABE des
ersten Segments. Update plant bei <=1500ms Restlaufzeit schon währenddessen
weiter. Folgende Next-Aufrufe behandeln den noch bodennahen Bot als Reiseflug:
Corridor prüft auch i=0 und fordert Safety8.0. Read-only native flight probe mit
Renren159/map0 an exakt der historischen XY-Position liefert ground94.314,
ceiling550.000. Somit Z+0.5=96.9122 < ground+8=102.314: JEDER normale Kandidat
scheitert bereits an seinem Startpunkt. Departure-only Vertikal-Fallback ist
wegen Departed=true ebenfalls aus. Kein Beleg für ein unpassierbares Hindernis
als Ursache dieses Abbruchs: der erste Korridor war zuvor freigegeben worden.
Beleg first-departure-analysis.json und native Probe im startup.log unter
2026-11-03-ground-validator. Probe176 war auf map530 unbrauchbar; nur Probe159
auf map0 für die Rechnung verwendet. Bots dabei nicht bewegt/umgeplant.
Korrekturvorschlag: Abhebezustand bis tatsächlich ausreichender Bodenfreiheit
beibehalten, anschließende Korridore weiter mit geprüfter Abflugfreiheit planen;
Handoff während Abheben konsistent behandeln. Keine Sourceänderung/Build/Restart.
---
# Greifenmeisterroute rekonstruiert (keine neuen Sourceänderungen)
NutzerfragtwarumTaxi2/warumkeinGreif/warumgleicheRetries. RotiertesNavlog
adventurebot-navigation.log.2026-11-03_15-10-07 enthältOriginalablauf.
14:28:49Rose->Tradecenter;14:28:58FreiflugzumPortalGOspawn200627,
DBentry207694PortaltoTwilightHighlands(-8186.15/413.729/116.75).
14:28:59keinbegrenztersichererFlugkorridor,14:29:00sicherzurückTradecenter.
RecoverywähltTaxi2ALSSTARTANKER,läuftdorthin(19sec),nächsteKanteist
weiterhinfree_flightzumPortal,nichtTaxi. DortAbflugpunktsucheliefert106.2yd
Bodenweg64ydSuchradius,derownerValidatorunterbricht. NächsteRecoveryroute
Taxi2->Tradecenterlocal_bridge(Id0) scheitert5malwiebekannt.
GenauerRetrybug: StartTravelgibt trotzsofortStatusPathRejectedtruezurück,
daherlocal_bridgeStartzweigmitFailedBridgeKeys.insert(from->to)wirdübersprungen.
SpäterallgemeinerUpdateMoving-Zweigmeldetroute-local-PathRejected/DbId0;
RecoverTravelblockiertnurDBIds!=0. SonderblockfürStartankerbetrifftnurRouteStep0,
hierStep1=>keineSperre. ReiseKostenprofil/JitterbleibtproReisefest(gewollt),also
bleibtungesperrteBrückebesteRoute. KeineTaxi-Fahrtangefordert/fehlgeschlagen.
NumerischenhistorischenKostenvergleichPortalvsGreifnichtbehaupten; Logbelegt
gewähltePortalroute,keinegespeichertenAlternativkosten. Artefakteoriginal-route.log,
route-before-stuck.log,original-route-explanation.jsonimground-validatorCheckpoint.
NurRead-onlyAuswertung+Checkpoint,keinweitererBuild/Teleport/Reset.
---
# Gruppensicherheitsdiagnose abgeschlossen: konkrete LOS-Kollision
NeuesteAufgabe: Nutzer verlangt genauenAblehnungsgrund fürAshaelri176/Corric166/
Taliaarnora164 amSWGreifenmeister. MangelsDetaildiagBuildangefragt; Nutzer
explizitJA+einmaligeFrist60s statt300s (nurfürdiesenDiagBuild!).
19ZeilenWARN-DiagnoseinAdventureGroupTravelMgr.cpp plusTestmacro ergänzt;
keineBewegungs-/Sicherheits-/Planungsregelngeändert. Test_adventure_group_travel
undBuild-j10PASS,InstallPASS. Loaderpausiert+SafeLogoutall vorBuild14:41:37,
22Restbots+verfügbareFlagsgesichert, erstnach>202snormalShutdown10. Kein
EinzelForceLogout/FlightAbort. WiederShutdownNULLcall,Core121738+passendesELF
worldserver-before-diagnosticsgesichert. Standard5MinfürkünftigeBuildsbeibehalten.
Befundnativerstfüralle3gleich: LOSsegment9von(-8856.588,517.633,109.881)
nach(-8858.637,521.069,109.340) scheitert. VorigeBodensamplesbestanden.
OfflineRay-Triangle-NachrechnungmitechtenVMAPDateien reproduziertTrefferin
Sw_Tradedistrict.wmo spawn46365,group13/id27435,Tri37+43,erstTreffer
(-8856.671,517.772,109.859). Zwei senkrechteFlächenaneinerModellecke;
welchersichtbareBauteilunbekannt. NahesFass46585nichtgetroffen.
Daher ursprünglicheBlockadekonkreteSichtlinienkollision,keinMaxSlope-/Height-
Schwellwertfehler. SpätereErsatzpfadehabenandereBoden/LOSAblehnungen.
KompletterMMAPPfadenthältgeradenTeilstreckenstrahl,derechteVMAPgeometrie
schneidet. RecoverywähltdieselbeID0local_bridge=>5fachExhausted.
NochKEINNavigationsfixvorgenommen; sinnvolleKorrekturwäregeometriesichere
lokaleUmgehung/Stützpunktwahl+RecoveryfürsynthetischeBrücken,keinblindes
LockernvonPrüfungen. Artefakte checkpoints/2026-11-03-ground-validator/README.md,
result.json,confirmed-rejections.log,check_los_mesh.py,los-triangle-hits.json.
Server40815/GDB40804ready/Ports/Coreunlimited.119vorherigeBotsrestauriert,
Loader1/Pending0/native119online.22Restzuständegeprüft;42/99/118ausgescheiterter
HängefluglageinHauptstadtgeborgenundPositionsfortschrittgeprüft. DreiRaidbots
176/166/164NICHTteleportiert,zurDiagnoseanOriginalpositionangemeldet;
natürlicherPlanwechselnachRestartführtesieaufandereWege,keinenFixbehaupten.
Raidschedule15für03Novbleibtgesetzt,keineZeit-/Tagesplanänderungen;
Nutzerbeobachtetselbst,KEINVollzeitobserver. SourceDiagundTestuncommitted.
LetzterCommitfe03ea8ca5 VMAPFix unverändert,CrashBasisjetzt144731.
---
# Raidtest: dreiBotsamSWGreifenmeister blockiert, Diagnosegesichert
NutzermeldetAshaelri176/Corric166/Taliaarnora164fest. Read-onlyNativeab14:31:
alleamTaxi2(-8841.06/489.656/109.607),Gruppenleader176,group6.
LokaleBrückeTaxi2->stormwind_tradecenter (DbEdgeId0) MMAPkomplett/nichtverdächtig,
48Punkte/189.55yd/maxDeltaZ2.88; StartTravelweistOwnerGroundSafetyValidatorab.
Owner=AdventureGroupTravelMgr::ValidateGroundPath, prüftBodensamplesalle2yd
undVMAPLoS. WelcherSample/LOSgenauabgelehntwirdnochNICHTdiagnostiziert;
keinenfalschpositivenFilterbehaupten. Flugabflugvorbereitunggroundapproach
interrupted Folgefehler. FünfRecoveryReplanswählendieselbeId0Brücke,
blockedEdges0=>RecoveryExhausted. BekannteoffeneGroundSafety/RecoveryBaustelle
nunlivewiederbeobachtet,nichtdurchVMAP-LifetimeFixbehobenbehaupten.
Rohlogssowiejsonuntercheckpoints/2026-11-03-1500-raid-test/gryphon-master-*.
KeineTeleports/Reset/Sourceänderung/Build/RestartoderVollzeitbeobachtung.
NutzerbeobachtetlaufendenTestselbst,AuswertungnuraufAnforderung.
---
# NeuerZehnerRaidtest03.11.2026 eingerichtet, Nutzerbeobachtet
NutzerstartetWiederholungundverlangtKEINEVollzeitbeobachtung/automatischeAuswertung.
Gleiche10GUIDs159/160/161/162/163/164/165/166/167/176,alle85,
2Tank(167/176),2Heal(161/162),6Damage. AlleofflinezurGoldenenRoseposition
map0 -8864.73/669.015/97.9031 teleportiertundverifiziert,alle10nativangemeldet;
zusätzlichonlineStandortgesetzt,alteReiseexecutorendurchLogoutneugestartet.
NativeGruppenaltzustand2nur159/162überinteractionleavegelöst,keineSQLGroup-
Manipulation/zwangsweiseRaidzuteilung. AlteHandoff/InstanceVisitnurfürdiese10
vorhergesichertundofflinegelöscht. Tagesplänenativeditplanerst15raid/
instance_visit_at_6354_d0,dann14groupformation/the_gilded_rosegesetzt;
alle20Rowsfür20261103verifiziert. Normaler10erModus,2/2/6.
Gruppenbildensichnativ(anfangsevtTeilgruppen2/5),keinenFormationManagerrun
manuellausgelöst. NativeRebalance/FrühabreisebleibenwievorigenTestsaktiv.
TemporärerGM-Teleportwiederentfernt+Reload. LoaderwährendSetup0,amEnde1+
ConfigReload/PopulationReloadrestauriert. AnderePläne/Profileunverändert.
Checkpoint checkpoints/2026-11-03-1500-raid-test/manifest.json,verified-plans,
roster-before,offline-rose,configured-native,groups-at-setupundBackups.
KEINObserver/Timer/Evaluationjob gestartet. ErstaufNutzerwunschAuswertung.
AktuellerServer33318/passivGDB/Crashaufzeichnungbleibtaktiv,keinBuild/Restart.
---
# VMAP-Fix lokal committed: fe03ea8ca5
Auf Nutzerauftrag Commit fe03ea8ca5 auf feature/clientless-player-core erstellt:
Fix VMAP probe handle leaks and tile model ownership.
Enthält MapTree.cpp/.h und test_vmap_tile_lifetime.py. Nicht gepusht.
Installierter und geprüfter Sourcezustand entspricht dem Commit; kein zusätzlicher
Build/Restart erforderlich. Lokale Session-/Diagnose-/Coreartefakte bleiben erhalten.
---
# Abgeschlossen03.11.2026: VMAP-Crashursache korrigiert, Server wiederonline
Nutzerauftrag Serverofflineuntersuchen: Core011325von06:08:42 gesichert,
passendesELF untercheckpoints/2026-11-03-crash-0608/worldserver.crashed.
ObjektShards210760/entry138492/display1667,Arathi45/map0,
Floatingpurplecrystal01.m2; alterWorldModel-Speicher enthältSpline<int>.
Kausalkette: CanLoadMap leaked äußerenTile-FILE bei jedemProbe;
Core4075stdioStreams/4069unbenutzteReadStreams/MAXFD4095beiLimit4096.
Modellacquirekonnte wegenFDmangel scheitern; LoadMapTilezählte dennochSpawn,
UnloadMapTilegabblindModellnamenfrei undkonnte spätererworbeneGameObject-Ref
freigeben. BeideFehlerinProduktionsmethodentestsgegen6f8f59ec6dreproduziert.
FixMapTree.h/.cpp: ursprünglichenFILEprüfen+schließen; proTileLedgerder
wirklicherworbenenReferenzen, keineFreigabenfehlgeschlagenerLoads;
UnloadohneDateireopen,partial/shared/duplicate/parentfälleabgedeckt.
NeuerTest tests/clientless/test_vmap_tile_lifetime.py, --baseline6f8f59ec6d
reproduziertbeidealtenFehler; neuefd/lifetime/sharedTests PASS.
Build-j10/Install PASS. KeineBotspezifik-AbhängigkeitimCorehinzugefügt.
ServerwarbeimAuftragbereitsoffline,0liveSessions; Loader0vorBuildgesetzt,
keinBinarylaufenderProzesseüberschrieben. DanachLoader1+beideReloadsrestauriert.
NEUERServer33318unterGDB33307, ready/Ports8085+8087/Coreunlimitedverifiziert.
Native110Bots/Pools50/5/50/5/pending0/errorleer. FD-Zahlbleibt26unterBotload,
final26FDs/keineoffenenVMAPTiledateien. AlleBefunde/Testlogs/Build/Install/
FDsamplesinCheckpointREADME.md/result.json/final-status.log.
Crashaufzeichnungpassivweiteraktiv,neueBasisworldserver-20261103-121738.
Langzeitstabilitätnichtalsbewiesenmelden; Stundenreproweiterbeobachtbar.
SeparaterShutdownOPvPCapturePoint-Crashnichtgezieltkorrigiert.
SourcefixundTestuncommitted,keinPush. LetzterCommit6f8f59ec6dbetrifftFahrstühle.
---
# Crash-Fix installiert, Population wird wiederhergestellt (03.11.2026)
Neuer Test-Worldserver PID33318 unter passivem GDB, Start12:17:37 erfolgreich:
frische ready-Meldung, Ports8085/8087 und unlimitedCore bestätigt.
Loader1 mit ConfigReload+PopulationReload restauriert, Ziele50/5/50/5.
Zuletzt39Bots online, Handles bleiben26, keine dauerhaft offenen vmtile-Dateien.
Noch bis110Bots prüfen und FD-Endwert/Result.json/README aktualisieren.
Rootcause und Code: siehe checkpoints/2026-11-03-crash-0608/README.md.
MapTree.h/.cpp und neuer Test test_vmap_tile_lifetime.py uncommitted.
CanLoadMap-FILE-Leck plus unberechtigte Freigabe nach fehlgeschlagenem Modell-
Acquire reproduziert (Baseline6f8f59ec6d); korrigierter Code alle3Tests PASS.
Build-j10/Install PASS, alter Core+kompatibles ELF erhalten. Keine Pushes.
Schlussbericht muss Langzeitstabilität ausdrücklich noch offen lassen;
Stdio-Kernbefund4075/MaxFD4095, neuerServer26FDs auch nach mehreren Kartenloads.
---
# Aktuell03.11.2026: Crash06:08Ursachegefunden/behoben/Neustartläuft
Nutzer meldeteServeroffline. NeuerCore011325von06:08:42+passendesELFgesichert
untercheckpoints/2026-11-03-crash-0608/. ZUERSTdortREADME.mdlesen.
WiederstalesWorldModelinGameObjectModelDestruktion; diesmalShards210760,
map0Arathi45, ModellFloatingpurplecrystal01.m2; alteAdresseenthältSpline<int>.
ImCore4075offeneStdioStreams/4069unbenutzteReadStreams/MAXFD4095=>Limit4096.
ROOT:CanLoadMapschließtäußeresTileFILEnicht+LoadMapTilezähltauchfehlgeschlagene
ModelAcquires,UnloadTilegibtblindFilenamefrei=>kannspätergeladenesdynamisches
Modellvorzeitiglöschen. BeideFehlergegenHEAD6f8f59ec6dmitproduktionsmethoden-
Testsreproduziert. FixCanLoadMapschließtursprünglichenFILE; proTileLedgerder
wirklicherworbenenModellreferenzen,keineFreigabefehlgeschlagenerLadevorgänge,
keinDateireopenbeimUnload;Duplicate-/Partial-/Parent-/Sharedfälleabgedeckt.
NeueDateitests/clientless/test_vmap_tile_lifetime.py+MapTree.h/.cppuncommitted.
Testsfd/lifetime/sharedPASS, baselinebeideFehlerreproduziert. Build-j10/InstallPASS.
ServerwarbeimAuftragbereitsoffline,keineClientlessSessionsfürSafeLogout;
Loader0vorTests/Build/InstallgesetztundProzessabwesenheitgeprüft. KeineBinaries
laufenderServerüberschrieben. PassiveGDBneugestartet12:17:37, startup.logim
Checkpoint. NächsterSchrittReady/Ports/Corelimitprüfen,Loader1+Config/Population-
Reload+110Botsrestaurieren,FDzahlunterBotloadbeobachten(bisherLeck=>4096).
Cores/alteELFnichtlöschen. KeinFixfürseparatenShutdownCapturePointCrashbehaupten.
---
# Lokal committed: Fahrstuhlfix 6f8f59ec6d
Auf Nutzerauftrag lokal auf feature/clientless-player-core committed:
6f8f59ec6d Fix short-stop elevator travel and recover stranded passengers.
Enthält3TransportSourcefiles,2Regressionstests,FahrstuhlanleitungundTransportdoku.
KeinPush. SESSION-RESUME und lokale Diagnose-/Build-/Coreartefakte bewusst
außerhalbdesFeaturecommits erhalten. Installierter/testeterSourcezustandentspricht
Commit; keinweitererBuild/RestartfürGitCommitnötig. Runtime15926/GDB15915,
110Bots undCrashaufzeichnung unverändert.
---
# Abgeschlossen03.11.2026: Fahrstuhlfixinstalliert/livegeprüft/110Botsonline
AktuellfinaleNutzerregel: nativeType11Einstieg>=500msReststandzeit,Ausstieg
keineRestzeitprüfung; korrekterHaltweiterPflicht.5MinabwirklicherPassagierzeit
nativTeleportoriginalZielnode(Gegenetage),selbstwennAbbruchdasArbeitszieländert.
Schiff/Zeppelin/Tramunverändert. AbfahrtwährendÜberganghältPassagierbeiType11
fest/versuchtnächstenHaltstattungewolltemAbort; Landrestwegabschließbar.
DeterministischeTestsGrenze499/500,exakt300000/beideRichtungen/keineSchiff-
Ausnahme/Fehlteleport/Abbruchziel/Kurzstop PASS; Deckreturn/GridPASS.
FinalBuild3-j10undInstallationPASS,server15926unterpassivGDB15915,
ready/Corelimitunlimited/Ports8085+8087geprüft. NeueDumpbasis011325.
ECHTERTestbotMorvath150 (registriert,keinAdventureBot) livebeideRichtungen:
run elevator-final-20261103passed(128192ms);nativeArrivedoben01:14:52,
unten01:16:16. ZwischenzeitlichabgefahrenerLiftkorrektalsPassagierüberstanden,
nächsterHaltAusstiegArrived.Kein5MinRescuefürLivetesterzwungen(Fallbackunittested).
Testbot150wiederoffline. Mokrak117benutztenatürlichweiterenLift219022,
oben->unten01:19:05nativeArrived,keineAdminsteuerungdiesesAdventureBots.
Original110Population50/5/50/5vollonline/pending0/Loader1/schema1/errorleer
verifiziert. AlleRecoverylisten/Ergebnisse/Logs/Sourcehinweiseunter
checkpoints/2026-11-03-elevator-exit/(README.md,result.json,Tests,BuildundInstall).
Buildresourcepolicybeachtet:Loaderpausiert+SafeLogoutvorjedemBuild,
kontinuierlicherDrain,Rest10bzw8nach>300secvorShutdownmitverfügbarenFlags
persistiert.KeineEinzelForceLogouts/FlightAbortsfürCompile.InstallnurbeiProzessende.
ShutdownNullcall-Cores003512und010220gesichert;passendeBinarysicherungen
worldserver.crashed(vorigerCheckpoint)undworldserver-first-elevator vorhanden.
RestbotsnachRestartLogin/Positions/TaxiFortschrittgeprüft;35/121nativin
Fraktionshauptstadtgeborgenundverifiziert;48/52Taxi/72Ziel/81Bodenbewegung
verifiziert. KeineTagesplan-/Profilmanipulation/Charakterlöschung.
Nochbekannt: Lags/Shutdown-OPvPCapturePoint-Crash nichtmitdiesemFixbehoben;
Logger.misc3weiterfürnativePhasenmessung,CrashaufzeichnungohneZusatzBreakpoint.
Sourceänderungenuncommitted,keinPush. NutzerfinaleIngameAbnahmeausstehend.
---
# FinalerFahrstuhlbuild3PASS, zweiterShutdowninCoreaufzeichnung
NeuesteRegelimplementiert:Type11Einstieg>=500msRestpause,Ausstieg0ms,
nurwirklicherStillstand/korrekterDock. ÜbergangsabfahrtlöstbeiType11keinen
ungewolltenAbortmehr; LandrestwegauchbeibewegtemLiftabschließbar.5Minpassenger-
FallbackauforiginalZielaktiv. tests_transport-3PASS + vorherDeck/GridPASS,
Build3-j10PASS. Sourcezustandfinal, keineweitereÄnderungnötigvorInstall.
Loaderdurchgängig0/SafeLogoutab01:06:36,erneuteAnforderungvorbuild3protokolliert.
Nach311sec8RestbotsvollständigmitverfügbarenFlagsinshutdown-exception-2.json
undpre-shutdown-2-native.loggesichert; keineEinzelforceLogouts/FlightAborts.
Server13384/GDB13373 normalshutdown10angefordert,erneuterbekannterNULLcall
beimShutdown,Core010220wirdgeschrieben. ProzessendevorInstallationprüfen!
PassendesBinaryworldserver-first-elevatorimCheckpointgesichert(600).
Danncmake--installbuild/debug, passiveGDBLauncherweiter,umask077Consolelog
startup-final.log. Loaderbleibt0bisStartup+8RestbotsRecoverygeprüft.
8GUIDs43/48/52/61/72/81/88/94. Vorherige10RestbotsbeimerstenRestartgeborgen,
35/121Hauptstadtteleportsbereitsverifiziert,jetztweitersicheroffline.
LiveMorvath150ersterRun elevator-roundtrip-20261103physischpassedaberPhaseFailed
beideFahrten; dieseFehlermeldungistnunmitZusatzfixkorrigiert(unittested).
FinaleWiederholungneueRunIDnötig,live-roundtrip.luaenthältjetzt1000msWartenan
jederAnkunft,damitTerminalPhaseauchvorevtTestteardowngeprüftwerdenkann.
VerwendeechtenregistriertenTestbot150,nichtAdventureBots.
NachLiveRunNativeArrivedbeideRichtungenverifizieren,5MinFallbackUnitexakt
300000msgetestet,keinunnötigesLiveFestklemmen. DannLoader1+Config/PopulationReload
und110vollePopulationwiederherstellen/prüfen. KeinCommit/Pushangefordert.
Artefakte checkpoints/2026-11-03-elevator-exit/.
---
# Laufender Fahrstuhlfix: Nutzer ergänzt500msEinstieg, finalerBuildläuft
NeuesteNutzeranforderung: EinstiegType11 mind.500msReststandzeit; Ausstieg
keineRestzeitprüfung, jeweilsnurwirklicherHalt.5MinPassagierFallbackunverändert.
ImplementiertAtDockwiederexaktBudget; Waiting/RequiredPauseType11=500,
RidingExitBudgetType11=0; DeckreturnType11keineRestreserve. Native5MinFallback
undimmutableTargetbereitsinMgr. tests/clientless/test_transport.py inkl499/500
Grenze+beideRichtungen+exakt300000ms+Schiffschutz PASS.
ErsterBuildinstalliertundLiveMorvath150echterTestbotHin/Rückfahrtphysischerfolgreich,
aberNativePhaseFailed, weilAbfahrtwährendspätemEinstiegAbortsetzte.
Zusatzfix: Type11unterbrochenerÜbergang behältFahrt stattAbort; finaleLandstrecke
unabhängigvomabgefahrenenFahrstuhlabschließbar. UnitRegressiondazuPASS.
NochNICHTfinalinstalliert. build-2PASS, build-3-j10läuft/session4663.
KeineanderenunerwartetenSourceänderungen; Branchfeature/clientless-player-core.
AktuellerServer13384mitGDBpassiv/ready/Ports, enthältnurERSTEImplementierung.
Loader0/SafeLogoutall seit01:06ca(build-operation-2.jsonexakt), durchgängig
pausiert; vorbuild3SafeLogouterneutangefordert(build-operation-3.json).
Native8Restbots/combat4/flight4/transport0; keinEinzelforceLogout.
VorInstallationBuild3PASSund5MinabkontinuierlicherDrain-Anforderungprüfen,
RestbotsnochmalsGUIDNameFactionPos+verfügbareFlags/NativeBelegepersistieren,
nativenShutdownundProzessendeabwarten. Shutdowncrashbekannt/Corenichtabbrechen.
PassivesGDBStartscript checkpoints/2026-11-03-passive-restart/start-passive-diagnostic.sh.
Artefakte checkpoints/2026-11-03-elevator-exit/ (build3,test3,Lua,etc).
ErsterMorvathLauf elevator-roundtrip-20261103 istpassed/150offline; Ergebnis
live-roundtrip-first-result.json. FürfinaleLiveprüfungneueseindeutigeRunID,
selbesLua-Skriptmit150verwenden. Vonready_bottomperConsole
clientless transport travel150 orgrimmar_ele_top1; nacharrived_topreverseto
orgrimmar_ele_bottom1. Ergebnis+NativePhaseArrivedproRichtungprüfen.
NacherstemRestart10Restbotsgeprüft;35und121nativnachStormwind/Orgrimmargeborgen
(erneuteProbesbestätigtenBodenstatus), andereTaxi/Autonomieunverändert.
NachfinalemRestartRecoverylistwiederprüfen, Loader1+Config/PopulationReload
undSoll110(50/5/50/5)restaurieren. UserhatvollePopulationwiedererlaubt, recordingfertig.
KeinePush/Commitsangefordert. NeuerShutdownCore003512(altbinaryae0b+)gesichert;
kompatiblealteBinarykopievorhandenworldserver.crashed. ErsteFixBinary13384vor
nächsterInstallfürneuenShutdownCorebeiBedarfseparatsichern.
---
# Fahrstuhlfix implementiert/build+TestsPASS, Installation steht an
Nutzer verlangt Type11 Ein-/Ausstieg ohneReststandzeit, aber nur bei echtemHalt;
5MinutenalsFahrgastfesthängen=>nativTeleportoriginalZielnodeGegenetage.
Source ClientlessTransportMgr.h/.cpp+DeckMgr.cpp geändert. AtDockType11ignoriert
Pausebudget, Deckreturnebenso; neuerPassengerTimer+originalDestination+ACK-
gestützterFallback. KeineAusnahmefürSchiff/Zeppelin/Tram. ResumedPassagierohne
bekanntenEinstieg verwendetnächsteEtage+eindeutigeGegenetagefürFallback.
Tests test_transport.py (beideRichtungen,Stillstand,exakte300000ms,keineSchiffs-
Ausnahme,Abbruchzielbleibt,unzulässigeZiele/Teleportfehler), deckreturnundgrid
PASS. Build-j10PASS. SourcekeineanderenunerwartetenÄnderungen.
VorBuildLoader0 Config+PopulationReload bestätigt; SafeLogoutall00:55:25CET.
Nach>300sec10RestbotsvollständigmitverfügbarenFlags/Positionenpersistiert:
checkpoints/2026-11-03-elevator-exit/shutdown-exception.json+nativeLogs.
KeinEinzelForceLogout/AbbruchvonFlug/Fahrt. Normalshutdown10angefordert;
beimShutdownwiederNULLcall-Crash, GDBschreibtCore
server/debug/crash/worldserver-20261103-003512.core/.backtrace.log.
VorInstallationvollständigesEndevon8437/GDB8425prüfen. PassendesaltesBinary
identischmitcheckpoint2026-11-02-crash-140558/worldserver.crashed(cmpPASS).
Erstdann cmake--installbuild/debug, passiveGDBLauncherweiterverwenden.
Loaderbleibt0durchInstall/Restart. Startupready/Portsverifizieren,10Restbots
manuellonline/Bewegungsstatusprüfen, ggf.nativinFraktionshauptstadtbergen.
SeparaterTestbotMorvath150 fürLiveRoundtripvorbereitet unterelevator-exit/
live-roundtrip.lua, nochNICHTgestartet. KeineAdventureBotsalsTestbotverwenden.
DanachLoader1+Config/PopulationReload und110Populationwiederherstellen.
OriginalConfigpopulation50/5/50/5. KeinPush/Commitbeauftragt.
---
# Mokrak117 Fahrstuhlausstieg diagnostiziert, nochkeinSourcefix
Nutzer vermutete zuhoheReststandzeitsicherung; bestätigt. NativeTransportStatus
Riding top1->bottom1, spawn219021/entry206610, echterPassagier seit00:45:33.
ClientlessTransportMgr.cpp674 ExitBudget=PathLength/run+points*max(100,2diff)+2500.
Unten4Punkte => schon2900ms ohneLaufzeit. DBCAnimation206610 erkenntunten
Stopfenster2133ms(0..2133) und2533ms(30800..33333), oben5166ms.
Daher untenAtDock(...exitBudget) undDeckMgrReadyunmöglich. KeinKoordinaten-
oderfehlenderRoutenbefund erforderlich. Rohdaten/nominalbudgetin
checkpoints/2026-11-03-elevator-exit/diagnosis.json. KeineSourceänderung,
keinBuild/Restart/BotTeleport odererzwungenesDetach. NächsteKorrektur sollte
realephysischeAusstiegsdauer+begründeteReserve nutzen, Punkt-für-PunktTick-
Wartekosten durch kontinuierlicheRückroute vermeiden; nichtbloßRestzeitprüfung
entfernen oderBudgetaufStandzeitkappen. Schiffe/Zeppelineweiterabsichern.
---
# 03.11.2026 Neustart abgeschlossen: alle110Bots wiederonline
Nutzer beendeteFahrstuhlaufnahme und erlaubteNeustart+vollePopulation.
Worldserver8437 unterGDB8425, frischeReady/Ports8085+8087/Corelimitunlimited
verifiziert. ZusätzlicherModellfreigabeBreakpointentfernt; GDBCore+volleThread-
stacks bleibenaktiv. NeueDumpbasis worldserver-20261103-003512.
NativeAbschlussstatus: Loader1/schema1/busy0/errorleer; Pools50/5/50/5alle
vollständigonline, pending0. Insgesamt110Bots, keine128vollausreizen.
Checkpoint checkpoints/2026-11-03-passive-restart/result.json, startup.log,
final-status.log. KeinBuild/Install/Sourcepatch. Logger.misc3 bleibtfürLagdiagnose.
LadephasespikesUpdateSessionsbis7571ms auchohneBreakpoint; LangzeitLagsNICHT
alsbehobenmelden. WährendShutdown00:34erneuterNULLcallbeiOPvPCapturePoint-
Destruktion, Core9.3GB+volleStacks gesichertuntervorigerDumpbasis
worldserver-20261102-215114; separateBaustelle, keinFixbehaupten.
AlterWorldserverbeendetundtmuxwegvorNeustart. AktuellerServeroperational.
---
# 03.11.2026 Neustart nach abgeschlossener Aufnahme läuft
Nutzer bestätigt Aufnahme vorerst beendet und erlaubt sämtlicheBots wieder.
OriginalPopulation50/5/50/5 wiederhergestellt. VorShutdown SafeLogoutall,
dann normalserver shutdown10. ShutdownSIGSEGV in OPvPCapturePoint-Destruktion
(NULLcall), Core9.3GB und volleStacks unterserver/debug/crash/
worldserver-20261102-215114.core/.backtrace.log gesichert. KeinSourcefix.
AlteProzesse2302/2220 vollständigbeendet, tmuxweg, erst dann Neustart.
NeuerWorldserver8437/GDB8425, passiveGDBohneModellfreigabeBreakpoint,
frischeReady/Ports8085+8087/Corelimitunlimited verifiziert. ConfigLoader1
undConfig+PopulationReload ausgeführt; automatischePopulation lädtnoch.
NeueDumpbasis worldserver-20261103-003512. Checkpoint
checkpoints/2026-11-03-passive-restart/, startup.log undStartscriptdarin.
NächsterSchritt: bisSollbestand110verifizieren, kurzePhasenzeitmessung,
Ergebnisnotieren. Logger.misc3 bleibtfürLags aktiv, keinLagfixbehaupten.
---
# Laufende Nutzeraufnahme: KEIN NEUSTART bei Lagdiagnose
Nutzer meldet massive Lags nach Population10. Auf Rückfrage explizit:
„Nein, Aufnahme läuft noch“. Keinen Restart/DebuggerDetach/RecordingReset.
Details checkpoints/2026-11-02-lag-diagnostics/README.md. NativePhaselogging
via temporäremLogger.misc3 aktiviert, PausenMapMgrbis1817ms/Terrain206ms belegt;
Botcontrollersnur~0.35-0.4s/30s. Rootcauseoffen, GDBbreakpointnichtbewiesen.
Keine aktuelle Swaplast; VMausreichendRAM. KeinBuild/Sourcepatch.
Start-passive-diagnostic.sh für späterenVergleich ohneModellFreigabeBreakpoint
vorbereitet, NICHT gestartet. CoreDump/Threadstacks bleibenauchdannaktiv.
BisAufnahmegespeichert bleibtWorldserver2302/GDB2220 unverändert, zehnBots,
Loader0. MesslogsundProzesssamplesgesichert. KeinLagfixbehaupten.
---
# Aktuell: Population auf zehn Bots reduziert für Fahrstuhlaufzeichnung
Nutzer meldete Lag beim Aufzeichnen und verlangte zehnBots. Configzielwerte
Alliance.Persistent5/Temporary0/Horde.Persistent5/Temporary0 gesetzt.
Loader0 per Config+PopulationReload während laufender Nutzeraufzeichnung
beibehalten; keine automatische Auffüllung/Rotation. VorherigeWerte im
checkpoints/2026-11-02-population-10/operation.json (50/5/50/5,Enabled1).
100Bots Logout angefordert:82 sicher ausgeloggt;18 nach verbleibendem
Combat/Transport/Flight über normalen nativen clientless logout ausgeloggt.
Keine Prozessbeendigung, kein Restart, keine Einzeldatenbank-Logoutmanipulation.
Abschluss NATIV bestätigt pending0/sessions10, beidepersistentPools5online,
temporärePools0online, CPC_PERF players10. Worldserver2302/GDB2220 aktiv.
Verbleibend26/33/35/39/41 Allianz und34/36/40/42/44 Horde. Keine Botlöschung,
keine Tagesplan-/Profiländerung. Nach Nutzeraufzeichnung Loader ggf.wieder
aktivieren, Zehner-Ziel beibehalten bis andersbeauftragt; nicht110restaurieren.
---
# Volakmar nach Orgrimmar zurückgebracht und wieder online
Nutzerkorrektur: Volakmar128 ist regulärer AdventureBot, kein separater Testbot.
Auf ausdrücklichen Auftrag nativ offline nach Orgrimmar teleportiert,
DB map1/1569.97/-4397.41/16.0472 bestätigt; danach clientless login128.
DB online1 an derselben Position bestätigt. Loader wiederauf1 restauriert,
reload config+clientless population reload ausgeführt. Keine Profil-/Planänderung.
GDB-Worldserver2302 und Crashaufzeichnung unverändert aktiv.
Für künftige gezielte Reproversuche separaten Testbot verwenden.
---
# Objekt-Repro: Level80 Volakmar128 hingebracht und ausgeloggt
Nutzerauftrag erfüllt: zur Spawn59235-Position map5715988.04/4473.78/-87.3617
nativ teleportiert. Native Inspect kurz danach5981.088/4477.738/-87.755,
Bot wurde lokal von28373 angegriffen, geriet in defensiveCombat und floh.
SafeLogout wartete aufCombat; anschließend auf expliziten Nutzerlogoutauftrag
normalen clientless logout128 ausgeführt, native Offline und DBonline0 bestätigt.
Letzte gespeicherte Position5971.01/4495.2/-92.1969, health877. Kein Todbelegt.
Temporären GM-Teleport vollständig entfernt+Reload. Worldserver2302 läuftweiter.
Loader vorTest von1auf0+Config/PopulationReload pausiert, bleibt0 damit Testbot
nicht automatisch in den eben verlassenen Grid zurückkehrt. Andere Bots laufen
weiter. Nach gezieltem Reprofenster Loader1+beideReloads restaurieren; keine
sonstigen Pläne/Profile geändert. before/after/evidence unter
checkpoints/2026-11-02-crash-140558/object-repro/. Debugger weiterhin aktiv.
---
# VM-Neustart 02.11.2026 21:51 CET: Diagnosebetrieb wieder gestartet
Auf Nutzerwunsch identischer GDB-Launcher samt Modellfreigabe-Logpoint gestartet.
Vorher keine Worldserver-/GDB-Prozesse oder tmuxSession vorhanden.
Worldserver PID2302 unter GDB2220, tmuxvcore-worldserver. Aktuelle ready-Meldung
in frischem Server.log, Ports8085/8087 LISTEN, Prozess lebendig, Corelimitunlimited
bestätigt. Loader.Enabled=1 unverändert. Keine Builds/Source-/DB-/Planänderungen.
Neue Diagnosekonsole: checkpoints/2026-11-02-crash-140558/vm-restart-console.log.
Bei Crash automatisch server/debug/crash/worldserver-20261102-215114.core
und worldserver-20261102-215114.backtrace.log (inkl. aller Threadstacks).
Modellfreigaben weiterhin über model-lifetime.gdb erfasst. Bei Crash zuerst
Core/Binary sichern und auswerten; keine konkrete Fehlerbehebung behauptet.
---
# Aktuell 02.11.2026: erneuten Crash ausgewertet
Nutzer meldete Server offline. GDB266570/Worldserver266615 waren nach Crash
14:05:58 beendet. Core und vollständige Stacks erfolgreich gesichert; passende
Executable separat kopiert. ZUERST checkpoint2026-11-02-crash-140558/README.md
lesen. SIGSEGV std::_Hash_bytes beim GridUnload eines Unstable Explosives,
Spawn59235/map571. GameObjectModel verweist auf Speicher, der nun
Movement::Spline<int> enthält; Modellcache hat dasselbe Modell unter anderer
Adresse. Stale Pointer/Allocation reuse belegt, konkrete vorzeitige Freigabe
noch NICHT zugeordnet. Keine spekulative Sourcekorrektur und kein Build.
Original11:05 vectorassert ist nicht als gleiche Ursache bewiesen.
Neustart unverändertes Binary mit GDB und zusätzlichem nichtstoppenden
Freigabelogpoint für Sc_Plaguebomb_Orange.m2 (inkl. NUL-Variante).
Launcher/startup log im neuen Checkpoint. Loaderoriginal1 restauriert;
Startupprüfung und native PopulationReload siehe neuesten Checkpointabschluss.
Keinen Raidtest neu gestartet. Auf erneuten Crash muss nicht aktiv gewartetwerden.
---
# Nutzerpause: Crashdiagnose wartet auf erneuten Absturz
Zwischenauftrag erledigt: Anleitung für Fahrstuhlaufnahmen unter
`doc/clientless/fahrstuehle-aufzeichnen.md` erstellt, Befehle am aktuellen
TransportMgr/Recorder geprüft. AllgemeineTransportdoku hinsichtlich neuem
Entfernungskostenmodell aktualisiert. Keine Server-/DB-/Sourceänderungen,
keinBuild/Restart; laufende GDB-Crashaufzeichnung unverändert.
Nutzer ausdrücklich: Crash kann Stunden dauern, nicht aktiv weiterwarten;
er ruft erneut auf, sobald er wieder auftritt. Raidtest hat aktuell keinen Vorrang.
Gesicherter Stand: checkpoints/2026-11-02-crash-110519/README.md — ZUERST LESEN.
Worldserver266615 unter GDB266570 in tmuxvcore-worldserver, ready/Ports8085+8087
und corelimitunlimited verifiziert. Gleiche110Bots manuellgeladen, normale
Autonomie läuft; Loader0 friert Bestand fürRepro ein. KeinBuild/Sourcefix erfolgt.
NächsterfatalerSignalstop erzeugt automatisch
server/debug/crash/worldserver-20261102-114738.core und .backtrace.log
(volleThreadstacks). Binary bisAuswertungnichtaustauschen.
Original11:05:19: conststd::vector<unsigned int> Indexassert, dannSIGABRT6,
AbortHandler erzeugt bewusstSIGSEGV. TatsächlicherAufrufernochunbekannt.
Originalcorefehltewegenlimit0; jetzigeAufzeichnungistgeprüftaktiv.
StatischeBIHIndexprüfung27646Bäume ohneFehler. Spawnprüfung1ungeprüfteAnomalie
undfehlendeModelle protokolliert; keineursächlicheZuordnungbehaupten.
BeiWiederaufnahmeaktuellenGDB-Backtrace/Coreauswerten, nichtalteNov1Core.
AktiveBeobachterRaid1100beendet, eigeneCrash-Konsolewirdweiteraufgezeichnet.
LoaderamEndederUntersuchungaufaltenWert1restaurieren+PopulationReload.
---
# Wiederholung 02.11.2026, Gruppenbildung10 / Raid11:00
Nutzer: selbenZehnertest erneut durchführen. Alle10 pergezieltemSafeLogout
sauberofflinegebracht, temporärerLoaderpause mitPopulationReload verifiziert.
NurderenalteHandoff-/InstanceVisit-Zustände gesichert/entfernt, nativeTeleports
zurGoldenenRose, Tagespläne10groupformation/the_gilded_rose und11raid/
instance_visit_at_6354_d0 füralle20Zeilenvalidiert. Alle10wiederonline.
Um10:52vollständig Gruppe2 LeaderBrynda165,159,160,161,162,163,164,165,166,
167,176.2Tank/2Heal/6Damage. NativealleOnSite/waitingatthemeetingpoint.
NatürlicheFrühaufbruchlogik armiert10:56:44MEZ; Raidblockbleibt11:00.
KeineerzwungeneManagerzuweisung, keinBuild/Serverrestart, anderePläneunverändert.
OriginalLoaderkonfiguration restauriert/PopulationReload; Tempteleportgelöscht.
NeueRead-onlyBeobachtung bis12MEZ:
service vcore-adventure-raid-observer-20261102-1100.service,
checkpoints/2026-11-02-1100-raid-test/ (eigeneRohlogs, Snapshots, Manifest).
Voriger10UhrObserverbeendetundGrenzeimLifecycleprotokolliert. Nochkeine
Ankunft/Instanzeintritt fürdiesenneuenLaufbehaupten. Flugfixae0b7513d9
installiert; bekannterGroundSafety-Fehler bleibtunverändert.
---
# Aktuell 02.11.2026, 10:00: Shared-Flight-Landepunkt/Flugpausen korrigiert
Nutzer meldete Nachfolger kehren über Plattform um und fliegen stockend.
Rootcause belegt:159/161/166 abonnieren09:34:55 Leaderspur bevor Winienwi163
seine Abflugvorbereitung/Landesuche beendet. Begin kopierte nochleere Landing
Position. Spur später korrekt bis837.77 gefolgt, letzterSinkflug falsch geprüft,
09:37:49..52 Rückflug. Leader landete09:37:33 und tratInstanz2 bei.
Fix: SharedTrail publiziert Landing+LandingReady, Advance wartet/bindet den
bestätigtenLandepunkt statt früher Kopie. Geprüfter Lookahead fürFollower und
1500msSplinehandoff; keine ungeprüften Eckabkürzungen. AchtTests PASS,
Build-j10/Install PASS. Checkpoint2026-11-02-shared-flight/README.md.
Loader0 brauchte explizitenPopulationReload (zunächst nachBuildstart korrigiert).
SafeLogout09:49:23;14Restbots nach5Min dokumentiert, saubererShutdown,
ProzessendevorInstall. Kein Einzellogout erzwungen. NeustartPID258518 ready,
Ports8085/8087. Loader1 und PopulationReload restauriert.14Restbots Login,
sechs74/77/91/93/102/121 nachungültigemSchwebezustand nativgeborgen; übrige
nativeTaxi/Flugbewegungen ungestört. Rohzustände/Recoverybelege aufbewahrt.
FürLive-Nachprüfung alle10 offlineRose, nurderenalteInstanceVisit-/Handoff-
Zustände gesichertundentfernt.09Formation/10Raid6354_d0 wiederaktiviert.
Gruppe1 Leader163 undalle10 bestätigt. TempGM-Teleportgelöscht.
Beobachter vcore-adventure-raid-observer-20261102-1000.service weiteraktiv
bis11MEZ. Live-Retry10Uhr bleibt schoninSW anbekanntemGroundSafety-Fehler hängen:
MMAP taxi_2->stormwind_tradecenter komplett189.55yd, AusführungPathRejected,
wiederholteAbflugannäherungen unterbrochen.10:02 nochkeinneuerTurmanflug.
Keine erfolgreicheFollowerlandung/visuellflüssigeGesamtflügebehaupten.
Alle110Bots/Loader1 wiederaktiv, Gruppevollständig. Nächsteunabhängige
Baustelle ist lokalerGroundSafety/Recovery. Beobachterbis11weiteraktiv.
Flugfix separat lokal versionieren; kein Push. FrühereCommits2778cf9bdd/3056063f12.
AnderebenannteBaustellen und abgelehnteGruppennachbesetzung unverändert.
---
# Neuer Zehnertest am 02.11.2026, Gruppenbildung09 / Bastion10:00
Nutzer wollte Wiederholung nur der bekannten10 Bots. Alle159..167/176 wurden
nativ zur GoldenenRose teleportiert, alte Gruppen verlassen, Aruendas162 für
Teststart wiederbelebt. Slots09 groupformation the_gilded_rose,10 raid
instance_visit_at_6354_d0 für alle10 per nativer editplan gesetzt und20DB-Zeilen
validiert. Temporärer GM-Teleport nach Benutzung gelöscht/Cache reloaded.
Vollständige native Gruppe1 nachgewiesen: Leader Winienwi163, Mitglieder
159,160,161,162,163,164,165,166,167,176;2Tank/2Heal/6Damage, Corric dabei.
Kein globaler erzwungener Managerlauf, keine weiteren Tagespläne verändert.
Bestehende Frühaufbruchlogik unverändert: volle Gruppe kann fünf Minuten nach
Vollständigkeit schon vor10 abziehen. Nicht als Fehler oder geänderten10Slot
missverstehen. Vorzustände zeigen alte Fehlflüge; nachTeleport allebodennahSW,
Gruppenbildungsintent aktiv. Beobachterservice:
`vcore-adventure-raid-observer-20261102-1000.service`, read-only bis11MEZ,
Snapshot alle2Minuten und inkrementelle Logs ohne den alten Tail-Replayfehler.
Daten/Skript unter checkpoints/2026-11-02-1000-raid-test/.
Kein Build/Serverrestart für Einrichtung; Loader normal aktiv.
---
# Abschließende Testauswertung ohne Bastion-Cohort
Nutzer verlangte endgültige Auswertung unter Ausschluss der bekannten10 Bots.
Erstellt: doc/clientless/2026-11-02-instance-test-final.md. Reproduzierbare
Offline-Analyse evaluate_without_raid.py und final-without-raid.json im06Uhr-
Testcheckpoint.82 Bots (38A/44H),67Dungeon/15Raid,38 vor07 am fixen Treffpunkt
belegt (18A/20H, gleichwertige Inn-Aliase anerkannt; exakt gleiche Schlüssel33), kein Instanzeintritt. Schluss62 gruppiert in22 Gruppen,
20solo, nur eine vollständige Fünfergruppe. Rollen7Tank/11Heal/64Damage;
Population erlaubt keine vollständige Aufteilung aller82 in strikte Gruppen.
35 Bots RecoveryFailed;60 WaitingGroup,16 nochGruppenbildung und1Leisure.
Fünfergruppe26/41/43/45/72 ZielVersunkenerTempel scheiterte anReise; drei
ab07:56 im Timeout-Rest, keinabsolvierterDungeon. Logsammlerduplikate:
Rohereignishäufigkeiten nicht als unabhängige Versuche zählen. Bericht erläutert
Zeitlücke bis06:13, künstlichenManagerlauf und dass Flugfix nach08 außerhalb
Test liegt. Keine weiteren Source-/Serveränderungen für diese Auswertung.
---
# Aktuell 02.11.2026, 08:33 MEZ: erhöhter Landeanflug installiert und live bestätigt
Kostenmodell zuvor lokal committed: 2778cf9bdd, kein Push. Neuer Auftrag:
Steigungsbudget statt fester30-Yards-Grenze; senkrechter Aufstieg im laufenden
Flug, sichere seitliche Flucht unter Plattform, Anflug von oben. Implementiert
in ClientlessFlightPath.h und FlightMgr; Details/Belege:
`checkpoints/2026-11-02-elevated-flight/README.md`.
Sieben gezielte Tests PASS, Build-j10 und Install PASS. Bestehender
Abflug-Extraktionstest scheitert bereits auf HEAD; Baselinefehler archiviert.
Frischer Server ready PID249564, Ports8085/8087 und Prozess geprüft.
Finaler Build mit Loader0 und erfolgreichem SafeLogout bis0 Sessions; keine
5-Minuten-Ausnahme/kein erzwungener Einzellogout. Erster Build traf bereits
beendeten Server an, Ursache dieses alten Endes nicht geklärt.
LIVE: Renren159 flog isoliert ab taxi_663 zur Bastion-Plattform. Senkrechter
Aufstieg bei ca. (-4817.58,-4266.23) bis837.77, oberhalb der Plattform angeflogen,
08:27:42 sicher auf827.77 gelandet; FLIGHT_LANDED error0.00. Keine Bestätigung
von Raidbeitritt. Seitliches Ausweichen unter Plattform synthetisch getestet.
Temporäres Profil exakt restauriert, LuaReload OK, Scheduleon, temporären
GM-Teleport gelöscht. Loader1 restauriert, SafeLogoutresume, ursprüngliche110
Bots wieder online. Acht alte schwebende Raidbots vor Login nachSW geborgen;
zusätzlich Braneven121 nach nativer Fehlzustandsprüfung nachORG versetzt,
Position16.047/floor16.088/flying0/falling0 bestätigt. Recoverylisten und
Rohdiagnosen im Checkpoint erhalten. Normale Tagespläne laufen wieder.
Nutzer hat Nachbesetzungsänderung ausdrücklich ABGELEHNT: Elanora wurde manuell
für Test entfernt, dadurch entstandene Neunergruppe wird akzeptiert. Gruppen-
manager/Frühaufbruch für diesen Auftrag unverändert lassen.
08:00-Bericht erfolgreich um08:00:09 erstellt: 40/92 Treffpunktankünfte,
kein Instanzeintritt, maximal9/10 Cohort. Bericht ist vor dem Flugfix entstanden.
`doc/clientless/2026-11-02-0800-test-report.md`. Andere bekannte Baustellen
(Ground-Safety, Treffpunktfallback, Kolonnenbildung) nicht als behoben darstellen.
---
# Aktueller Stand 02.11.2026, 06:21 MEZ
Das Entfernungskostenmodell ist gebaut und installiert. Acht gezielte Tests sind
bestanden; Build und Installation exit 0. Details und Logs:
`checkpoints/2026-11-02-travel-costs/`. Kein Commit oder Push.
Testserver nach Wiederaufnahme frisch gestartet: PID 219333, ready nachgewiesen,
Ports 8085/8087 offen. Loader wieder aktiv; 110 Bots online. Die vorherigen 15
Recovery-Bots wurden offline nativ in ihre Fraktionshauptstadt versetzt und wieder
geladen. Die Unterbrechung und der ausgefallene ursprüngliche Test bleiben unten
dokumentiert; keine Auswertung um 03:00 behaupten.
Vom Nutzer neu bestätigt: 06:00 Gruppenbildung, 07:00 Raid/Dungeon. 92 Bots ab
Level 15 haben beide Slots verifiziert; missing=0. Allianz Goldene Rose,
Horde Broken Tusk (poi_npc_287214). 18 aktuell online unter Level 15 wurden von
Teständerungen ausgenommen. Alle zehn bekannten 85er haben 07:00 raid mit
instance_visit_at_6354_d0 (Bastion normal10). Aktuelle Gruppe 5, Leader Renren159:
159,160,161,162,163,164,165,167,176. Corric166 ist noch solo, schedule=1,
Gruppenbildungs-Fallback poi_npc_313808 statt eigentlichem Treffpunkt beobachtet.
Elanora168 wurde aus der Testgruppe entfernt; externe Allianz85 35/168 bekommen
07:00 Dungeon statt Raid, damit sie nicht die zehnte Position belegen. Einmaliger
nativer groupmanager run führte Corric bisher nicht zu. Nicht behaupten, alle
zehn seien bereits gemeinsam. Im Managerlauf außerdem wiederholte Transfers
Arthoran26 zwischen zwei Dungeon-Gruppen beobachtet; Log erhalten, kein Fix.
Read-only Beobachter und Berichtstimer sind implementiert und aktiv:
`~/.config/systemd/user/vcore-adventure-observer-20261102.service`
`~/.config/systemd/user/vcore-adventure-report-20261102.{service,timer}`.
Timer nachgewiesen für 02.11.2026 08:00 Europe/Berlin, Persistent=true.
Skripte, Manifest, Rohdaten: `checkpoints/2026-11-02-0600-group-test/`.
Erste vollständige Beobachtung ca. 06:13; frühere Lücke im Bericht ausweisen.
Bericht wird lokal nach `doc/clientless/2026-11-02-0800-test-report.md` geschrieben.
Bis dahin ist die Datei ausdrücklich Platzhalter. Keine automatische Chatnachricht
möglich/zugesagt. Bericht nach 08:00 auf erfolgreiche Erstellung prüfen und Nutzer
über Ergebnisse informieren. Beobachter repariert keine Bots während des Tests.
Noch offen: tatsächliche Ankunft/Instanzeintritt und vollständige Zehnergruppe;
ursprüngliche MMAP-Höhenvalidator-Ablehnung, Treffpunkt-Fallback und Kolonnenbildung
sind nicht durch das Kostenmodell behoben. Gameplay-Abnahme steht aus.
---
# Aktuell: Fortsetzung06:04MEZ, Ersatztest06/07/08 vomNutzerfreigegeben
Reisekostenmodell kompiliert/installiert (build-installed.log exit0, install.log
exit0), ZweiterStart00:30 readyPID214613 Ports8085/8087. NativeTaxi15=6457.25yd,
Transportgeometrien positiv. SiebengezielteTestsgrün: Kosten/NativeTransport/
JourneyLifecycle/SharedRoute/Planner/GroundExit/AreaNode, RescueGraphzusätzlich.
NeueQuellen ClientlessTravelCost.h undProfile-/Geometrieintegration inGraph/
Executor/Transport; ConfigCostMultiplier alle7Modi1, Variation0.20. NativeRNG
proReise, RecoverybehältProfil, FollowerkopierenLeaderRoute+Faktoren.
NochkeinevollständigeLive-Abnahme/keinCommit/Push.
SitzungvorAbschlussunterbrochen: Loaderblieb0, alte03Uhr-TesteinrichtungNICHT
abgeschlossen, KEINE03Uhr-Auswertung/keinTimer eingerichtet. NICHTanderesbehaupten.
BeiFortsetzung06:02 Serveroffline, keinvcore-worldserver-tmux/Prozess. Logsenden
04:03:45ohnesauberesShutdown; keinaktuellerCore (nurhistorischer01.11.Core).
Ursacheungeklärt. VorigesServerloggesichertimKostencheckpoint.
NutzerneuerTest: JETZT06:00Gruppenbildung,07:00Dungeon/Raid; Auswertungentsprechend
08MEZ (bisheralsrelativeFortsetzungkommuniziert). AlleAllianz:GoldeneRoseSW,
Horde:BrokenTuskORG. Unter15ausnehmen undnormalePläneunverändert (explizitbeantwortet).
Bekannte85er159..167/176 auf10normalBastion6354_d0für07. Alle10wiederladen.
Testcheckpoint checkpoints/2026-11-02-0600-group-test/.
Serverjetztrecovern, alte15Restbotsnochprüfen/bergensoweitnötig, Loader1restaurieren.
NativeeditplanallnurOnline: erst07instance-or-raidauto,06formationmitFraktions-
location. FürCohort07raid6354_d0 explizit. Unter15unverändert.
Plan fürlokaleZeitsteuerung: UserSystemd funktioniert, keineChat-Automationstools
verfügbar. NochNICHTimplementiert: read-onlyObserver mitNativeStatus/DBGroup-
Snapshots+Logdelta, einmaligerTimer08MEZ schreibtBericht. Keineautomatische
Chatnachrichtzusagen. KeineCLI-Subagentenstarten (Delegationnichtbeauftragt).
---
# Aktuell: Routenalternativenfix final installiert, Restbetrieb restauriert
Details: checkpoints/2026-11-01-route-alternatives/README.md.
FinalerBuild-j10/InstallPASS, freshreadyPID200529/Ports8085+8087.
ViergezielteRegressionenPASS inklPortalroot, PortalblockEscape, verworfeneRoad-
Kante1885 gehtanRecovery, konkurrierendeBudgetverbraucher+isolierterPortalflug.
NegativeKontrolle ohnePortalverbindungs-Pass fällt erwartbarfehl.
LiveIFPortalnutzungRenren23:32:04->06/arrivalError0.00 bestätigt.
LiveSW23:42:21: vollständigeFlug->Portal200627->Flug-Verbindungwirdjetzt
berücksichtigt, gewinntabernicht gegenTaxiroute. NeuerbelegterKostenbefund:
Taxikante15(SW->IF) cost1, aufgezeichneteStraße478.308, FlügeDistanzkosten.
Nichtbehaupten, SWPortal werdejetztgewählt; konsistenteMakroreisekosten offen.
SourceänderungenPlanner/Executor, zweiTests; keinKolonnen- oderHöhenvalidator-
Bypass. ZweiBuilds/Restarts mitLoader0/SafeLogout undje5Minuten-Regel; Recovery-
Listen22/3 undBergungeninHauptstädten dokumentiert. RenrenScheduleonrestauriert,
Loaderconfig1/nativeReloadrestauriert, normalerBetrieb läuftwiederan.
UrsprünglicheZehnergruppewarbeimSafeLogout imaltenRuntimebereitsinTeilgruppen
zerfallen;kein vollständigerRaid/Ankunftbestätigt. KeinCommit/Push.
NächsteArbeit: echteTransportzeitkosten stattTaxipauschale1, genaueGrundweg-
Ablehnungsdiagnostik, Kolonnenintegrationwievorheruntersucht.
---
# Aktuell: finaler Portal-Flugverbindungsfix gebaut, zweiterRestart ausstehend
ErsterFix installiert/frischready PID195658 Ports8085/8087. LiveRenren
benutzteIFPortal217855 nativ23:32:04->23:32:06, arrivalError0. SW->Bastion
wählteaberweiterIF. Deshalb zweiterPlannerfix: vorRoadExitBudget begrenzt
vollständige nahePortal-Flugverbindungen root->source(freeflight)->portal->
target->destination(freeflight) aufGesamtkosten prüfen, nativeRechte/Sperren
behalten, maximal8Kandidaten/6neueEstimates imbestehenden16erBudget.
KeineBodenkanten zuSWPortalen hinzugefügt. NeueRegression konkurrierendeExits+
unbrauchbarerStart schlägt OHNE dieseErgänzung erwartbarfehl, MIT ihrPASS.
FinalerCMakeBuild-j10 EXIT0 (build-final.log), nochNICHTinstalliert.
ZweiterSafeLogout23:35:20MEZ, Loader weiterhin0; FünfMinutengrenze23:40:20.
Zuletzt4Restbots73/92/96/132,96bereitsdanachsicherausgeloggt. NativeDiagnose,
Recoveryliste recovery-before-final-install.tsv unter route-alternatives.
VorShutdown aktuelleRestliste/Flags/Saveallaktualisieren, shutdown10, Prozessende
prüfen, finalinstall,startready/ports, Restbotsprüfen/ggfHauptstädte.
Loader1 zumAbschlussrestaurieren. Renren159 wurdefürPortaltests manuellgestoppt,
abschließend schedule159on wiederherstellen. AndereBotpläneunverändert.
KeinCommit/Push. ÄnderungenPlanner+Executor+zweiRegressionen. KeineKolonnen-
oderGrundvalidatorreparatur. DerenBefunde bleibenoffen.
---
# Aktuell: Routenalternativen-Fix gebaut, Installation steht unmittelbar aus
Autorisiert durchNutzerkontext: trotz gescheitertemFlugstart Graphalternativen
nutzen; SWCataclysmPortale nurdurchFlug erreichbar lassen. ZweiSourcefixes:
PortalGuard auchStartwurzel, bei gesperrtemPortal weiterhinStraßen zulassen;
GruppenRoadAdapter-Reject führt überRecoverTravel mitgesperrterKante weiter.
StartFlightProbes max4 reserviertPlanbudget für isolierteFluganschlüsse.
Plannerregression erweitert: Portalroot/PortalblockEscape/40unerreichbareRoots+
isolierterPortalflug; PASS. GroundExit-Test verifiziertRecovery1885; PASS.
PortalPrerequisites/PortalUse PASS. CMakeDebugBuild-j10 EXIT0, nochNICHTinstalliert.
Loaderconfig1->0, tatsächlichenabled0/busy0. SafeLogout23:24:15MEZ angefordert;
22Restbots gegen23:28 inFlug/Kampf. FünfMinuten-Grenze23:29:15.
Belege/Recoveryliste/Flags/NativeStatus unter
checkpoints/2026-11-01-route-alternatives/. VorShutdown nochmalsStatus sichern;
sauberShutdown10, Prozessende VOR cmake--install. Dannfreshready+Ports prüfen,
22Recoverybots laden/Transitstatesprüfen und nötigenfallsAllianceSW/HordeORG.
Loader1 undnormalenBetrieb danachwiederherstellen. Gruppe warbereits imalten
Runtime beimSafeLogout inmehrereTeilgruppen zerfallen; keinevollständigeGruppe
behaupten. KeinCommit/Push. KeinKolonnenumbau/keinGrundvalidatorBypass.
---
# Aktuell: Nutzerfragen Portale/Kolonne untersucht, nurDiagnose
Zusatz imBericht doc/clientless/2026-11-01-raid-test-investigation.md.
IFPortal wird NICHT benutzt: LeaderRoute enthält an217855Quelle free_flight
zurBastion; Start indoor/no reachable open takeoff point; Recovery safetyAdapter
reject. Quellknoten alsStartwurzel umgehtPortalGuard(previous fehlt).
SW200627Portal vorhanden/benutzbarhistorisch, aber ohneeingehendefesteKante.
Exakter Grund der Nichtauswahl UNGEKLÄRT: dynamischeFlugverbindung/budget/Estimate
nicht kandidatenbezogen geloggt. Ungefiltert geometrisch sogarRang1 vonSWtrade/
taxi2; nicht behaupten, es wäre nur zuweit/Questgesperrt.
Kolonne: BotLed umgehtallgemeinesFollow; gemeinsameExecutorRouten statt dauernder
Positionsformation. Adapter nuraufgezeichneteStraßen, keineZuläufe/nativeTaxi-
Versätze; gemeinsameEndpunkte undside0Fallback ermöglichenÜberlagerung.
Winienwi nachNutzerTeleport bisIF gereist, dort23:13:45 und23:14:25 gleiche
safetyAdapterAblehnung bei(-4606.44,-928.997,501.07). Einzelbeobachtung auf
Nutzerhinweis beendet: gesamteGruppebetroffen. KeinEingriff/Build/Restart.
---
# Aktuell: Winienwis Blockade live genauer eingegrenzt,23:07
Nutzer bat besonders Winienwi163 zu beobachten, virtueller Einstieg vorGasthaus.
Nur Diagnose, keine Code-/Botänderung. Wiederholte Versuche23:06:45 und23:07:17:
virtueller Einstieg WIRD gewählt: (-8843.320,667.142,97.829), Start
(-8863.633,676.073,97.903), vollständiger MMAP10Punkte/35.30yd/22.19Luftlinie,
maxZDelta0.60, finalDistance0.00. Native travelinfo belegt eindeutig
Path.Reason='owner ground-safety validator rejected spline'. Gruppenvalidator
ValidateGroundPath (AdventureGroupTravelMgr) wird bei Observe auch fürLeader
installiert; prüft alle2yd Höhe/Steigung sowieLOS proSegment. Welcher innere
Zweig/Probe ablehnt, wird noch nicht geloggt. Nicht mehr bloß Vermutung über
Gebietspflicht: bei Winienwi ist OWNER VALIDATOR nachgewiesen.
Alternative echteKnoten und5Recoveries scheitern ebenso; Flugfallback scheitert
am Bodenweg zum Freiluft-Startplatz. Statische Flight-probe liest am aktuellen
XY roof115.617, nearFeet97.903 (korrekter Innenboden); beim Ziel97.830.
Dies beweist mehrere Höhenlagen, aber NICHT, dass der Gruppenvalidator die
Dachhöhe ausgewählt hat. Keine pauschale Ground-/LOS-Abschaltung vornehmen.
Belege winienwi-live-diagnostics.log/winienwi-navigation.log unter
checkpoints/2026-11-01-raid-2200/. Nächster sinnvoller Schritt: gezielte genaue
Ablehnungsdiagnostik in ValidateGroundPath, an derselbenPosition reproduzieren.
Kein Build/Install/Restart, kein Teleport.10erRaidintents bleiben gesetzt.
---
# Aktuell: Alle10 Raidintents auf10normal korrigiert, ca.23:05
Nutzer autorisierte Anpassung aller zehn aktuellen Raidintents. Native editplan
preview/apply für159..167/176: aktueller Slot23 raid instance_visit_at_6354_d0.
DB bestätigt alle10 persistent. GroupPlan Leader159 jetzt capacity10; native
INSTANCE_PLAN mode0/map671/entry6354. NeunBots in erster Nachkontrolle Moving/
Travel zurBastion, Winienwi163 lokaler Anreiseversuch Failed und30sRetry zum
selben Ziel (ground approach interrupted). Keine Ankunft/Gameplay bestätigt.
Keine Sourceänderung/Build/Restart. Gruppe bleibt zehnköpfig. Nachweise:
checkpoints/2026-11-01-raid-2200/10man-applied.tsv und10man-console.log.
---
# Aktuell: Fehlgeschlagenen Raidtest untersucht (nur Diagnose)
Bericht: doc/clientless/2026-11-01-raid-test-investigation.md.
Bestätigt: Basisschlüssel6354 wählt25normal/Difficulty1, intern fälschlich20;
10er-Normal heißt6354_d0 (nativeEligibility erlaubt). Completefalse verhindert
frühe und23Uhr-Abreise. Vorbereitung hätte explizite10er-Variante wählen müssen.
Zerstreuung:22:00:02 vollständiger9.38yd-MMAP-Weg zuAllison bei Ausführung
PathRejected, Recoveries erschöpft; Leader-Fallback wechselt37x Treffpunkt bis
andere Kontinente. Genauer erster Höhen/LOS/Gebiet-Ablehnungszweig noch offen.
164/165 nur vorübergehend im Reisehandover; inzwischen alle10 raid/WaitingGroup.
Kein Codefix/Build/Restart/Botplanänderung bei dieser Diagnose.
Belege unter checkpoints/2026-11-01-raid-2200/initial-navigation-failure.log und
investigation-console.log. Vorschläge/Regressionsumfang im Bericht.
---
# Aktuell: Raidtest-Reisereset am 01.11.2026 ca.22:53 MEZ
Auf ausdrücklichen Nutzerauftrag alle10 Raidbots159..167/176 zurück zur
Goldenen Rose gesetzt und alte Reisepläne entfernt. Vorherige Diagnose22:47:
Gruppe2/Leader159 hat exakt10 online, aber Plan meldet capacity20/Anzeige25;
Formation-Fallback wechselte wiederholt Hauptstädte/Kontinente. Kein Codefix.
Für vollständigen Reset gezielter Logout der10 (ohne Serverrestart), Offline-
Status ALLER10 vor Positionsänderung geprüft. Offlineposition genau auf Allison
poi_npc_314039: map0 -8867.79/673.673/97.9864/o5.20108, zone1519,
instance0, taxi_path leer. Wieder eingeloggt: alte Executor-/Travel-/Flight-
und Behavior-RAM-Records durch Logout verworfen. Aktuellen Formationplan aller10
nativ erneut auf poi_npc_314039 gesetzt, Schedule1. 23-Raidplan unverändert.
Alle10 native area5148/map0 bestätigt, jeweils kein freier Flugzustand.
Loader weiter normal1; kein Build/Install/Serverrestart. Gruppe bleibt bestehen.
Nachweise checkpoints/2026-11-01-raid-2200/{before-reset-positions.tsv,reset-console.log}.
Reset behebt nicht den zugrunde liegenden Treffpunkt-/Raidkapazitätsfehler;
weiteren Verlauf nicht als erfolgreich abgenommen darstellen.
---
# Aktuell: Raidtest am 01.11.2026 um 22/23 Uhr vorbereitet
Nutzerauftrag: zehn Allianz-AdventureBots Stufe85 in Sturmwind, 22:00
Gruppenbildung, 23:00 Raid Bastion des Zwielichts. Roster: Tanks Ragnorli167
und Ashaelri176; Heiler Marnda161 (Schamane), Aruendas162 (Priester);
Damage Renren159, Marndra160, Winienwi163, Taliaarnora164, Brynda165, Corric166.
Rollen aus generierten Profilen geprüft: 2T/2H/6D. Alle zehn eingeloggt.
Tagesplan für 20261101 persistent über native editplan-Befehle gesetzt:
21 rest, 22 groupformation, beide poi_npc_314039 (Allison, Gilded Rose, SW);
23 raid instance_visit_at_6354 (Twilight Bastion Entrance, NICHT3529/MoltenCore).
Tagesplansteuerung an. Bestehende Teilgruppen bleiben dem normalen Gruppenmanager
überlassen; noch keine vollständige Zehnergruppe oder Raid-Ankunft behauptet.
Zunächst poi_guard_22 vom Editor abgelehnt, deshalb auf gültigen gemeinsamen
NPC-Treffpunkt korrigiert. Aktive Altanreise einiger Bots brauchte sicheren
Handover; 163/164/166 BehaviorStop, erneuter nativer SW-Teleport und ScheduleOn.
Testserver war zu Beginn offline (kein Prozess/tmux). Ohne Build gestartet,
frische ready-Meldung/PID180309 und Ports8085/8087 geprüft. Normalen Loaderbetrieb
beibehalten. Kein Build, keine Installation, kein Push/Commit.
Nachweise: checkpoints/2026-11-01-raid-2200/console.log und verified-db.tsv.
Final: alle10 nach Saveall online1/Level85/map0/zone1519 und taxi_path leer;
Corric nach abgeschlossenem Routen-Handover erneut SW gesetzt, native area5148
und schedule1/rest bestätigt. Alle10 DB-Slots22/23 geprüft.
Die tatsächliche Gruppenbildung/Abreise/Gameplay ab22/23 bleibt live zu prüfen.
---
# Aktuell: Quest-unabhängige Portalnutzung für AdventureBots ab Stufe 80
AdventureBots können keinen Questfortschritt erwerben. Graphgebundene öffentliche
`portal_use`-Verbindungen gelten deshalb für AdventureBots ab Stufe80 als
freigeschaltet. Normale Spieler, Testbots und niedrigere AdventureBots behalten
die nativen Spell-/Questbedingungen. Fraktion, Gebietskatalog, Node/Edge-Zugang,
sichtbares/erreichbares Portalobjekt und bestätigte Zielankunft bleiben zwingend.
Sind native Bedingungen erfüllt, läuft weiterhin der echte CMSG_GAMEOBJ_USE-Pfad.
Andernfalls teleportiert ausschließlich der qualifizierte AdventureBot zum beim
Import validierten festen Portalziel; der Executor verlangt danach neue Teleport-
Sequenz, richtige Karte und maximal5Yards Zielfehler. Portal-, Prerequisite-,
Flug- und Ground-Exit-Tests PASS, Build-j10 PASS, installiert. Frischer PID174775
ready, Ports8085/8087. Elf Restbots nach Restart ohne alte Flug/Taxi/Transport-
Zustände geprüft. Temporäres Elanora-Override entfernt; Loader/Testbetrieb
wiederhergestellt (`enabled=1`, `schema=1`, `busy=0`, Pools `50/5/50/5`). Details unter Checkpoint
`doc/clientless/checkpoints/2026-11-01-adventure-portal-unlock/`. Kein Commit.
---
# Aktuell: generischer Flug-Wiedereinstieg gebaut, installiert und live geprüft
PlanAdaptiveRoute kann nun jeden erlaubten Graphknoten als begrenzten freien
Flug-Wiedereinstieg verwenden, ohne daraus einen vollständigen Luftgraphen zu
materialisieren. Makroanschlüsse werden priorisiert, maximal16 Flugschätzungen
pro Plan und6 pro Ausgangsknoten; der konkrete Zielknoten wird in jedem lokalen
Fenster zuerst geprüft. Portalquellen werden über ihre tatsächlichen ausgehenden
`portal`/`portal_use`-Kanten erkannt statt über Namenskonventionen. Am erreichten
Portal sind nur diese Kanten zulässig. Regression deckt Flug->beliebig benannter
Portalquellknoten->portal_use->Flug ab. Drei gezielte Tests, diff-check und zwei
abschließende Builds ausschließlich-j10 bestanden. Installiert; frischer PID
172446 ready, Ports8085/8087. Restbots77/153 nach Restart ohne alte Flug- oder
Transportzustände. Elanora erreichte live eine gültige freie Flugroute zu einem
regulären Zielknoten. Das SW-Twilight-Portal wurde wegen nativer Spell-/Quest-
Voraussetzungen für Elanora nicht gewählt, nicht wegen des Plannerbudgets.
Temporäres Override entfernt, Schedule wieder an, Loader/Testbetrieb restauriert;
Status enabled1/schema1/busy0, Pools50/5/50/5. Details im Checkpoint
`doc/clientless/checkpoints/2026-11-01-generic-flight-entry/`. Kein Commit/Push.
---
# Aktuell: finaler Gruppenbildungsmanager implementiert und installiert
Nutzerauftrag: Ab zehn Minuten vor Ende von `groupformation` sollen Botgruppen
deterministisch zu möglichst vielen vollständigen Gruppen konsolidiert werden;
Zielzugang/Rollen müssen passen, Stufe85 bleibt eine eigene Kategorie, menschlich
geführte Gruppen unberührt, expliziter Testfallback erwünscht. Implementiert in
AdventureGroupMgr/Policy: 30-Sekunden-Lauf im letzten 600-Sekunden-Fenster,
größte kompatible Zielgruppe zuerst, rollenbewusster Transfer aus kleineren
unvollständigen botgeführten Gruppen, vollständige Revalidierung von Fraktion,
+/-5-Levelspanne, Level85-Isolation, Beruf, Ziel-Level/Zugang, Gebietspolicy,
Kapazität und Rolle. LFG/Browser-, Menschen-, Transit-/Kampfgruppen sowie bereits
vollständige Gruppen werden nicht umgebaut. Fehlerhafte native Einladung versucht
die ursprüngliche Gruppe begrenzt wiederherzustellen. Tagespläne/Ziel des Leaders
werden nicht geändert; Fünf-Minuten-Sammelregel und Browserfallback bleiben.
Testschnittstelle: `clientless groupmanager preview|run|status`; `run` umgeht nur
das Zeitfenster, nicht Sicherheits-/Zugangsregeln. Dokumentiert in bot-groups.md.
Neue Regression test_adventure_group_manager.py plus aktualisierter Fixture-Stub.
Gezielt PASS: group_manager, adventure_groups, group_role_composition; diff-check
PASS. Voller CMake-Build ausschließlich-j10 PASS, installiert. Bestehende
uncommittete Flug-WIP wurde erhalten und mitgebaut, nicht als Managerarbeit
beansprucht.
Buildbetrieb: Loader/Testaufnahme pausiert, safe logout angefordert. Busy-Loader
nahm Config-Reload nicht rechtzeitig an und hielt durch Nachladen 16/17 Sitzungen;
nach vollen fünf Minuten Recoveryliste/Saveall unter checkpoints/2026-11-01-
group-manager-build/recovery-before-install.tsv. Beim danach angeforderten sauberen
Shutdown SIGSEGV im alten, unter GDB laufenden Prozess; ausschließlich abgestürzten
Testserver/GDB per TERM beendet, Prozessende vor Installation verifiziert. Frischer
Prozess108590 erreichte ready, Ports8085/8087. Loader/Testaufnahme wieder1.
Live: Zehn vorbereitete Level85-Raidbots plus Karggan geladen; aktuelle Formation
und nächster Raid Bastion des Zwielichts gesetzt. Preview: 11 Kandidaten, gültiger
Transfer. Erster erzwungener Apply während ihrer Anreise: null Transfers, korrekt
wegen Ready-Schutz. Nach Ankunft wurden Brynda165 und Ragnorli167 regelkonform aus
der kleineren Gruppe in die7er-Gruppe verschoben. Dabei zeigte sich, dass der noch
benötigte Tank Ashaelri176 als Leiter der verbliebenen Zweiergruppe gesperrt war.
Fix: Botleiter darf Führung an ein anderes CPC-Botmitglied abgeben; niemals wird
ein Mensch erzwungener Nachfolger. Rollback bewahrt den ursprünglichen Leiter.
Erneut Tests/Build-j10 PASS, zweite Fünf-Minuten-Restliste unter
recovery-before-final-install.tsv, sauberer Shutdown, installiert, fresh ready
Prozess113452/Ports8085+8087. Nach Neustart Preview11/moves1, Apply verschob
Ashaelri176; DB bestätigt Gruppe2 exakt10: Renren, Marndra, Marnda, Aruendas,
Winienwi, Taliaarnora, Brynda, Corric, Ragnorli, Ashaelri. Karggan bleibt einzeln.
Alle20 finalen Recoverybots wurden erneut geladen und zeigen neue normale Intent-,
Travel-, Taxi- oder Kampfzustände statt alter Restart-Transitstates. Loader/Test
wieder1; Status enabled1/schema1/busy0, gestaffeltes Laden läuft. Kein Commit/Push.
---
# Aktuell: Routenplaner-Last behoben und volle Population live geprüft
Nutzer meldete Serverlags und bat nach Prüfung bestehender Navigationsprobleme
um den Fix. Vorher mit110Bots: ActionExecutor regelmäßig20–29s je30s, einzelne
PlanAdaptiveRoute-Aufrufe bis10.9s/13693FlightEstimates. Ursache war eine implizit
nahezu vollständige Flugverknüpfung, Flugausstiegprüfung jedes Straßenpunktes,
virtuelle Straßeneinstiegssuche auch an normalen Graphknoten und insbesondere
40-Yard-Gebietssampling ganzer nativer Taxipfade für neue Level/Fraktionskeys.
Fix in ClientlessTravelGraphMgr: maximal2 vorsortierte Flugausstiege pro Kante/
8proPlan,16 echte FlightEstimates proPlan, Schätzcache über beide Suchtier,
Flugconnectoren nur Ziel/mapwechselnde oder physische Transportquellen statt
aller Taxis, direkter same-map Location-Flug vor Makrosuche, virtuelle Forward-
Entry-Reparatur nur an echten Graph-Sackgassen. AdventureAreaMgr prüft native
Taxipfadexistenz plus bereits fraktions-/gebietskataloggeprüfte Endknoten; das
Überfliegen gesperrter Gebiete ist erlaubt und wird nicht mehr in40yd-Schritten
abgetastet. Native Flug-/Gebiets-/Start-/Landesicherheit bleibt bestehen.
Mehrere inkrementelle Builds regelkonform: Loader/Testaufnahme0, safe logout,
nullSitzungen oder dokumentierte5min-Ausnahme, saubererShutdown, ausschließlich
-j10. Gezielter test_free_flight_planner bei jedem Build PASS, diff-check PASS.
Final installiert; frischer ready-Prozess47340, Ports8085/8087. Vier Recoverybots
54/64/89/109 in Fraktionshauptstädten geprüft; Details unter
doc/clientless/checkpoints/2026-10-31-route-performance/. Loader/Testaufnahme
wieder1, volle Pools50/5/50/5=110 online.
Live nach finalem Fix: Kaltplanung statt10–20s noch1.93s einmalig; folgende
vergleichbare Routen51–153ms. Bei110Bots drei volle30s-Fenster Actions4.11/4.38/
4.14s statt20–29s; Controllers6.63/7.06/6.79s, keine RECOVERY_FAILED oder
TRAVEL_PLAN_FAILED. CPU-Prozess etwa130% über mehrere Threads; Server bleibt
ready. Noch auffällig: Fizzira43 wiederholt alle2–3s denselben Intent-Fallback
instance_visit_at_2217->446 (Intent none, keine Action), kein eigentlicher
Travelplan-Fehler. Andere neue Fallbacks:154(13),95(12),50/114(8),146(7),105(6).
Fizzira ist ein separater Tagesplan/Intent-Fallback-Bug und sollte als nächstes
behoben werden. Kein Commit/Push für diese Arbeit angefordert.
---
# Aktuell: Brindras verwaister Gruppen-Pfadvalidator behoben und live geprüft
Brindra86 hing nach einer früheren Gruppe hinter der Tiefenbahn auf der
Eisenschmiede-Seite fest. MMAP berechnete vollständige Wege, doch TravelMgr
meldete `owner ground-safety validator rejected spline`; die Route startete
wiederholt über `virtual_ground_entry`. Ursache: `AdventureGroupTravelMgr::Observe`
kehrte bei `GetGroup()==nullptr` zurück, ohne den zuvor installierten
GroundPathAdapter/PathValidator und Gruppenreise-Record zu entfernen.
Fix in AdventureGroupTravelMgr.cpp: Wenn keine Gruppe mehr besteht und ein
Gruppenreise-Record vorhanden ist, wird `Clear(player)` aufgerufen. Dadurch werden
Adapter, Validator, eigener Reisezustand und Record entfernt; Bots ohne früheren
Record bleiben unberührt. Regression in test_adventure_group_travel.py verfolgt
beide Registrierungen und beweist deren Entfernung samt Record/Reiseabbruch.
Buildregel eingehalten: Loader/Testaufnahme0, safe logout angefordert. Nach fünf
Minuten blieben13 Bots auf regulären Flug/Taxistrecken; Saveall, vollständige TSV-
Liste mit GUID/Name/Fraktion/Position/Taxi und native Info/Flight/Transport/Action-
Ausgaben unter `/home/wow_admin/wow_cata_server/checkpoints/brindra-group-validator/`.
Server sauber beendet. Gruppentravel-TestPASS. Build-j10 am Ende vollständig
gelinkt (ELF geprüft), installiert, frischer ready-Start Prozess32369, Ports8085/
8087. Wegen einer fehlerhaften Tool-Sitzungsrückmeldung liefen kurz mehrere eigene
Linkprozesse auf dasselbe Artefakt; ausschließlich diese Prozesse beendet, danach
ein einzelner sauberer Neu-Link. Installierte alte Binary war dabei nie überschrieben.
Alle13 Restbots eingeloggt, alte Flug-/Transportzustände waren weg, in
Sturmwind/Orgrimmar geborgen und per Area-Ausgabe bestätigt. Loader/Testaufnahme
wieder1; tatsächlich enabled1/schema1/busy0/known110. Brindra war erneut in einer
Gruppe; `interaction 86 leave` führte live zu `No group travel state`, grouped0.
Der zuvor abgelehnte Weg läuft nun mit Travel=Moving und Nav reason=`ok`, ohne
PathRejected. Brindras Schedule ist wieder an. Kein Commit/Push angefordert.
---
# Aktuell: GM-Tagesplaneditor implementiert, gebaut, installiert und live geprüft
Nutzerauftrag: aktuelle/künftige Intents samtLocation perBefehl, GUID/Population,
Fraktions- undLevelgruppenfilter. NeuerBefehl `clientless adventure editplan`
unterbestehendemGM-Kommando. Syntax/Beispiele: doc/clientless/plan-commands.md.
Scope ausdrücklich EINGELOGGTE AdventureBots, heutige aktuelle/künftigeStunden.
GUID|all, current|next|next+N|Stundenrange, Intent|keep|instance-or-raid,
Location|auto|capital|keep, alliance|horde|both, Min/Max1..85, preview|apply.
Vorschau kopiertRecord und verändert wederDB nochRNG. Änderungen validiert mit
normalemAllowed/Level/Area/Flight; FormationbenötigtzulässigenFolgeblock, nieStunde23.
GültigeBots persistieren sofort und aktualisierenRAMPlan; ungültigeBots werden
mitGrund proBot komplett übersprungen. Aktuell benutzt sicherenSetWantedHandover,
zukünftig lässtaktuellenIntentlaufen. KeineTeleports/Gruppenauflösung durchEditor.
KeineSchemaänderung/keineLuaänderung nötig. Current reaktiviertSchedule, Future
behältmanuellenSchedulemode; beiBedarf schedule GUID on.
Betrieb: User warerneutbeimAufzeichnen, asynchrongefragt; Antwort "bin fertig gut
aufgepasst" erlaubteInstallation/Restart. Loader/TestAdmissionpausiert, safeall um
13:41:55CET; nachmehrals5min9Restbots53/54/67/74/75/86/89/125/145 mitSnapshot,
saveallDBPositionen und verfügbarenFlags dokumentiert; sauberShutdown10, Prozessende
verifiziertVORBuild. BestehenderNinjaDebugBuild-j10 EXIT0, viergezielteTestsPASS.
InstallEXIT0, frischerreadyStartProzess25737, Ports8085/8087geprüft. NeunBots
geprüft/indenHauptstädtenzurückgesetzt. Brindra86brauchtezweitenTeleport nachsicherem
BehaviorStop; area5148bestätigt undSchedulewiederon. Loader/TestEnabled1undAdmission
restauriert; tatsächlichenLoader enabled1/schema1/busy0/pools50/5/50/5bestätigt.
Restbotpositionsquelle ausdrücklich letztesSaveall, keineunbelegtenLivekoordinaten.
NativeLiveprüfung: Preview26next undallianceLevel60Filter, dann26Stunde20
social->rest(auto), DBpersistenzgeprüft; originalsocial/goldshire_tavern wiedermit
Befehlhergestellt und alleSlots18..23gegenBackupidentischbestätigt. Dergeplante
Gruppentest14–15/15–16bleibtbestehen. RaidJoin0/BGJoin0unverändert.
KeinCommitfürdiesenAuftragangefordert/erstellt, vorherigerCommit69b5a1c4a1.
Code: AdventurePlanCommand.h, AdventureBehaviorMgr.cpp/.h. Test:
tests/clientless/test_adventure_plan_commands.py extrahiertproduktiveEditPlanMethode.
Belege: doc/clientless/checkpoints/2026-10-31-plan-command/. VierTestsstattkompletter
Suiteerneut, frühere120/120historisch. git diff --check erfolgreich.
Vorheriges32MBRohlogundPythonCacheweiterlokalunversioniert, nichtlöschen.
---
# Aktueller Gruppentest geplant: 31.10., 14–15 Uhr Vorbereitung, 15–16 Uhr Ziele
Nutzer verlangt NÄCHSTEN Intent Gruppenbildung, danach gemischt Dungeon/Raid.
Für92geeignete ready-Bots nächsteSlots14/15 persistent geändert,18unter15wie zuvor
vom Test ausgenommen. 74instance/18raid. Sammelorte poi_guard_22(SW,GildedRose)
und poi_guard_179(OrgrimmarInn); native Generate revalidiert Ziele beim Login,
bei Bedarf ersetzt es auch den Treffpunkt durch gültige Location. Arthoran native
plan bestätigt14groupformation inSW/poi_npc_314039,15raid instance_visit_at_3529.
VorherigePläne/Manifest unter checkpoints/2026-10-31-group-test/ gesichert.
Beim Beginn war Worldserver unerwartet offline, keine tmux-Session; vorigen
Server.log gesichert, keine reguläreShutdownmeldung am Ende. Ursache UNGEKLÄRT.
Server neu gestartet, freshready/8085+8087/Prozess19724 geprüft. Loader enabled1,
schema1,known110,50/5/50/5, lädt gestaffelt. Kein Build/kein Commit/keinePushes.
RaidJoin0/BattlegroundJoin0 bleiben0. Battlegroundtest erst später aufUserauftrag.
Keine automatisierte Stundenbeobachtung beauftragt. AlteInfoProzess14646historisch.
---
# Aktuell: installiert, Testserver online, Botbetrieb wieder freigegeben
Der Nutzer hat das Neustartverbot ausdrücklich aufgehoben. Fertigen Build ohne
weitere Kompilierung installiert (cmake --install EXIT0), vorher kein Worldserver.
Frische tmux-Session vcore-worldserver gestartet; frisches Server.log meldet
(worldserver-daemon) ready..., Prozess14646 blieb aktiv, Ports8085/8087 lauschen.
Loader beim Start0; sieben Restbots43/46/54/73/74/118/147 einzeln eingeloggt,
Flug-/Transportzustände geprüft und mit tele name nach Sturmwind/Orgrimmar geborgen.
Ankunft für ALLE über adventure area bestätigt: Alliance map0/area5148, Horde
map1/area5170, allowed1. Kein alter free-flight-/transport-ride-State. Native
Status direkt nach Bergung: sessions7 combat0 transport0 flight0 loading0.
Danach normalen Betrieb wiederhergestellt: Loader1/TestBot.Enabled1, reload config,
population reload, test resume. Tatsächlich bestätigt enabled1/schema1/busy0,
pools50/5/50/5, known110; gestaffelte BOT_LOADER_LOGIN und Online-Meldungen laufen.
110 ist die Zielpopulation; Vollbesetzung wurde noch nicht abgewartet.
Build-j10 und120/120Tests zuvor bestanden, diff --check weiterhin sauber.
Live bereits BROWSER_QUEUE guid62 intent instance; kein erfolgreicher echter
Browserbeitritt mit Spieler behauptet. Raid-/BG-Beitritt bleiben0, BotOnlyTests0.
Beobachtet: sechs ignorierte Kanten mit fehlenden Nodes (1752,1822,1823,1865,
1866,1869), langsame Routenplanung bis25.3s; keine neuen Fixes daran vorgenommen.
Keine kritischen Startfehler/kein Crash beobachtet. Keine Commits/Pushes.
Belege in doc/clientless/checkpoints/2026-10-31-browser/: validation-status.json,
restart-recovery-needed.json, post-start-recovery.log, post-recovery-loader.log,
loader-resumed.log, startup-and-initial-runtime.log. Installlog außerhalb Repo:
/home/wow_admin/wow_cata_server/checkpoints/browser-install-2026-10-31.log.
Alle älteren Angaben zu noch verbotenem Neustart/ausstehender Installation sind
historisch. Betriebssystemzeit bleibt ausdrücklich außerhalb des Auftrags.
---
# Aktueller Wiederaufnahmestand: Browser/PvP/Gruppen gebaut und getestet
Der Nutzer hat die weitere Arbeit freigegeben. Betriebssystemzeit ist ausdrücklich
KEIN Thema/Blocker mehr. Fokus ist das bestehende Feature, keine Questbugfixes und
keine neue Featureausweitung. Autorisierter Branch feature/clientless-player-core;
alle vorherigen Änderungen und Staging erhalten. Keine Commits oder Pushes erfolgt.
## Ergebnis der letzten Fortsetzung
- Nach externem Umgebungsneustart war der Worldserver bereits OFFLINE: kein Prozess,
keine vcore-worldserver-tmux-Session, keine Listener8085/8087. Deshalb waren null
CPC-Sessions vorhanden; dieser Agent hat keinen Server/Transport/Bot zwangsbeendet.
- Loader blieb0. TestBot.Enabled wurde für den Build von1 auf0 gesetzt; ursprünglicher
Wert in doc/clientless/checkpoints/2026-10-31-browser/resumed-build-state.json.
- Bestehende NinjaDebug-Konfiguration verwendet, vollständiger Build1053Schritte
mit cmake --build /home/wow_admin/wow_cata_server/build/debug -j10: EXIT0.
- Letzte Korrektur für native Type1-LFR-Berechtigung inkrementell ebenfalls-j10
gebaut und gelinkt: EXIT0. Kein ausstehender Produktionscode-Compilerfehler.
- Alle120Clientless-Testskripte erfolgreich geprüft. Erster Gesamtlauf114/120;
sechs ältere C++-Adapter ergänzt und die sechs Fälle gezielt erneut ausgeführt:
alle bestanden. Neue Assertions für PvP-Planpersistenz, Browser-Wartephase,
Reise-Latch/Restart und AFK-Schutz. Kein Produktionsfehler wurde durch das
Abschwächen einer Assertion verdeckt. Initiale Fehlerlogs bleiben erhalten.
- Geklärter Cataclysm-Sonderfall: Drachenseele416/417 sind Type1 auf Raidkarte967,
Stufe85,Rollen2/6/17. Native Zulassung für diese Angebote nutzt DungeonFinder,
nicht Legacy-Type2-RaidBrowser. Eigene Bot-Beitrittssperre bleibt kartenbasiert.
Kein globaler DungeonFinder.OptionsMask-Wert wurde geändert.
- git diff --check bestanden. Noch NICHT installiert und kein Worldserver gestartet.
Kein tatsächlicher Live-Browserbeitritt oder visuelle Abnahme behauptet.
## Aktuelle Betriebsgrenzen / nächste Schritte
Das ausdrückliche Verbot von Shutdown, Neustart und Installation während weiterer
Routenaufzeichnung bleibt bestehen. Die externe Umgebungsunterbrechung ist KEINE
Freigabe für einen Worldserver-Start. Serverzustand beim nächsten Turn neu prüfen;
keinen zweiten Prozess starten. Aktuell off lassen, keine weitere Zeitkorrektur.
1. Erst nach Aufhebung des Aufnahmeverbots bei Bedarf bestehendes fertiges Build
installieren. Vorher Prozesszustand prüfen, niemals laufende Binary überschreiben.
2. Für den ersten neuen Start Loader pausiert lassen, TestBot.Enabled bei Bedarf
wieder auf ursprünglichen1 setzen; für pausierte Annahme nach Startup
`clientless test pause` verwenden. Frische ready-Zeile/Prozess/Ports verifizieren.
3. Sieben vor dem externen Neustart verbliebene Bots prüfen:
43Fizzira,46Selthas,54Falaeriel,73Rixzek,74Nimbin,118Lillina,147Seraenriel.
`restart-recovery-needed.json` enthält frühere native Befunde und letzte
GESPEICHERTE Positionen (keine angeblichen Livekoordinaten). Login-, Bewegungs-,
Taxi-, Flug-, Transport- und Teleportzustand frisch prüfen; falls nötig nach
geltender Bergungsregel in Fraktionshauptstadt zurücksetzen und Ergebnis sichern.
4. Wenn Aufzeichnung beendet und Wiederaufnahme gewünscht, Loader ursprünglich1
wiederherstellen und tatsächliche Laufzeitaktivierung prüfen (Reload kann busy
ablehnen). Testannahme entsprechend dem gewünschten Testbetrieb wieder freigeben.
5. Erst dann native Dungeonbrowser-Beitritte mit Spieler prüfen. Raid-/BG-Beitritt
bleiben standardmäßig0. Reine Botmatches benötigen ausdrücklich Testausnahme
UND aktivierten Queue/Join-Schalter; native Zugangsvoraussetzungen bleiben bestehen.
Vor jeder weiteren Kompilierung erneut Loader/Testannahme pausiert und nullCPC
verifizieren. Alle CMake-Builds-j10. Falls später wieder Bots hängen: normale
Fünf-Minuten-Shutdownausnahme nur ohne geltendes Aufnahmeverbot und mit frischer
vollständiger Restbotliste/Status, dann Prozessende prüfen, dann bauen.
## Dateien / Belege
Beschreibung: doc/clientless/browser-and-pvp.md.
Belege: doc/clientless/checkpoints/2026-10-31-browser/
- validation-status.json: Build-/Test-/Installationsgrenzen.
- focused-tests-resumed.json: erste sieben gezielte Tests erfolgreich.
- regression/summary.json: historischer erster114/120-Lauf.
- regression/rerun-results.json und final-summary.json: alle120 erfolgreich.
- browser-build-2026-10-31.log und browser-build-incremental-2026-10-31.log.
- resumed-build-state.json, browser-config-prepared.json, restart-recovery-needed.json.
Originale Buildlogs zusätzlich außerhalbRepo unter wow_cata_server/checkpoints/.
/tmp-Dateien aus der alten Session sind durch den Umgebungsneustart verschwunden;
nur persistente Checkpoint-Dateien für die Wiederaufnahme verwenden.
Quellcode: ClientlessBrowserPolicy.h/Rules.h; LFGMgr/Queue; BattlegroundQueue/Handler;
WorldSession::HasOpenRealmConnection; AdventureGroupMgr (Rollen/Reservierungen/
Merge/Browser), AdventureBehaviorMgr (WaitingGroup/PvP/Reisefreigabe), Generator,
Gebiets-/Kampf-/Interaktionsregeln. Native Systeme hängen nicht von AdventureBots ab.
Config in conf.dist UND echter Testkonfiguration vorbereitet:
Dungeon.Queue/Join1/1, Raid1/0, Battleground1/0, AllowBotOnlyTests0.
Aktuell Betriebs-Pause Loader0/TestBot.Enabled0 für den ausstehenden Start behalten.
Weitere WIP bleibt erhalten: Hauptstadtportale/Transport, eigenständige TestBots,
abgeschlossener Hillsbrad-Test. Nutzer will ausdrücklich KEINE Hillsbrad-Questfixes.
Elune's Blessing ist live verlinkt gewesen (Kante1859,Alliance,both); Nutzer zeichnet
weitere Routen auf, aktuelle DB vor Änderungen erneut lesen. Keine aufgenommenen
Routen durch alte Dumps überschreiben. Staging unverändert lassen.
Die älteren Einträge unterhalb sind historische Befunde und werden durch diesen
aktuellen Stand ersetzt. Keine erneuten Featurearbeiten anhand alter "NOTRUN"-
Hinweise beginnen; verbleibend sind Freigabe, Installation, Start und Liveprüfung.
---
# ACTIVE continuation Oct31: review completed further, restart STILL FORBIDDEN
User explicitly says continue remaining browser/PvP work, but continues route
recording; do NOT shutdown/restart/install. Worldserver498839 stillready8085/8087,
console /tmp/vcore-2026-10-31-start.log. Safe logout remains7sessions(2combat,
6flight); loader0/testadmissionpaused. NO build and NO C++fixture execution yet.
Do not evade resourcepolicy via tests/syntax-onlycompile. Onceallowed andzeroCPC,
run -j10 build/fixtures; ifstillstuck requireuserrecordingfinished before5min
shutdownexception+freshcomplete recoverylist. Existing elapsedrequest01:21:40.
Further source fixes in this continuation:
- Pending role/capacity reservations; excludeacceptingcandidate's ownreservation.
- Merge checksactualsourceleaderstillforming; cannotstealfromdepartedgroup when
member'sownplanstillforming. Priorityforvalidgroupcompletion, surplusrolescan
movesmaller; same-sizednormalmoves deterministic. Rollbackrestoresbotleadership
and2membersourceRaid/modes. Profession compatibilitypreserved; druidsbearrole.
- Browser responses nowrunbeforeSupply/Combat inAdventurecontroller, throttled1s;
nativeLFGMgr::IsRoleCheckPending query prevents duplicate role broadcasts.
- Sessionquery HasOpenRealmConnection (WorldSession.h/.cpp) for generic CPC Human
gate: FindConnectedPlayer merelyregistry. ClosedRealm/loggingoutdoesnotqualify;
changinginstancesocketduringlegittransferdoesnotblock. Nativehuman-onlygroups
unchanged; participatinglivehumanchosenleader onlywhenCPCmemberspresent.
- Matchrecursionprunesfullallbotprefix BEFOREcachedcompatibility, sohumanlastin
queuecanreplacefifthbot (or25thraidmember), notconsumedasa6th/26thcandidate.
- DirectBGgrouprecruitmentchecksactualDBbrackets andRandomBGmin45/WSmin10;
incominginvitationsarehonored, ownuncreatedformationcancelledbeforequeueing;
expiredmanagedinvitationsdeclinedwithoutinterruptingcombat.
- Newconfigkeys appended to REAL testconf aswellasdist(defaults1/1,1/0,1/0,override0),
no reload/currentbinaryactivation. Snapshot browser-config-before/prepared.json
underdoc/clientless/checkpoints/2026-10-31-browser. Existingloader0retained.
Newbehaviorfixtures (NOTRUN): browser_participants(closed-butregisteredhuman),
browser_match_order(actualnativeFindNewGroupsrecursion/stalecache/25raid),
browser_bg_brackets(nativecustombracketboundaries). Extendedgroup_role_composition
forpendingroles/invalidtarget/surplusroles/bear. Existinggroups/instance_begin
adaptersupdated. All120PythonfilesASTparse;gitdiffcheckPASS;config7valueschecked
indist+realconfig. validation-status.json explicitly recordsNOCPP/NOgameplay.
No commit/push, noquestfix, nofurtiveflightcancel/teleport. PreserveallpriorWIP.
Detailed doc/clientless/browser-and-pvp.md. Nextstep remainscompile+actualtests,
notanotherfeatureexpansion. Usermaystillrecordadditionalroutes; do notinferrelease.
# Oct31 follow-up: Elune's Blessing route linked live
User finished Azuremyst-side recording and asked inspect/link. Both native stops
accepted on Reload (10stops total): ship_elunes_blessing_ruttheran map1/10points,
ship_elunes_blessing_azuremyst map530/16points, Entry181646 spawn9,period238656,
standelunes_blessing_center, localendpointgap~0.65yd. Native transport link
created edge1859 cost100,bidirectional1,enabled1. BothnodesexplicitAlliance mask1.
Native clientlessadventurereload refreshed area/access/location/graph caches,
no restart. Evidence doc/clientless/checkpoints/2026-10-31-elunes-blessing/.
Azuremystgroundedge1858 links exodar_gate_second to shipnode. Ruttheran shipnode
has NO recordedgroundedge yet; do not invent an untested ground path. Actualbot
ride not tested (safeLogout/buildpause stillinforce). Existing browserWIPbelow.
# ACTIVE Oct31: native browsers / PvP / role-based group consolidation
User authorized implementation of discussed browser/PvP/group changes; NO restart
while user records Elune's Blessing ship route. User explicitly requested startup:
existing installed worldserver started PID498839 in vcore-worldserver, console
/tmp/vcore-2026-10-31-start.log, fresh Server.log ready Oct31 01:14:30,8085/8087.
No new build installed. NativeStartup normal. EarlierHillsbrad completed untouched.
New WIP source: ClientlessBrowser{Policy,Rules}.h generic CPC gates (noAdventure
imports inLFG/BG); nativeLFG match+finalproposal+teleport gating, autoCPCanswer,
humanleader; BGselection+matching+portgates. Independent QueueEnabled/JoinEnabled
settings inconf.dist; Dungeon1/1 Raid1/0 BG1/0 botOnlyTests0. AdventureGroupMgr
roles, Complete, Merge(probabilityriseswithtime), QueueBrowser nativehandlers,
rolechecks/BGports; Behavior WaitingGroup, travelLatch wholegroup, PvP intent,
profilegeneration/pvpweights/areaeligibility/worldpresence/combatweight.
Detailed scope doc/clientless/browser-and-pvp.md. NO questfixes undertaken.
Existingportal/transport/TestBotWIP preserved. No commit/push requested.
Build preparations: Loaderprevious1 stored /tmp/vcore-browser-2026-10-31-state.json;
request01:21:40 local, Testadmissionpaused, configLoader0 thenreloadconfig and
populationreload accepted enabled0/schema1/busy0. Safe logout all requested.
Laterstatus7sessions (2combat,6flight), no transport. Diagnostics and last-saved
positions in doc/clientless/checkpoints/2026-10-31-browser; pending-runtime.log.
These saved DB positions are NOT claimed as live coordinates. Requery before
any future shutdown/recovery snapshot. MUST requery live before
ANY compilation (includingC++ test fixtures). Do not shutdown duringrecording.
Ifremaining at5min, document/deferbuild,keepserverrunning; noforce/detach/teleport.
Tests currently onlyPythonASTsyntax andgitdiffcheck; noC++tests/buildrun yet.
Newtests browser_admission/group_role_composition; adaptedgroups/instance_begin
fixtures. Run these plus relevantexistingLFG/BG/policytests afterzerobots, then
cmake --build /home/wow_admin/wow_cata_server/build/debug -j10 (existingNinjaDebug).
Buildresourcepolicy remainsfullyinforce. On stuckbots, waitforuserrecordingdone
before5minshutdownexception+snapshot; nevercompilewithremainingsessions.
Source needsfullcompile/review beforeclaimingdone. Follow-upreview fixedC++GUID
comparison(use<,notunsupported>), LFGproposaliterationerasure, 50slotpacketbound,
wholepartylatchafteracceptedtravel, protectedqueuedpartiesandfinalhumancheck.
NativeDBCconfirmedRaidFinder416/417 map967 are TypeID1,roles2/6/17,min/max85;
useactualMapIsRaidforqueuecaps/gates (notTypeID2). Raidpartialpremadecap25.
Additionalproductionfunctiontests group_role_composition, independentadmission
kernel ClientlessBrowserRules. Tests onlyASTparsed(noC++executionyet).
Potentialnextcheck: existingextractiontestfixtures afternewBegin/rolehelpers.
Do not install overrunningbinary.
Loader/testadmission remainpaused while recording, restoreprevious1 afterdeploy.
# COMPLETED Hillsbrad live quest test, 2026-10-30
Authoritative report: doc/clientless/hillsbrad-quest-test-2026-10-30.md.
Evidence: doc/clientless/checkpoints/hillsbrad/results/*.json,
final-character-quests.tsv (eleven native rewardedquests), diagnostic-db.json.
GUID150Morvath offline/retained, noAdventureprofile. No active/queuedTestBot jobs.
Native console confirmed safe logout pending0 sessions0 before restoring loader.
COMPLETED28571,28096,28111,28114,28115,28138,28144,28146,28156,28168,28199.
Main28192blocked:case07walkfailed;15freshunmountedaccept+60s+gossip+rewardfailed,
28197properlydenied. Do NOT fakecompletion/unlocklaterstory. Mainlateruntested.
Coastal28146 freshacceptcase14 PASSED12feedings+reward225s. Relogcases09/12fail;
stationarycase13 proves companionvanishes~500msinallowedarea295. Liveacceptworks.
Noquestgameplayfixes/SQLchanges. TestcontrollerAPIs built/installed-j10; native
ActiveMoverACK limitedTestcontroller. PythonexternaladaptertestPASS,diffcheckPASS.
Latestserver490158 /tmp/vcore-hillsbrad-live-start.log remainsrunning8085/8087.
ConfigrestoredLoader1/TestBotTimeout300; reloadconfig+populationreloadaccepted
(enabled1busy1 atrestore). Final runtime status confirmed enabled1/schema1/busy0/known110/error empty;
all four pools have successful online bots, continued staggered admission.
Originalrecovery97/101/118 completed earlier; /tmp/vcore-hillsbrad-recovery retained.
No commits/pushes requested/performed. Existing portal/transport WIP preserved.
Earlier ACTIVE notes below are historical and superseded by this completion.
# LATEST live progress (supersedes earlier active-run notes)
Completed native quests now10:28571,28096,28111,28114,28115,28144,28138,28168,
28156(Dumasswalk34s),28199(6nativeghoullootsamples). All results in liveTestBotroot.
Current hillsbrad_14_coastal_live_accept running: liveabandon/reaccept28146 atSarus,
companionpersists,physicalwalkmine->coast,3actualmurlocfeedingcredits already.
Prior coastalrelogtests09/12failed: companion47662 visibleatlogin then disappears
within500ms whileactorstationaryallowedarea295/quest3;case13 proves no walking
required for disappearance. Liveaccept companionpersists so distinguish relogbug
fromregularquest. No gameplayfix attempted. Await12feeds+reward(ifallpass).
Queued15assessment_retry: nativeabandon/reaccept28192 unmounted atWarden,inspect
emptygossip,wait60sforcinematic,attemptnormalreward,verify28197properlylocked.
Prior07walkassessment failed. Local28192SourceSpellID0/noNPCscript/noSAI/noATlink;
expectedcinematic(CataWowproguide);nativeDBC89148/89154havecompletioneffects,
NEVERmanuallycastthose (wouldfakeprogress). Needfinalblockerreport/evidencecopy,
restoreloader1/timeout300/runtime enabled checked. Source fixtures/docmodified,
no gameplayquestSQL/scriptschanged. RequestfileorderUNSPECIFIED(fsiteration),
submitdependentcasesonlyafterpredecessorcomplete! No otherbuildrequired now.
# LIVE UPDATE Hillsbrad (latest, supersedes stale progress below)
Server490158, fresh ready /tmp/vcore-hillsbrad-live-start.log; ports8085/8087.
-j10 mover build/install passed; latest TestBot native ActiveMover ACK loaded.
Loader0, TestBot enabled1 Timeout1800; restore values from
/tmp/vcore-hillsbrad-state.json after task (loader1, timeout300).
GUID150Morvath undeadwarrior20, retained native testchar. Weapon49778 skill55.
Rewarded28571,28096,28111,28114,28115,28144 (all native interactions).
Currently active capture run hillsbrad_04_capture, queued hillsbrad_07_sludge.
Supplies run hillsbrad_03_supplies_retry PASSED:6chests, native Opening22810
(lock13), real loot, negative/positive28168 prerequisite check. Active28168.
Capture fixture in sourcehillsbrad_capture.lua, coastal fixture prepared but
NOT queued yet. 28146 active; test physical follower movement, no teleportcredit.
Native human capture already produced first credit. After capture run may end
atKeyton; coastal needs login in area288/295 to get companion. Sludge run queued
will turnin28168/accept28192 and walkassessment; no event source found inC++/SAI.
Need test remaining escort28156 and coastal28146, then continue accessible chain
or document real prerequisite blocker. No questgameplaySQL/script modified.
Native APIs added inventory spellmetadata/ground itemcasts/codedgossip/area trigger,
request_cast GOtargets, skill(value,max), ActiveMover; doc updated.
Do NOT replay oldmachine fixture described below; already done.
# ACTIVE Oct30: live Horde Hillsbrad quest-chain test (user requested)
User asked actual linked quests in Hillsbrad, referenceWowhead28089. Browsed
link(cachemiss),Cataquestlist,Warchiefvariants andWelcome scene sources. MainHorde
story withunlockedsidequests intended,notlegacydeprecatedorindependentPvZ.
LocalDB twoaliases:28089 Cromush(onlysummonedNPCentries44640/45631/46125),28571
commandboards(GO207324spawn203440Undercity;207325Silvermoon). Both->28096.
Catalogallqfields/addonlinks doc/clientless/checkpoints/hillsbrad/quest-catalog.json
(includesdeprecatedoldquests;filtermodernID>=28089). Itemspells parsed native15595
Item/Item-sparse.db2 into item-spells.json (WDB2header48+6*(hi-lo+1)indexblock).
AddedneededTestBotAPI inClientlessTestBotMgr.cpp: nearest_creature/object, npc_hello,
menu(id/optionsid/text/action),spellclick,exit_vehicle,request_cast,inventory,
remove_item,bag equip/clear slots19..22,skill exact(value,max). Snapshotvehicle
entry/guid;targetstatemax_health/entry/level. Nativehandlersstillnormalnocredits.
Firstskillimplementationcalledoffline-onlyfactoryhelper=>alwaysfalse online;
FIXED directSetSkill withDBClinecheck andvalue/max args(current source compiled).
LuaHillsbradconversationinitialloopreopenedHello beforeeveryanswer=>resettofirst;
FIXED onlyopen initialstage/preserve subsequentnativeMenu. These areharnessbugs,
NOTquestbugs. No gameplayquestDBorquestscriptmodified.
TestHordeactor GUID150Morvath,race5Undead,Warrior20,account17;retainedtestregistry
Root /home/wow_admin/wow_cata_server/server/debug/testbots. Four54443bagsprovisioned,
HP8000/rage1000. Nativeweapon49778twohandsword(class2subclass8),actualweaponSkill55;
train55=100/100beforecombat (sourceintro currentlytrains43only;amendLua asneeded).
NoAdventureprofile. Firstjob hillsbrad_00_intro failedonlyskillprep. Retry via
login150(bagsalreadyprovisioned) COMPLETED28571nativeboard->Darthalia,nativepositive
andnegativePrevQuesttests passed,28096accepted andspellclickedhorse47445,seen
Dumassmenu1101. ThenharnessHello-looperrorblocked1102 andtimedout;charoffline,
28096stillincomplete/nofakecredits,28571rewardpersisted. Do NOT recreateMorvath.
Sourceexample src/.../testbots/hillsbrad_intro.lua corrected, freshcasecreatesname;
prepared /tmp/vcore-hillsbrad-machine-resume.lua useslogin150/skips28571alreadydone
andbags,retries28096scene(withfixedloop),thenreward28096/accept28111/deliver to
Keyton47554 andcheck/unlock28138+28144. NEXT submitthisLua afterstartupchecks.
CURRENT startupjuststarted in tmuxvcore-worldserver,console
/tmp/vcore-hillsbrad-scene-start.log. Needfreshready/process/8085+8087 verification.
Priorserver487774cleanlystopped,CPC0/loader0/admissionpaused confirmedbefore
-j10 build /tmp/vcore-hillsbrad-skill-build.log PASS,installlogsameprefixPASS.
SourceAPI firstbuild /tmp/vcore-hillsbrad-api-build.log alsopassed. No otherbuild
pending. Newstartupresets safeAll/admissionflags; ensuretestintakeresumed.
Loader0throughzoneTest,Timeout1800(original300). Restore aftertestingusing
/tmp/vcore-hillsbrad-state.json (originalLoader1,Timeout300,request19:29:49).
ActualruntimeLoaderpausefirstreloadDENIEDbusy!Config0butnewloginscontinueduntil
shutdown;nextstartupenabled0verified. ForfuturemustRETRYpopulationreloaduntil
reported enabled0,notjustsendonce. AllnewloginswerecaughtbysafeAllandloggedout.
5minshutdownexceptionusedproperly after~6min:3remaining97Talzul101Korutam118Lillina
positions/flightstatuses /tmp/vcore-hillsbrad-recovery. Poststartupfeetcheck97+101
recoveredOrg,118validgroundleftalone.Alloffline,3temporaryspecificprofilesremoved
hashverified(manifestretainedonlyevidence). No resetotheractors/humans. Shortlocal
MariaDBconnecttimeoutduringprofileprep;retrySELECT1passed,servicealive(noDBservice
changes). Currentroot3tempsnoexistingfilesexpected. PriorWIPuncommittedpreserved.
Caseplan: Machine vehicle/gossip 47444actions1101/1102;47443 1103..1105;47442
1106..1108. Menusautoopen/firstHello only. Underhill actuallyCaptainKeyton47554,
coords(-902.906,231.024,9.70241)spawn323979. Darthalia2215(-572.135,428.285,80.3627)
spawn324463. Harvest/PastPrime giver47432(-594.835,429.852,79.3003),turninSarus47551
(-905.543,232.002,9.48916). Harvest28114 needs60CreeperEgg63029 clickedNPC47203
nativeOnSpellClickscript,attachedtobears47204(vehicle1251);gatherBEFOREkilling8
bears28115. Nativequestnotpumpkins! Supplies28144 needs6item63082 fromGO206783
chestloot35722,100%questrequired,loot_slot0. HumanInfestation28138 needs8captured
2269/2270/2503 at<=35%HPviaitem63079spell88797 (nativeitemuse), nofakehealthdamage.
CaptureminingNPCsstartparalyzedspell87969;breakthenhurt/stop/UseItem naturally.
Coastal28146 fromSarus47551,feedcompanion47662 12murloc2374/2375onlyownerkills,
zone288/295 required;don'tTPfarfromcompanion wheneating. DeepMine28156 fromDumass
47681(-794.269,68.8038,9.11288),nativePlayerScriptacceptstartsfollow;escortwalkto
Keyton,within12yd triggersGroupEventHappens. Mainnext28168 fromKeyton/Darthalia
after28144 rewarded,turnin47781(-500.719,90.8021,56.3984). Continueallreachable
branches,logactualblockersratherthanforceQuestComplete. Useraskedtest,notquestfix.
# COMPLETED Oct30: independent Lua-driven TestBots implemented and live tested
User postponed Azuremyst recording and requested independently scriptable real
TestBots: initialization,task cheats,normalplayer actions,automated ingress/results.
Implemented ClientlessTestBotMgr.{h,cpp},worldUpdate+GMcommands,ownLua5.4states/
coroutines/resourceguards,optionalconfig,asyncnativecharacterfactory+testregistry,
actorownership,andatomicJSONjobresults. No Adventureprofiles/rotation/controllers.
Factory polling moved from AdventurePopulationMgr into generic World loop;
executionorder otherwise unchanged. Nativeplayerquest/loot/gossip/item/attack
handlers; normalcasts,MMAPMovePoint(noAdventurecatalog),teleport/level/stats/gear.
Commands clientless test pause/resume/run/submit(base64)/status/result/cancel.
Oneactivejob/multibotLua; mailboxrequests,archivedjobs,interruptedrestartstates.
PythonSOAPadapter tools/testbots/client.py +realHTTPfixturetest. SOAPremains0;
no newnetworkservice/auth/productionchanges. Doc doc/clientless/testbots.md.
ConfigClientless.TestBot.Enabled1,Root
/home/wow_admin/wow_cata_server/server/debug/testbots,TimeoutSeconds300restored.
Defaultsourceconfigdisabled0. Ingestionresumed. Characterregistry/requests/
results liveunderRoot. Examples quest_accept.lua/quest_combat.lua under
src/server/scripts/Custom/clientless/testbots. Account17free2slots remaining;
Testrion148/Testaria149retainedintestregistryandoffline,NOTinAdventuregenerated
bot table. No humans or Adventureactors used inTestjobs. Character/queststates
retained forinspection/reuse; onlytest-ownedactors loggedout onfinish.
LIVEproof: nativefreshFullQuest149 acceptedWarrior28766,killed6realWorgswith
normalPlayerautoattacks,receivednativecredits,completedandclaimedreward. No fake
credits/damage/QuestComplete. Firstfixture28757wasMageonlyandproperlyrejected;
correctedfixture28766passed. Firstcombatcase2kills thenmovingtargettimeout;
Lua-follow variantcompleted, thenfresh149fullsinglejobpassed. Normallevel/stats/
gear/inventory/learn+BattleShout/MMAPmovement passed. Level1NorthrendTPprovedno
Adventurearea/flightpolicy. Reaccept/abandon/classes,pause/resume,timeout,cancel,
Luaerrors/instructionlimit/memoryguard/foreignguid/isolation/syntax/Base64command
allchecked. StalerunningJSONafterstartup->interrupted verifiedfixture. Remote
SOAPauthnotliveverified(listenervalidationfixtureonly),someboundAPIs(loot/useitem/
gossip/GO)notseparategameplaytested; reportexplicitlystateslimits.
Build7 /tmp/vcore-testbot-build7.log PASS-j10,install2PASS.115clientlesstestsPASS,
Pythonadapterfixture rerunPASS,gitdiffcheckclean. AllbuildspreflightCPC0/loader0;
no5minexceptionneededthis task. Currentserver484034 tmuxvcore-worldserver,
console/tmp/vcore-testbot-final-start.log, freshready11sec/process/ports8085+8087
verified. Testactors148149offline,quest28766rewardrowsconfirmedboth. Finalsource
compiled/installed. NormalAdventureloader1 RESTOREDnow,logoutresume/configreload/
populationreload performed; pools50/5/50/5 progressivelyloggingin,known110.
ExpensiveexistingAdventureRouteplanningstillcausesmulti-secondticks;NOTfixedby
TestBotwork. Do NOTmistakeTestprofiles forAdventureorauto-reconcileTeststats.
Validationdoc doc/clientless/testbot-validation-2026-10-30.md; stableJSONevidence
doc/clientless/checkpoints/2026-10-30-testbots/results.json; rawserverfilesunder
Rootresults. No newcommit/push requested; earlierportal/transportWIPpreserved.
Beforefuturebuilds pauseTestBotjobadmission/cancelactiverunsaswellaspausing
Adventureloaderandsafelogoutall; follow5minexception+snapshotifneeded. Resume
jobadmissionafterverification. Lua/sourceeditsdonotneedrestart; APIcppchangesdo.
Userawaitingcompletionreport; implementationdone,nootherworkpendinginthistask.
# CURRENT Oct30: recorder sample-gap repair installed; verify startup
User clarified ONLY Azuremyst failed; Ruttheran saved unchanged. Native logs
17:41:12 show fixed3D8yd gap rejection, not evidence of jumping. Removed fixed
per-sample8yd guard in manual GM Sample; native dock/frame checks, noflight/taxi,
coordinate bounds, total60yd,512points and monotonicboarding remain. No DB route
or node changes. Existing height/source5ydguard unchanged. Regression exercises
12ydnativeboardingheightsnap,20ydcoalescedsampleacceptance,61ydpathrejection and
existingpassenger/crossmap safety. test_transport.py PASS; build-j10/installPASS,
gitdiffcheckclean. Beforebuildloader0/nativepending0sessions0 verified.
Server471677 cleanly stopped before install. Newserver476850 with fresh console
/tmp/vcore-recorder-gap-start.log (stdbuflinebuffered),ready/process/ports
verification PASSED: freshready11sec,liveprocess,8085/8087listening.
Loader stays0foruserrecording;noCPCsessions. Original1 in
/tmp/vcore-elunes-recording-loader.json. No newcommit/push.
User must reconnect and record ONLYAzuremyst from sharednode, spawn9, finishing
at existing elunes_blessing_center. Ruttheran mustnotberecordedagain.
Pendinglinkafterbothstops validated, factionAlliance/areacatalog applies.
Previouscompletedcheckpointsbelowhistorical.
# CURRENT Oct30: five-minute build exception applied; recorder5yd LIVE
User amended rule: after5minutes safe logout may cleanly shutdown server despite
remaining bots, record list/status beforehand, check afterstartup and capital
reset ifnecessary. AGENTS.md updated (local ignored policy file). Do not build
with live server/bots; verify shutdown first. All builds-j10 still.
Recovery list/outcomes doc/clientless/build-recovery-2026-10-30.md and
/tmp/vcore-recorder-5yd-recovery/.8remained after~85min wait; documented shutdown,
build-j10/install/transportregression PASS. Current server471677 tmux
vcore-worldserver,console/tmp/vcore-recorder-5yd-start.log, freshready/process/
ports8085/8087 verified.5yd recorder change installed.
All8loggedin andfeetstatuschecked;6floating reset natively to faction capitals,
Noranda ongoingcombat reset toStormwind too;Lillina validground noreset.
All8safeoffline confirmedDB,temporary8specificprofiles removed(hashverified),
generatedprofiles untouched. Native safeLogoutstatus final pending0/sessions0 confirmed.
LOADER REMAINS0 intentionally whileuserrecords routes, native safe-all/safe
requests stillinforce. Original1 /tmp/vcore-elunes-recording-loader.json.
Afterrecordingfinish resume/logoutmode andrestore originalLoader1,reloadconfig/
populationreload. No newcommit/push requested. PriorportalWIP preservedbelow.
Oldcheckpointrestrictionsagainsttimeoutshutdown below supersededbynewuserrule.
# PENDING Oct30: transport recorder start radius 5 yards
User explicitly requested increasing allowed recorder distance to node to5yd.
Implemented in ClientlessTransportMgr.cpp nodeDistance guard and diagnostic;
doc/clientless/transport-tools.md updated. No unrelated2yd runtime arrival
threshold changed. git diff --check passed. NOT BUILT/INSTALLED; live still2yd.
Loader remains0 from recording-lag pause. Native safe logout latest8pending/
8sessions,2combat/7flight. Build resource policy forbids build until CPC0; no
new recovery exception exists. Do not interrupt user recording/restart without
coordination. Current server459746/tmuxvcore-worldserver unchanged.
When zero safe sessions: build-j10 using existing CMake, then cleanstop/install/
restart only once recording safe; fresh ready/process/8085+8087 verification.
Keep loader paused while user recording; original1 saved in
/tmp/vcore-elunes-recording-loader.json. Portal WIP below preserved.
# ACTIVE Oct30: Elune's Blessing recording, bots paused for severe lag
User recording Ruttheran<->Azuremyst on transport spawn9 entry181646, native
service verified stops530/1, 60sec each. No restart/build in this task.
Existing nodes ship_elunes_blessing_ruttheran (1/8343.44/1161.52/4.51575)
and ship_elunes_blessing_azuremyst (530/-4264.42/-11332/5.49679).
Recorder refused because user used nonexistent ship_elunes_blessing and later
omitted start. Correct .clientless transport record start ship_elunes_blessing_ruttheran 9.
No recorder implementation fault established. Ship spawn verified live.
Massive lag:110bots, latest33sec window21sec actionCPU, expensive routing; memory
swap2.55GB. To free server for recording paused loader0 and requested native safe
logoutall. Original1 saved /tmp/vcore-elunes-recording-loader.json. Do NOTrestore
bots during user's recording or force-remove remaining sessions. Follow safe
logout progress; no broader recovery exception. Server459746 tmux unchanged,
console /tmp/vcore-capital-portal-restart.log. Update final pending status below.
After user finishes recording, resume native safe-all and restore loader original
setting with reload config/population reload. Portal WIP below preserved.
# COMPLETED Oct30: capital portal audit and native click support
Authorized branch feature/clientless-player-core. Earlier changes committed
FIRST as requested:649915e575. New portal code/SQL/tests/docs remain uncommitted;
no further commit or push requested. No push performed.
Read doc/clientless/capital-portal-audit.md for scope/results. Installed native
GOOBER/script-chain support; migration2026_10_30_01 applied idempotently, existing
operator routes preserved. Native17/17 portal clicks proved across capitals,
Dalaran and Shattrath. Three Horde first clicks were premature after staging;
retests passed. Purple return151243 needed scoped template194012 playerCast fix;
passed after SQL-only restart. Shattrath83 passed, only exact obsolete diagnostic
disable lifted. Missing native Exodar->Darnassus/Shattrath->Org spawns not invented.
Vashjir remains forbidden; Maelstrom quest transit disabled.
Once-off user-approved14bot recovery completed, native pending0/sessions0 before
-j10 build. Build/install passed.114/114 clientless tests passed, final portal/
seed tests rerun passed, git diff --check clean. No further recovery exception.
Latest server459746 in tmuxvcore-worldserver. Fresh ready line verified in
/tmp/vcore-capital-portal-restart.log and live process/ports8085/8087 verified.
Loader original1 RESTORED; safe-all mode resumed, config/population reloaded.
All four pools correct50/5/50/5, known110, error empty. Bots logging in gradually;
last snapshot12 generated online (3perpool), manager12. No need to wait for all
110 to finish asynchronous loading. Testactors35/36 original positions restored
and native safe logout confirmed; exact temporary profiles and19game_tele
fixtures REMOVED. Both subsequently loaded original generated profiles in logs.
Probe evidence /tmp/vcore-capital-portals-state/probe-*.json; original testprofile
manifest retained for evidence only, do not recreate or remove other profiles.
Individual native portal transfers verified, full long-distance AdventureBot
route/gameplay acceptance remains with user. Expensive existing flight planning
can still produce multi-second world ticks; no performance changes in this task.
All future builds still require loaderpause/native safe logout zero, use-j10.
# COMPLETED Oct30: safe builds, city inheritance, native POI map/height fix
Authorized branch feature/clientless-player-core, expected uncommitted work
includes previous travel fixes and this task. No push or commit requested.
User ALLOWS restart/install again. Permanent new rule in AGENTS.md: before EVERY
build pause loader, request safe logout, let native combat/transport/flight finish,
verify zero CPC sessions; builds ALWAYS -j10. New admin command:
`clientless logout safe all` (or individual guid), `clientless logout status`,
`clientless logout resume`. Native world-thread safety predicate, no timeout force.
Pause loader first; resume clears collection, restore loader setting after work.
Both new -j10 builds PASSED with all bots OFFLINE and no OOM. Final installed
binary includes POI raised-platform height fallback. Full113 tests passed, final
POI height regression also passed. git diff --check clean. Build logs
/tmp/vcore-city-safe-logout-build.log and /tmp/vcore-city-height-build.log.
Final server446178 in tmuxvcore-worldserver; console /tmp/vcore-city-height-start.log.
Fresh ready10sec, ports8085/8087 verified. Final startup proof saved separately
/tmp/vcore-city-fix-state/fresh-startup-evidence.txt because reloadconfig truncates
Server.log. No pending build/install/restart. Prior prebuilt transport fixes were
installed first to release old stranded ship passengers;92/118 Arrived passenger0
at11:54:06. Bootstrap orphan combat flags36/77 were separately cleared with native
combatstop after stationary old-state diagnosis; NOT part of future auto logout.
Pibwin88 lvl18 root cause: guardPOI140 DalaranKrasusLanding was guessed on map1
Darkshore based on closestXY across continents. New AdventurePoiPolicy.h uses
recursive native gossip menus -> spawned NPC map bindings; cycles/ambiguity
closed. Height from native NPC neighborhood, +35 retry only if first floor hit
far>25yd below/reference (floating Dalaran); retain close normal floor. Scoped
repair protects source/name/position/geography and manual edits. Original POI
source table and recorded routes untouched. Native repairimport final437POIs,
166invalid skipped,2916active locations. poi_guard140 now map571 X5831 Y508.617
Z657.7 area4564 zone4395 Dalaran. Live eligibility88 adventure140:own0 invitation0.
Pibwin's preserved12:00Adventure block repaired to poi_tele651(Bloodmyst low-level
Alliance starting region, map530 NOT Outland). No manual test schedule override.
City-parent migration2026_10_30_00_adventure_city_parents.sql APPLIED; exporter
updated likewise. Dalaran4395->CrystalSong2817,Shattrath3703->Terokkar3519 +eight
racial capitals->home regions. Catalog only; operator nonzero parents preserved,
no native DBC/player hierarchy changes. Effective native query at taxi310:
minLevel77/max85/preferFlight1,Arthoran60 denied. GroupPlan validates actualnextgoal
before advertising; CanInvite validates leader +member. Existing .cheat explore1
fixed selected-player target, explore0 clears fields. Tell user: clear selection
then `.cheat explore 1` to reveal own map. Native command fixture passed; no human
exploration fields were altered by us.
Live safe-batch test26+88 passed: pending2/sessions2/flight1 first; native taxi2221
completed for26 BEFORE CLIENTLESS_SAFE_LOGOUT26, then88 motion complete+logout.
Final native pending0 sessions0. Called logoutresume, restored original config
Loader.Enabled1, reloadconfig/populationreload. Targets UNCHANGED50persistent+
5temporary PERFACTION. Loader schema1,busy0,error empty, gradually loading110;
FINAL native population status: ALL110 ONLINE, pools50/5/50/5, pending0 in
every pool, manager110, schema1,busy0,error empty. No new safe-logouts after
resume. Bot operation fully restored, final process446178 alive,branch correct.
Snapshots /tmp/vcore-city-fix-state/: nodes/edges/stops before vsafter EXACTMATCH;
all17 prior manual semantic records unchanged.236 imported rows repaired/disabled,
12 semantic rows added. No production/remote auth changes. Detailed German report
in doc/clientless/2026-10-30-city-catalog-build-policy.md. Earlier historical WIP
and checkpoints below are superseded. Need only final current pool/process/port
check and concise German final response now. Do NOT restart or build again.
# UPDATE current: final POI height correction built, install/restart pending
Builds /tmp/vcore-city-safe-logout-build.log and /tmp/vcore-city-height-build.log
bothPASSED -j10 withallbotsOFFLINE. Full113/113testsPASS; finalnewPoiHeightfixture
passes. NewcitymigrationAPPLIEDandbackupunder/tmp/vcore-city-fix-state/.
InstallednewbatchSafeLogoutcode(firstcurrenttaskbuild),server445223ready11sec,
ports8085/8087,console/tmp/vcore-city-safe-logout-start.log. Ranrepairimport:
421nativePOIs,182skipped,2913active. poi_guard140map571BUTfirstheight184wasunder
floatingcity. AddedAdventurePoiPolicy::Height referenceNPC+3 thenretry+35ONLYif
firstfloorfar>25ydfromNPC,choosecloserfloor (keepsnormalnearbyfloor). Addedscoped
firstNative height correctioncandidate torepaircurrentintermediaterecord; doNOT
manuallypatchcoordinates. Nativeanchor651,nearestservice639,realplatform658.
FinalheightbuildPASSED;server445223shutdown10requestednow. Waitexit,cmakeinstall,
startnewfreshconsolethenready/process/ports. LoaderSTILL0andallCPC0confirmedvia
native`clientless logout safe all` +`logout status`pending0sessions0. NativeAllflag
setoncurrentprocess,willresetafterrestart. NormalhumanTestonlineearliernotCPC.
Nextrequired: finalrestart->repairimportagain->reloadcatalogs->verifypoi140actual
platform/cityandlevel88denied;checkmanualroutes/semanticmanualRows snapshots;
loginPibwin88+Arthoran26 withloader0;eligibility88adventurepoi_guard140mustown0,
planrepaired;nativebatchsafelogout2bots->pending0sessions0;logoutresume;restore
loaderconfigpreviousvalue1 from/tmp/vcore-build-drain-loader-setting.json then
reloadconfig/populationreload;verifynormalgradual110population. Preservefreshready
beforeconfigreloadtruncatesServer.log. Updatedocs/checkpointfinalreply.No commitasked.
# ACTIVE NEW TASK Oct30: city/POI eligibility, safe pre-build logout, map reveal
User now ALLOWS INSTALL/RESTART. New permanent rule: before EVERY build pause
loader, finish combat/flights/transports safely, log out ALL CPC bots, verify0
native sessions. Always j10. Rule appended AGENTS.md. Previous fixes' prebuilt
binary installed after clean shutdown of417346; fresh437976 started ready12sec,
ports8085/8087. Console /tmp/vcore-prebuilt-travel-start.log, native ready in
freshServer.log. Loader currentlyDISABLED (config Enabled0), previous value saved
/tmp/vcore-build-drain-loader-setting.json (value1). Restore only after final
install/restart/native verification. Original110botlist /tmp/vcore-build-drain-bots.json.
19remainingresumedmanuallyafterprebuiltinstall so oldships canfinallyexit;92/118
ARRIVED passenger0 at11:54:06. Most thenstopped/logout; currentremaining36/77
were ground/healthy/stationary butUnsafe stuck. Nativecombatstop requested to
clear suspectedorphancombatstate, inspectresultsbeforelogout/build. Never
force transportdetach or airborne logout. PlayerTest/Allitesterarehumans, leavealone.
RootPibwin88level18: poi_guard_140 namedDalaranKrasusLanding wronglyIMPORTEDon
map1Darkshore XY5831,508Z3.55 area2078zone148! ThusactualAreaCatalogchecks saw
lowlevelzone, notDalaran. Realnativegossipbinding140uniquemap571,39guardanchors.
NewAdventurePoiPolicy.h resolvesrecursivegossipMenu->POI via spawnedNPCmaps,
rejectsambiguous/unbound, choosesnativeheight. AdventureLocationMgr.cpp importer
usesit; repairimport matchesoldgeneratedposition+metadata, preservesmanualedits,
updatesmap/Z/geography anddisablesunchangedunboundlegacyPOIs. Mustrunrepairimport
onTEST afternewbuildinstalled. DoNOTchangeoriginalpoints_of_interest oruserRoutes.
Newworldmigration2026_10_30_00_adventure_city_parents.sql +export_area_catalog.py
curatededitablecatalogcityparents10capitals:4395->2817(DalaranCrystalSong),
3703->3519(ShattrathTerokkar),othershomezones. Parent0only/samemap, preserveoperator
parentassignments. ExistingResolve inheritsmin andflight;testsenhanced. SQLnotyet
applied. GroupPlan disablesrecruitmentforinvalidactualgoal;CanInvitechecksboth
leader/membernativeArea position. Existing.cheat explore1commandbugfix selected
playerfields(andexplore0clearing), no newlyinventedcommandneeded.
NewadminbatchsafeLogout namespaceinCustom/viano_bot_commands.cpp:
clientless logout safe all|<guid>, logout status, logout resume.
WorldScriptUpdate requestsBehavior stoponce, waitsnativealive/inworld/noncombat/
nontransport/nontaxi/nonflying/nonfalling/nonteleport/noncast/nonspline then
StopPlayer atomicallyonworldthread. No timeoutforce. PauseLoaderbeforecommand.
All modecontinuescatchingnewCPCsessions untilresume/restart;futurebuildworkflow
mustusenativepending0+sessions0. Bootstrapcurrentprebuiltlackscommand,uses
Behaviorstop+statusEnabled0thenlogout;twooldshipsfixedviaprebuiltdeployment.
Tests113expected(109previous+POI+safeLogout+cheatExplore+cityCatalog), fullrunbefore
lastfixturefixhad2mockerrors(instance_autoresume/instance_loader missingnewSafe
Update double), nowbothfixedandtargetedpass. NewPOI/area/city/explore/safeallpass,
groupPlan/departure/groupspass. Fullrerunandbuild-j10stillREQUIRED. No newbuildyet
sincebotsneedfinishlogout. SourcechangesuncommittedincludeprevioustaskexpectedWIP.
Next:confirm0CPCbots ->buildj10(noOOMnowbotsout),full113tests;resolvecompilation;
applycitymigration;cleanstop/install/restartloader0;nativeReady/process/ports;
runrepairimport,snapshotmanualroutesnotchanged/Pibwinpoi140now571actualDalaran;
verifyPibwin18deniedandplanrepaired;testnativebatchsafelogoutwith2bots;logoutresume,
restoreloader1reloadconfig/populationreload,verifybotsgraduallynormal. Updatedocs,
reportcommand.cheat explore1plusvalidation. No push/commitasked.
# CURRENT Oct30: travel fixes implemented, DEPLOYMENT HELD BY USER
User is recording routes: NO INSTALL and NO RESTART until expressly released.
Source-only task implemented. Worktree includes expected source/test/doc changes;
no commit/push, DB writes or live route edits in this task. Authorized branch
feature/clientless-player-core. Keep all builds -j10.
Implemented guildless native group restoration; conservative native portal actor
prerequisites BEFORE geographic permission cache and before real portal use;
recorded deck-stand fallback for ships without optional deck meshes; interrupted
passenger transitions retain ride/3-second retry delay; lost-passenger detection
in Boarding/Leaving; exit reserve accounts for update cadence. Flight walks from
indoor/layered starts to verified open MMAP-reachable departure (200yd search,
600yd ground cap), landing alternatives180yd/600yd native MMAP approach, no fixed
5yd height rejection. Native permission/collision/area/raid admission preserved.
Temporary scoped TEMP_TRAVEL instrumentation is header-only, bounded40/bot/min,
20sec progress, deduplicated, includes REMOVE BEFORE DEVELOPMENT COMPLETION.
Details: doc/clientless/2026-10-30-travel-fixes.md.
109/109 clientless test programs passed. Added production-method harnesses for
guildless restore, portal prerequisites, landing alternatives and telemetry;
expanded deck/transition/indoor-departure tests. Final NaN-foot-support regression
passed separately after full suite. git diff --check clean.
Final build PASSED (exit0), existing Debug/Ninja configuration with -j10.
Attempts1–3 had compiler OOM kills; attempt4 and final incremental build passed.
Final exact source guard included: /tmp/vcore-travel-fixes-build-final.log,
4/4 linking worldserver. No CMake config changes. Tests109/109 plus final targeted
flight departure/NaN-foot-support regression passed. Raw earlier build logs
/tmp/vcore-travel-fixes-build{,-2,-3,-4}.log; test results
/tmp/vcore-travel-fixes-tests/results.json. DO NOT INSTALL / RESTART.
Server remains SAME installed binary/process417346 in tmuxvcore-worldserver,
ports8085/8087 checked. No lifecycle action this task. User performs route recording.
Live behavior and end-to-end instance journeys remain unverified until later
authorized deployment/observation. Prior runtime crash root remains unproven.
The entries below are historical checkpoints, not current task instructions.
# Latest: testserver recovered after10:36 Oct30 runtime crash
User asked whether testserver offline. Verified no worldserver/ports; kernel
journal records SIGSEGV of389322 at2026-10-30 10:36:35 inlibstdc++. No kernelOOM
observed for this incident; exact cause not investigated. This happened AFTER
02:20–04:00 observationwindow, not during thattest. Old console tail preserved
/tmp/vcore-flight-regions-group-test-start-20261030.log. No source/build/install.
Restarted SAME installedbinary in freshdedicatedtmuxvcore-worldserver, PID417346.
Freshready11s,processalive,ports8085/8087listening. New console
/tmp/vcore-recovery-20261030-1036.log. Deferredfix/discussioninstructions below
remainunchanged; no nextfix implementation started. Preserveanycoredump forlater
analysis before subsequent crash overwrites it.
# Latest user request: record next-fix scope; discussion only, no implementation yet
User explicitly adds ship boarding/disembarking gaps to the NEXT fix. More
importantly, investigate end-to-end destination reachability of flying instance/
raid bots and groups, not whether they know flight. Existing transitions should
connect Kalimdor/EasternKingdoms/Outland/Northrend for flyers; missing low-level
non-flying Horde Kalimdor↔EK links remain a known exception. Roofs or failure of
one landing candidate must lead to a reachable ground exit/free takeoff area or
alternative safe landing+validated final ground approach, not abandonment or a
replanning loop. Preserve safety/native access checks.
TEMPORARY TELEMETRY expressly authorized for NEXT fix: track flying bots' whole
instance journeys, leaders/followers, routes/map transitions/modes, exact flight
state rejection, takeoff/landing candidates and ground approaches, progress,
fallbacks and entry-vs-admission. Instrumentation MUST carry a clear code comment
that it is TEMPORARY and must be REMOVED BEFORE DEVELOPMENT COMPLETION. Targeted,
bounded/deduplicated logging; no per-tick spam. Not implemented in this turn.
Detailed scope recorded in doc/clientless/group-observation-followups.md.
Previously deferred items1(guildless group restore) and4(portal prerequisites)
remain recorded. Item5(native instance admission restriction) is accepted as
correct, not something to bypass. No source/server changes during discussion.
Existing uncommitted resume/followup-doc changes belong to this discussion.
# Latest user steering: discussion first; defer fixes1+4, accept restriction5
User asks to note reportpoints1(guildlessgrouprestore) and4(portalprerequisites)
for laterfix, not implement now. Reportpoint5(raid admissiondenial) is initially
CORRECT intended instance restriction; do not bypass/remove it. Recorded in
`doc/clientless/group-observation-followups.md`. Current turn is investigation/
explanation of shipstandfallback, fallenpassengerrescue, and flightgroupfailures.
No source/server changes requested atthisstage.
Codeconfirmed:DeckMgrGet supports onlyBravery176310 andtram176080–86. Kraken190536
returnsnull andUpdate returns true BEFORE ReturnToRecordedStand. Thus its stopped
standteleportfallback neverruns, recordedexit startsfrommid-ramp andfails>8yd.
Tholgarremainedpassenger1/transguid17,notactuallydetached. RecoverPassenger entry
is inRiding whenGetTransport becomesnull; no universal Boarding/Leaving lossguard.
ResumePassenger re-adoptsFailedattachedride andresetsprogress, causingretryloop.
Flightrequiredskillsarepresent; failurepoints include map transitions, indoor
starts, rejecteddepartureheights, safe landing/shortapproach. TKsuccess concrete
NAVFLIGHT_LANDED guid74/53 27segments736.81yd error0 andnativeinstanceentries.
Do notpresent allfailedflightstarts asprovenindoors; generalguardmessageambiguous.
# COMPLETED Oct30 04:00CET: flightregions committed + group observation
Observation endedautomatically04:00:00.126CET; monitorPID387861/execcell67325 exited0.
ConfigRotationPercent restored15,LoaderEnabled1,targets50/5/50/5. Server389322
remainsrunning ports8085/8087. Codecommits373818628d(regions+previousfeatures),
77648c6b53(earlyfallbackrepinfix) installed. No pendingbuild/restart orpush.
Fullreportdoc/clientless/2026-10-30-group-observation.md;safecheckpointdirectory
2026-10-30-group-observation. Needreport/doccommit anduserfinalreply now.
92participants76instance16raid,18under15excluded,110online,max26groups,final17.
156capitalchatmessages,220invites,3full5-playergroupsbeforeplannedfixrestart.
Sixactualentriesandsixreturns(normalmodesonly),injuries1–46pct. FourRaidvisitors
550(twoinstances),twoStockade34(twoinstances). MightyWind4north+3returntrips;
Kraken3northsuccessful BUT92/118interruptedexitloop12620duplicategaperrors.
No unplannedruntimecrash;RSSmax7.521GiB. Gameplaynotfullypassed:6/92entries,
largepathrecoverycounts,NativeGuildlessGroupRestorebug remainsunfixed,52botuses
level58portal,sologroupless754raid denied. Nonfatalshortspline21warnings,one126
deathwithcemeteryfallback. Userinformedofmainfindingsduringwatch.
FinalJSON/tmp/vcore-group-observation-20261030/final.json +summary.json. NAV logs
ROTATED: mustinclude.2026-10-30_02-32-32 and.2026-10-30_03-50-52 plusactivefile,
filter02:20:56–04:00. Server.log wasTRUNCATED byreloadconfig at04:00(appenderw),
notcrash. Console/tmp/vcore-flight-regions-group-test-start-20261030.log preserved
all;limittofinal.log_offsets[console] forwindow,returnAt1793328900/deadline1793329200
identifytestentries/returns. Collector/tmp/vcore-final-group-report.py handlesit.
Nevercopy/tmp/vcore-group-test-20261030/worldserver.conf.before (credentials).
# Watch update03:38CET — no finish before04:00CET
ObserverPID387861/session67325 unchanged,finalserver389322active110online,
RSS~7.4GiB. Five confirmedinstanceentries sofar:110Elaansa20Stockade34instance1;
56Hilddis29Stockade34instance3;64/74/53 sameTheEye550instance2(raidgroup). Allmode0
native(normal); no heroic entryproofyet. ReturnAt03:55, observeexit+injury/rest.
Transport NAV log extract/tmp/vcore-group-observation-20261030/transport-events.json
created03:28:57 boarding/75riding/214leaving/28arrived/174failed(rawretries).
Arrived includesMightyWind42Zulana69Org->Warsong03:19:11,132Braneron81Warsong
03:23:50,91Rixzek68Warsong03:28:32;42returnedOrg03:26:48 whenleadergoalschanged.
Kraken104Lillini75 ARRIVEDValiance03:22:06, so routeworksforsome;92Tholgarstill
interruptedexitloop. OthertripsBravery/Tiefenbahn succeeded. NativeTransportState
isNAVIGATION logger, canonicalobserverServer.log counters missit; extractbytime
02:20:56–04:00 directly atfinal. File95MB, streamingfast. 174failedincludes144
unsafe-gap retriesmostly92,13safeDockcancel(expected),11departedlandtransition,
6timeouts—not174separate brokenrides! Computeuniqueactors andclassify.
Regionaltrainingaudit11savedbots inrequiredregions allriding225,license1,cold1,
3profilemounts; no unqualifiedregionalbotobserved. ThreeCataplayer85aroundHyjal/
Uldum/Deepholm and5inNorthrend etc. Preserveproof ifneeded.
NewnativeENTRY_DENIED121Braneven85entry6672 map754SkywallRaid(ThroneFourWinds),
no group atdenial; earlierINTERACTION_GROUP_LEAVE121 reasonleader-afk. Thus solo
raid needsnativegroup despitevalidlevel; remainingpolicygap—notflightfailure.
Severalbotgroupsdisbandedforleader-afk(legitimateconfiguredrulebutmayreflect
stalledleadernavigation). One death126released+cemeteryfallbackrevive, no chain.
Nonfatalshortsplinewarnings~15(mixedNPC/Player). Stillno unplannedservercrash.
No furthercode changes/restart duringtest. Twofeaturecommits373818628d,77648c6b53.
After04verifyautomaticrotation15restore,writefinalreport+safeartifact, doccommit.
# Observation milestones approx03:20CET — remain active to04:00CET
BackgroundmonitorstillPID387861/session67325;server389322healthy110online.
03:00allnormalgather deadlines expired,allhandoffs cleaned. First confirmed
INSTANCE_ENTERED110Elaansa20 intoStockade34instance1, returnAt03:55. Itsoriginal
nextdaygoalStockade preserved despiteearlyleadergoalDeadmines, good slotproof.
Only1confirmedentrycurrently;manypathsfallingback. No newEARLYloop afterfix,
cumulative1693 allpre-fixretries. RuntimeRole/PvP logic untouched.
Actual ZEPP NORTH SUCCESS:42Zulana Horde69 usesMightyWindspawn12 fromOrg toWarsong:
boarding03:16:41,riding03:16:59,leaving03:18:21,ARRIVED03:19:11passenger0native
TRANSPORT_STATE in adventurebot-navigation.log. Newroute genuinelypassed once.
Native transportevents are in NAVIGATION log, notServer.log, so currentmonitor
counterkeys show0! Forfinalreport extractnavigationevents by timestamp window
02:20:56–04:00 directly;don'tinferzero transportactivityfromcanonicalcounter.
Kraken BUG:92TholgarAlliance79 boardedSW03:05:48, beganValianceexit03:08:32,
vehicledeparted03:09:36mid-exit. Re-adoption03:10+ repeatedlytriesfinalstandfrom
mid-recorded-ramp andfails unsafe gap>8yd. Recordings ARE continuous:SWmax4.043yd,
Valiancemax3.013yd. Savedlocalpoint(6.26951,11.5472,5.66344) ismid-Valiancepath,
~9ydfromstand. No recordingschanged/no fixdeploy;observefuture. FindingsJSON
/tmp/vcore-group-observation-20261030/findings.json storesproof/times.
Currentwarnings~10shortspline rejections, mixNPCandPlayer,nonfatal. Somereal
travelobserved:56Hilddis nativeTaxiIF6->43AeriePeak;61Mirariel taxi22->42 etc.
OnlyNativeGuildlessGroupLoadbug remainsidentifiednotfixed;groupsreformedafter
ourplannedrestart. No additionalrestart! Continueuntil04andreport withallcaveats.
# Additional read-only findings during running watch (approx02:48CET)
KEEP MONITOR UNTIL04:00CET. ExistingwatchscriptPID387861/session67325 active.
New server389322 healthy, no repeatedEARLYevents afterfix; cumulative1693 all
pre-fix loops. Full69test baseline,3regressiontests forfix pass, bothcodecommits.
IMPORTANT correction: DB groupdefinitions25/70memberrows were loaded onrestart,
but native Group::LoadMemberFromDB deletes guildless members because it requires
GetPlayerGuildIdByGUID success. CharacterCache.cpp:223 returnsfalse forGuildId0.
Thus groups rebuilt afterrestart; do NOT claim existing memberships survived.
Read-onlysource root located, NOT fixed (no additional testrestart). Native code
preexisting affects guildless humans too. Savedfinding/tmp/vcore-group-observation-
20261030/findings.json. Add tofinalreport asremainingissue. Currentgroups growing
again19+,110botsonline. Initialfull3groups'15snapshots persist; some bots nowSolo
becausemembershiplost, keepcopiedactivity asintended.
Safe-native-state details for56Hilddis and61Mirariel are actual ongoing TAXI
routes, not proven freezes:DB56map0Arathi taxi6->43;61map1Mulgore taxi22->42;
57taxi22->58,63/67taxi22->42,87taxi22->58. Observercapturespositionssaveall5min.
Currentwarnings3:oneNPC Entry5840 +PlayerGUID68/94 short-spline reject, nonfatal.
Do not broaden fixes during watch; assesshour03:00switch andactualentries, then
04:00autoRotationrestore +report. SourceRole/PvP/etc unchanged.
# ACTIVE MONITOR AFTER FIX DEPLOYED — wait until04:00CET=03:00UTC Oct30
Featurecommit373818628d and regressionfix77648c6b53 both committed, no push.
Fix fullbuild-j10+three targeted production tests passed. Installed after graceful
shutdown387859, new389322 ready fresh andports8085/8087. Nativegroups25, all15
handoffs/15visits preserved. NewServer.log afterrestart has no repeated early
handoff events; cumulative monitorEARLY1693 was the PRE-FIX retryloop, not1693
realdepartures. Original15armedbots correspondthreefull5-playergroups.
Still MUST continue observation until04:00CET thenreport. Current02:39CET approx.
Backgroundmonitor PID387861 execsession67325 /tmp/vcore-observe-groups.py remains
active and deadline-aware; log/tmp/vcore-group-observation-console.log;
state/tmp/vcore-group-observation-20261030/state.json; final.json at04:00 and
RotationPercent15 auto-restored then. Originalconfbackup containssecrets;nevercopy.
Console remains SAME appended/tmp/vcore-flight-regions-group-test-start-20261030.log.
Monitor handlesnewServer.log truncation. Maintenance restart documented in
/tmp/vcore-group-observation-20261030/maintenance-events.json; emptyPID samples
02:37:19/39 were PLANNED maintenance, initial02:20:56 emptyPID was spawnrace.
No unplannedcrash sofar. FirstphaseoneNPC splinewarning Entry5840, notPlayerbot.
Test110bots total:92participants (Alliance41instance/6raid,Horde35instance/10raid),
18under15excluded. Current02–03formationcity,03–04plannedmixedvalidtargets.
All110onlinebeforerestart;stagedloaderreturningthemnow. Never resettestagain.
Observe group/route/entryprogress, snapshoterrors, inspect anomaliesread-only.
After04:00 monitorwritesfinal;checkrotationrestored,writeconciseGermanreportand
safeevidence, updatecheckpoint+optionalreportcommit. Do notclaim gameplay tested
fromcompilealone. FullZeppelinride notyetobserved. No pendingbuild/install.
# CURRENT FINDING / FIX IN BUILD: early snapshot repins travel fallbacks
During observation initial full groups began early correctly, but when route
planning failed, UpdateDeparture kept overwriting normal fallback destination
with original copied goal every tick. Repeated GROUP_EARLY_DEPART/INSTANCE_PLAN
were retries, NOT additional successful departures. Preserved state
/tmp/vcore-group-observation-20261030/before-fallback-fix.json. Server never crashed.
User informed and targeted fix+brief planned restart announced, preserving test
plans/groups. Changed ONLY BehaviorMgr.cpp +departure regression: applycopy only
while actual intent still formation/empty; GroupPlan and AdoptGroup use effective
Wanted fallback after application; leaving group keeps fallback within copied
intent. No new schema/header. Real production regression for repeatedmaintenance,
leaderfallback inheritance andkick added; departure+groupplan tests pass, intent
state targetedtest included in build command. Build-j10 running execsession82369,
log/tmp/vcore-group-fallback-build.log. Need wait buildfinish, commit fix, graceful
shutdown387859 andinstall/restart finalfix, no testDBreset. Monitor continues until
04:00CET/03:00UTC, script67325/PID387861; note plannedrestartgap separate fromcrash.
Currentconsole/tmp/vcore-flight-regions-group-test-start-20261030.log; afterrestart
use new uniqueconsole filename and adjust monitor console tracking if needed.
Server.log/navigation/DBErrors monitoring survives truncation automatically.
RotationPercent0 stillmustrestore15 at04:00. Otherobservation instructions below.
# RUNNING OBSERVATION: do not finish before04:00CET Oct30 (03:00UTC)
Commit373818628d contains all requested feature changes. Latest flight-region
binary installed, final server387859 in tmuxvcore-worldserver, freshready10s,
ports8085/8087 good. Console/tmp/vcore-flight-regions-group-test-start-20261030.log.
Do NOT restart/alter gameplay during observation unless critical recovery needed.
Group test applied successfully to92 of110bots:76instance,16raid next block;
18below15 excluded entirely. All targets validated with native eligibility after
logging in candidates as needed. Manifest/tmp/vcore-group-test-20261030/state.json
phaseapplied. Current02:00–03:00groupformation atpoi_guard_22(SW)/poi_guard_179(Org),
next03:00–04:00mixed valid native modes. Offlinecapitalrelocation plus stalevisit,
ghost,corpse,handoff cleanup applied; other22day slots preserved. Loader restored
Enabled1; RotationPercent deliberately0 through observation (original15).
MONITOR ACTIVE: Python/tmp/vcore-observe-groups.py, execsession67325. Writes every
20s to/tmp/vcore-group-observation-20261030/state.json and minute progress to
/tmp/vcore-group-observation-console.log. Deadline04:00Europe/Berlin=03:00UTC.
At deadline it automatically restores onlyRotationPercent to original15, reloads
config/population, writes final.json and exits. First processmissing alert was
initial spawn race before server started, NOT a mid-test crash. Script snapshot
loops capture server PID/RSS/CPU, native event counters, errors, groups/membership,
visits and handoffs every120s; saveall every300s for positions. Raw backups include
worldserver.conf.before containingcredentials, NEVER print/copy it into repo.
Next: check monitor state/logs periodically, investigate anomalies read-only,
recover testserver only if genuinely down. Keep turn active until04:00then
self-contained report withcounts,commit373818628d, findings andunverifiedparts.
Copy safe evidence +write report/checkpoint thenlocaldoccommit if useful; no push.
Current feature git tree was clean aftercommit; thisresumeupdate isintentional.
All builds must remain-j10. No pending build/install/test prep operations.
# ACTIVE USER REQUEST: commit flight-region extension, repeat groups, observe until04:00CET
Current dateOct30; user requires flight not only Northrend but also Outland and
Cataclysm regions. Implemented AreaMgr guard for catalog prefer_flight regions;
keeps map530 racial low-level zones separate. Cold68+ onlyNorthrend; otherflight
regions require60+, actual native flight,90267 outside530/571. Build-j10 and69
suite tests passed, logs copied to checkpoints/2026-10-30-flight-regions. Commit
all pending requested work before starting group test, no push. Still need deploy
this final small AreaMgr change (previous broader feature already installed).
Then repeat group test: current local hour(groupformation) atAllianceStormwind/
HordeOrgrimmar, next hour mixed valid normal/heroic dungeons/raids. Exclude bots
below15 as user previously requested. IncludeArthoran26 plus110readygenerated.
Preparation script/tmp/vcore-repeat-group-test.py prepare running (log
/tmp/vcore-group-test-prepare.log). It builds native map/mode bands, uses exact
server eligibility, logs in offline candidates as needed, falls back from raids
without valid entrances to suitable dungeons. Output/tmp/vcore-group-test-20261030/
state.json. NO test DB/config edits yet; prepare onlynativechecks/logins.
Next steps: ensure prepare completes; run script pause (pauses loader, rotation0,
requests participant logout); shutdown current385679 via dedicated session; wait
full exit (oldknown shutdownSIGSEGVpossible); script apply edits onlytwo current
andnextday slots, teleports offlineparticipants factioncapitals, clearsvisit/ghost/
oldhandoff state, restores loader enabled1 but rotation remains0 during test.
Install compiled finalregionalbinary, startfreshdedicatedtmux, verifyreadyports.
RotationPercent previous15 saved in /tmp/vcore-group-test-20261030/worldserver.conf.before
(contains secrets! Never print/copy into repo). Restore onlyRotationPercent at04:00.
Observe bots+logs+server until **2026-10-30 04:00 Europe/Berlin =03:00UTC**, report
then. Clock atinitialrequest01:06UTC(local02:06). Must actually monitor, not final
prematurely. Currentserver385679/sessionvcore-worldserver console
/tmp/vcore-northrend-flight-final-start-20261030.log. Olduser `vcore` session is
shell only; leave it. No secondworldserver. User insists all builds -j10; own build
processes inherit oom_score_adj1000 to prefer build termination over server if
memory exhausted. No running build now. Currentmanifest prepare needsfollow-up.
# Latest: mandatory flight build INSTALLED, final server READY
User says no ground-only bots in Northrend. New source+previous pending instance
modes/group-handoff WIP installed; worldSQL08 applied. Final helper uses existing
native FlightMgr::Enabled, not a direct mounted-speed aura assumption (initial
live mistake fixed). All builds -j10,69 tests passed with updated fixtures and
production native-flight harness. Final dedicated tmuxvcore-worldserver PID385679,
ready12s,8085+8087 listening. Console
/tmp/vcore-northrend-flight-final-start-20261030.log. Build/install/tests saved
under checkpoints/2026-10-30-northrend-flight. No commit/push requested.
Old manually started371982 sessionvcore retained as user's shell after known
shutdownSIGSEGV. Intermediate383849 stopped before final install. Do not start a
second server. Recording hold released by user earlier. Zeppelin1826 and all
recordings unchanged. Final native area probes PASS:26 Arthoran60 ship_valiance_kraken allowed0;
55Zanzul82 zeppelin_warsong allowed1. DB after saveall:26riding225,license1,
cold0,flightmounts1;55riding225,license1,cold1,flightmounts3. No final
mandatory flight/BOT_MANAGER_CHECK errors observed.35/36not used (offline).
# Active: mandatory Northrend flight; final correction built, deploy/verify next
User forbids ground-only bots anywhere in Northrend; all60+ autonomous bots must
have basic flight,68+ cold weather. Implemented profile defaults (legacy too),
legacy manager maintenance without inventory cleaning, actual native provisioning,
map571 admission guard requiring68+54197+FlightMgr::Enabled. No DungeonBot changes.
See northrend-flight-requirement.md. Added production harness with native
FlightType/Enabled and69 tests (two fixture fixes passed separately).
User finished recording. Explicitly announced install/restart and deployed prior
ready instance-mode/handoff WIP together with flight policy; applied worldSQL08.
Old manual sessionvcore371982 stopped, encountered known shutdown SIGSEGV (console
preserved in vcore); installed, started dedicated vcore-worldserver PID383849,
ready12s +8085/8087 verified. Live Arthoran26 revealed helper's direct-speed-aura
mount validation was wrong for native Cataclysm mount data. Fixed ProvisionFlight
to reuse ClientlessFlightMgr::Enabled. Final rebuild -j10 log
/tmp/vcore-northrend-flight-final-build.log currently linking; wait/check before
redeploy. Do NOT claim final correction live until installed. Old373849 remains
running (actual PID383849), installation must wait for its full shutdown.
Earlier first build log /tmp/vcore-northrend-flight-build.log; install log
/tmp/vcore-northrend-flight-install.log; first-start console
/tmp/vcore-northrend-flight-start-20261030.log. SQL08 already applied, do not lose
user's new Zeppelin edge1826/recordings. No push/commit requested. All builds -j10.
# Latest: recorded Orgrimmar–Warsong Zeppelin activated live, no restart
User finished recording routes and asked to validate/activate new Horde Northrend
zeppelin. Existing manual server371982 runs in tmux session `vcore` (NOT
`vcore-worldserver`). No restart/install performed. Previous source feature build
is successful but still undeployed; migration08 remains unapplied.
Validated native service12 entry186238 The Mighty Wind, period298828ms, two docks
and two map legs. Both recorded stops load natively: zeppelin_org_northrend(map1,
5points,9.45yd) and zeppelin_warsong(map571,10points,16.70yd), same stand
mighty_wind_center; deck endpoints within3yd. Core link command successfully
created enabled bidirectional edge1826, zeppelin,cost100. Added explicit Horde-only
allowed_factions2 to both nodes; adventure catalogs+graph reloaded live.
Original recordings unchanged. Source connected via ground edge1819 to
orgrimmar_zeppelintower1. Destination has no recorded onward ground edge yet;
nearest taxi257 is on another storey, so do not invent an untested straight edge.
Native timetable pauses60s at each dock. Native node permission probes with
36Edwin85 allowed both,35Karggan85 denied both (nodeMask2). No forced bot
relocation, no claimed live passenger ride acceptance.
# Latest user instruction: retain -j10 for builds
User explicitly requires builds with -j10, including after crashes. Do not replace
this with -j1/-j2 as a standing policy. This supersedes the temporary lower-job
recommendations below. Final implementation build already succeeded Oct30
01:45:11; latest BehaviorMgr object is newer than source. All67 Adventure tests
passed; latest intent-state, departure and native-DBC variant tests rechecked.
No migration applied, no install/restart, no commit/push. Existing server371982
remains running with unchanged installed binary. Deployment hold still applies.
# Latest: instance modes / full-group early departure — deployment HOLD
User requested implementation of dungeon upper levels (raid minimum-only), native
normal/heroic dungeon+raid planning and early departure of complete groups.
USER RECORDING ROUTES: DO NOT INSTALL, APPLY SQL OR RESTART until hold released.
Current source WIP is intentional, not unexpected changes; preserve it.
Added logical per-mode destination variants reusing physical BaseKey; native LFG
map/mode bands, max+5 dungeon tolerance, raid min-only, reject zero-capacity native
placeholders, native difficulty session handlers and mode/capacity inheritance.
Added per-bot persistent current-block copy in world migration08, actual-members
full detection (human-led too), min(now+300, original hour end, armed source end),
existing gather micro handling, no kick/vacancy rollback, unchanged next day slot,
restart restore/expiry/tempbot cleanup and explicit admin command cancellation.
See group-departure-and-instance-modes.md and tests/checkpoint.
IMPORTANT INCIDENT: Initial -j10 compilation alongside installed worldserver used
all VM RAM; kernel OOM-killed worldserver362937 at2026-10-29 23:36:38 CET. No
shutdown/restart/install was issued by agent. User informed with cause/apology.
At interruption worldserver was OFFLINE. On Oct30 resumption, found an externally
started worldserver371982 (startedOct29 23:57:44). Do not touch it. Installed
executable remains21:21:03 Oct29 unchanged.
Do not restart under recording hold, even to restore the old binary. Future builds
must follow the user-mandated -j10. The temporary -j1 resumption build is
historical and must not be treated as a new build policy. No unrelated service touched.
Final build log /tmp/vcore-group-difficulty-final-build.log; test results
/tmp/vcore-group-difficulty-tests.json. Completed successfully Oct30 01:45:11, final object/source timestamps checked.
No SQL08 applied, no live gameplay verification, no commit/push requested.
# Commit checkpoint: transport resumption, deck return and capital portals
User requested a local commit of all completed changes since19075b6c75. Includes
stopped-only recorded deck stand fallback, adoption of restored native ship
passengers and safe recorded exit, capital Cataclysm/Tol Barad/Vashjir graph
bindings and scoped spell repairs (migration07), plus tests/docs/evidence.
Transport final build and six tests passed; portal native tests verified all12
transfers and both-faction Vashjir graph denial. Temporary profiles/tele fixtures
removed, generated profiles/schedules restored. Final server362937 is operational;
no lifecycle operation or push as part of committing. Earlier uncommitted/pending
notes below are historical; consult git log for the resulting commit.
# Latest: capital Cataclysm/Tol portals COMPLETE, all12 native transfers verified
Applied SQL07 graphbindings forSW/Org Hyjal,Deepholm,Uldum,TwilightHighlands,
TolBarad,Vashjir (6/capital). Sources factionACL1/2, duplicateOrgTol219035 skipped.
Nine existing templates keptdata6=0 and worked. OrgTol206595 failednativeclick
atdata6=0 twice, nowvisitorcast1 and verifiednative88341arrival732. Vash90244/
90245 previouslyempty; native DBteleporteffects160117/118 + existingSmugglersScar
fixedtarget(-4570.29,3478.06,-101.809), visitorcast207690/691. Explicitfixedcave
landing, NOT retailquestprogress destinations. Other targets/conditions unchanged.
All12 nativeclicks/expectedarrivalcoordinates verified using35Karggan/36Edwin85.
Finalresults/evidence doc/clientless/checkpoints/2026-10-29-capital-cata-portals.
Area5146/children policies byteunchanged. Nativebothbotquery target5057 mask0
allowed0, both hardgraphtravelattempts rejected destinationdenied. Nodes/edges
remainpresent/enabled. Migrationreplay preservedbindings/effects/targets. Three
existing portal/ACK/area-node regressions passed; no newC++ changes/buildneeded.
Temp profileskarggan.lua/edwin.lua removed after verifyingexacttestcontents;
generatedprofiles+daily schedulesrestored. Bothtestbotsreturnedowncapitals;
12vcore_cata_probe_*gametelefixturesdeleted,cache reloaded,count0. No human edits.
EarlierHyjalbaselinefalsefailurewasreadingtooearly; finalsaveproveditworked,
userinformed andblanketcasterchange undone. AfterfixfirstTolretestattempt before
Edwinonline was rejected; real afteronline nativeclickARRIVED andfinalJSONcorrect.
Final server362937 undergdb/tmuxvcore-worldserver, console/tmp/vcore-cata-portals-
final-start-20261029.log. Freshready11s/process+8085/8087 verified. Known old
OutdoorPvPshutdowntracespreserved. No commit/push. Prior uncommitteddeckreturn/
resumedpassengerWIP preserved. SQL07intent-to-add becausecustomSQLignored.
See capital-cataclysm-portals.md. Taskcomplete; report andwaituserfeedback.
# Active task: capital Cataclysm/Tol Barad portals incl blocked Vashjir
User asks graph entries + real functionality checks for bothcapitals inclVashjir,
keeping global area ban. Native imports done12 unique spawns (OrgTol duplicate
219035 intentionally skipped). SQL07 prepared/applied, scoped data6visitorcast
for206595 (OrgTol FAILED live twice atdata6=0),207690/207691 (Vash emptyserver
spells). Nine other templates keep originaldata6=0 and native targets/conditions.
Vash90244/90245 hadNOeffects/targets; added DBnative teleport effects160117/118
and fixed existing gameteleSmugglersScar landing(-4570.29,3478.06,-101.809),
NOT claimed retailquest-dependent destination logic. GraphSQL seedonlypreserves
manual positions/enabledflags. SourceACL Alliance/Horde; area catalog unchanged.
Temp tests use35KargganAlliance85 and36EdwinHorde85, nohumans. Temporary specific
profiles karggan.lua/edwin.lua under sourceadventure/profiles copied fromgenerated
DB thenbehavior.enabled/daily_schedule=false. ORIGINAL backups /tmp/vcore-cata-
portals/*-profile-original.lua; files DID NOT EXIST before task. MUST REMOVEONLY
these2 profiles aftertests; luareload+scheduleon torestoregeneratedbehavior.
12 temporary game_tele namesvcore_cata_probe_<spawn> created; deleteonlythatprefix
and reloadgame_tele aftertests. No testfixtureleftinrepo/DB onfinish.
Probe script/tmp/vcore-cata-portals/probe.py completed12tests;11successful.
Failure OrgTolspawn211264 remainedsource after30s/retry; nowchangeddata6=1 and
issued shutdown10 to361432 (console/tmp/vcore-cata-portals-start-20261029.log)
for cache reload. Needwaitfullexit+gdbtrace thenstartsameinstalledbinaryfreshgdb
console/tmp/vcore-cata-portals-final-start-20261029.log,verifyready/ports. Retest
211264 withEdwin36 viaGMtelefixture+nativeclientlessportalobjectuse; pollsaveall/
DBuntiltargetmap732(-603.724,1387.62,22.0498). Original probes JSONsaved beforefix
/tmp/vcore-cata-portals/probes-before-tol-fix.json. Update finalprobes.json entry.
Other11 includingBOTHVashlandings passednativeclick->expectedposition. Native
35 areaqueriesbothVashtargets returnedfactionMask0/allowed0 area5057; real hard
travel_to_node35 targetVash rejected detail destinationdenied. Need repeat36
areaqueries whennotintransfer. Verifypolicy before.tsv byteunchanged.
Corrected earlier misleadingHyjalbaseline: firstDBread tooearly, finalsave proved
native0 worked; user informed, blanketcasterchange undone before tests. Do NOT
claim all portals broken. Otherexistinguncommitteddeckreturn/resumedpassengerWIP
preserved. No newC++ source changes inthisportal task; DBreloadrequiredrestarts.
Next finishOrgTolretest,cleanupfixtures/profiles, tests/docs/evidence,report.
# Latest: resumed-passenger build INSTALLED, server READY; Shanron on normal plan
User explicitly released recording hold and requested install/restart. Old349322
fully exited after known OutdoorPvP shutdown destructor crash (oldconsole trace
retained). Installed successful prepared build using existing CMake:
/tmp/vcore-transport-resume-install.log. Fresh gdb/tmux vcore-worldserver
PID356681, console/tmp/vcore-transport-resume-start-20261029.log. NewServer.log
freshready12s, both8085/8087 listening, process persists. No source/config/DB
changes for deployment; prior uncommitted deck-return+passenger-resume WIP remains.
Requested native clientless login140 to check Shanron without manual position/
profile/dayplan override. Core LoadFromDB reported transportGUID2 unavailable,
teleported him to homebind before controller startup; same warning for26.
Thus no restored attachment existed to exercise new ResumePassenger for140.
Confirmed140 online/profileloaded, normal restintent poi_guard_111 arrived and
rest_sleep/rest_look micros. No TRANSPORT_RESUME live event observed yet; do not
claim restored-passenger/exit behavior live-proven from this deployment. Six
focused tests and complete build previously passed. Core inability to restore
certain ship bindings remains a separate observed limitation. User was told
Shanron resumed ordinary schedule via core homebind fallback, not new deck exit.
No push/commit requested. Server operational. Recording hold is now released.
# Latest: orphan-passenger fix READY; USER HOLD NO INSTALL/RESTART
Final complete build passed/tmp/vcore-transport-resume-final-build.log (source
TransportMgr object rebuilt after final edits, link completed). Six targeted
tests pass/tmp/vcore-resumed-passenger-tests.json. Latest additional detached
land-tail ownership assertion passes in test_transport log. Native attachment
adoption + next permitted recorded halt + ordinary exit implemented; current
installed server349322/executable21:00:04 unchanged. No runtime console commands,
DB/profile/dayplan changes, installation or restart in this task. Existing
uncommitted stopped-deck-return fallback work retained. New fix is source/build
only and NOT live-verified. See resumed-transport-passengers.md.
USER IS RECORDING ROUTES. Notify ready and WAIT for explicit hold release before
install/restart. No pending builds/test processes. No commit/push requested.
# Latest: resumed-passenger fix prepared; USER RECORDING, NO RESTART/INSTALL
User explicitly requests fix for Shanron's orphaned native ship attachment but
NO restart while recording more routes. Added TransportMgr::ResumePassenger
and Resumed flag; Lua Adventure controller invokes before actions, after
observation/maintenance. Preserve normal active rides; require actual known
recorded vehicle+managed alive noncombat passenger, no taxi/pending teleport,
allowed stop. Lazy ensure both stop and graph data load. Reconstruct only Riding
state, never reboard/teleport/change schedule. At each Riding update choose actual
currently stopped permitted recorded dock; no guessed prior destination. Reuse
normal deck return/budget/recorded exit incl native map-transfer ACK; keep control
through detached land tail until arrived. No exiting at newly forbidden stops.
Unrecorded/forbidden services untouched. No static tram DB persistence repair.
Six tests passed/tmp/vcore-resumed-passenger-tests.json; extended production
transport harness includes restart adoption, preserved normal rides, complete
native-modeled exits, denied stops, unknown/unmanaged, landtail and cross-map.
Final build running/tmp/vcore-transport-resume-final-build.log. Source latest
changes after initialbuild must be included; verify final completion.
Current server349322 remains unchanged, NO console/lifecycle/DB/profile changes.
Doc resumed-transport-passengers.md. Previous uncommitted deck-return fallback
work preserved. Next finish final build/checks, tell user ready; WAIT for user
recording hold release before any install/restart. Live behavior unverified.
# Latest diagnosis: Shanron140 attached to ship but no resumed ride controller
User observes Shanron aboard ship toSW. Native console transport status140:
`No transport ride state for this character.` actioninfo140 Idle/empty. Character
DB online map0(-8644.53,1335.31,6.12629),transguid2(The Bravery). Currentserver
349322. Both previous and current boot logged generated140 startup but no native
boarding/travel progression; normal core restores MO_TRANSPORT attachment from
saved character, CPC `_rides` exists only in memory and Start refuses already
attached players. Thus restored ship passenger has no ride driver to initiate
recorded exit/deck fallback. Distinct from120Brynna's repeated return issue.
No code/DB/lifecycle/relocation changes for Shanron investigation; existing
uncommitted stopped-deck fallback changes preserved. Needed follow-up: adopt
already attached managed passengers after login/restart using matching recorded
service; disembark only at an actual safe recorded dock, then resume normal plan.
Do not simply detach/teleport a passenger in transit. Existing120fallback still
requires a tracked ride to call DeckMgr::Update and cannot solve orphaned ride.
# Latest: stopped deck-return fallback INSTALLED, server READY
User permits transfer to recorded onboard stand after return failure only while
vehicle stopped. Implemented checked direct native spline launch + persistent
return failure state and safe native passenger relocation fallback. No detach,
no transportGUID changes, exact recorded local anchor, same transport/map,
alive/no combat/no pending teleport, valid coordinates, stopped+exitBudget1s
reserve independently rechecked. Ordinary recorded exit still follows.
Five tests PASS: deck control (including failed start/return, motion and short
halt rejection), actual fallback helper with doubles, real meshes, generic
transport, grid loading. Build/tmp/vcore-deck-return-build.log PASS. Installed
/tmp/vcore-deck-return-install.log after341932 fully exited (old known OutdoorPvP
shutdown fault trace retained). Fresh gdb/tmux PID349322, console
/tmp/vcore-deck-return-start-20261029.log, freshready13s,8085/8087 listeners,
process verified. Installed binary contains DECK_RETURN_FALLBACK string.
No native fallback event seen yet; no live/visual acceptance claim. Natural bot
loader active; no manual forced action, DB relocation or profile/plan override.
Doc deck-return-fallback.md. All these changes UNCOMMITTED after19075b6c75.
Previous SESSION diagnostic edit is intentional. Report completion; await user.
# Latest: stopped deck-return fallback implemented, build passed
User explicitly permits transfer back to recorded onboard stand after return
navigation fails, only while vehicle stopped. Added Passenger.Returning/
ReturnFailed, checked immediate native spline launch, failed/timeout/interrupted
return handling; helper rechecks actual same passenger/map, stopped and exit
reserve+1s, life/combat/teleport, valid local/world coordinates. Native local
position+TransportBase passenger relocation+broadcast; attachment never removed.
Ordinary recorded exit remains unchanged. Tests controller/native helper/real
mesh passed, generic transport/grid tests running. Build
/tmp/vcore-deck-return-build.log complete PASS. Not yet installed. Currentserver
341932 remains running. Prior SESSION diagnostic change is expected WIP after
commit19075b6c75. New doc deck-return-fallback.md. Next: finish test checks,
graceful shutdown/install/restart undergdb, freshready+ports, observe boarding/
returns/exits; do not claim actual fallback occurred until logged.
# Latest: Brynna120 stuck aboard tram; diagnosed repeated deck return
User observes Brynna in wagon. Branch19075b6c75 clean at investigation start.
Native status120 Riding SW->IF spawn18803 point4 elapsed238825, abort0, action
Moving. Prior rescueSW completed20:45:28, normal boarding20:46:42/Riding20:46:43.
Deck outing target(2.419,-3.118,-10.445). At destination20:47:55 and20:47:58
repeated DECK_WALK return target(-0.112,-0.187,-10.345),length3.87. Next dock
20:50:17..22 dozens of identical return launches per second, NO Leaving state.
This confirms recurring deck-return problem, not lost attachment after restart.
DeckMgr::Launch reports success unconditionally via MotionMaster LaunchMoveSpline
(void), Update uses IsSplineEnabled and retries when actual local target not
reached. Exact cause (launch failure, motion slot priority, competing stop) not
proven yet. Unit UpdateSplinePosition does update transport-local position.
Server.log has _checkPathLengths validation errors for76/110, NOT120; do not
attribute those to Brynna without evidence. No code or DB/teleport/lifecycle
changes in this diagnosis. Server341932 remains running. Ordinary rescue refuses
attached passengers by design; do not detach/teleport moving wagon passenger.
Next fix should validate actual deck spline start/completion, avoid repeated
return issuance, reserve enough dock time, retain safe passenger attachment.
# Commit checkpoint: group follow, grounded portal and explicit tram rescue
User requested a local commit of the current completed changes. Includes group
meeting spacing/road formation and player-led flight mount/hover fixes, grounded
Outland Dark Portal source/capital-return ACL migration05, and explicit rescue
node category/ordinary graph exclusion/recorded escape execution + migration06.
Tests, documentation and native evidence are included. Final rescue build3 and
ten focused tests passed; installed server341932 reached ready with8085/8087.
Native exits verified forDurndan58/Tinkbin33/Hilddis56. Full visual acceptance,
all walking rescues and core static-transport passenger persistence are not
claimed. Earlier UNCOMMITTED/pending install notes below are historical task
checkpoints; consult git log for final commit. No push or restart in commit task.
# Latest: explicit tram rescue LIVE, successful native exits verified
Implemented rescue node category, ordinary graph exclusion, scoped recorded
escape search, walk-first then map369-only native transfer fallback after normal
replans/flight exhausted. Applied SQL06; bothnodesrescue/Alliance1. Verified
recorded edges1781/1782/1783 and all points byte-for-byte unchanged against saved
DBsnapshot. Final complete build3 and10 targeted tests PASS. Installed
/tmp/vcore-rescue-route-install.log. Fresh gdb/tmux vcore-worldserver PID341932,
console/tmp/vcore-tram-rescue-start-20261029.log, newready12s verified, process
persists,8085/8087 listening. Old328503 fully exited before install.
LIVE:58Durndan transferIF20:38:59, authored rescuecomplete20:39:09,
nativeexit2166 map0 at20:39:11, resumed groupformation/tavern preparation inIF.
33Tinkbin transferIF20:39:11, rescuecomplete20:39:34, then normal tram route and
nativeSWexit2171 at20:42:17; resumed citytravel/groupchat.56Hilddis transferSW
20:41:38, rescuecomplete20:41:48, resumed original route including real tram
SW->IF Arrived20:43:18, nativeIFexit2166 map0 at20:43:32.76Renalin started
WALKING rescue20:42:42 with transferred=0, recorded corridor underway (completion
not yet verified). Other automatic rescue transfers/completions78,80,82,88,90,94
observed. No manual player/bot relocation or forced intent used for these tests.
Evidence checkpoints/2026-10-29-tram-rescue/live-rescue.log. Core static transport
passenger persistence remains unchanged; requested emergency exit covers stranded
bots. End-to-end exits verified for58,33,56, not all bots/visual acceptance.
All previous groupfollow/portal WIP preserved and UNCOMMITTED; SQL05/06 are
intent-to-add under ignored sql/custom. No push. User's latest interruption
message handled by resuming live verification. Next: report completion; await
user feedback. Do not claim every walking rescue or future restart is tested.
# Latest rescue install in progress: final build3 SUCCESS
Latest complete source build passed/tmp/vcore-rescue-route-final-build3.log;
all10 targeted tests pass. Added missing-anchor and partial-route-end hooks on
rescue-network maps; source newer than build2 is compiled in finalbuild3.
Issued shutdown10 to328503. Wait for complete exit/gdb OutdoorPvP trace, apply
migration06, verify recorded edges/points unchanged, install then start fresh
vcore-worldserver undergdb to/tmp/vcore-tram-rescue-start-20261029.log. Verify
fresh ready/listeners and observe native RESCUE_ROUTE_START/TRANSFER/COMPLETE,
portal exits for stranded56,58. No rescue migration/installation performed yet.
# Latest WIP: explicit rescue network implemented, final build/testing
User recorded tram_rescue_sw,tram_rescue_if and edges1781,1782,1783. Implemented
rescue node category + command validation. Graph normal roots/anchors/static/
adaptive/virtual bridge/flight edges exclude rescue; scoped PlanRescueRoute
admits allowed same-map recorded ground escape paths to ordinary nodes. Walk
first; if no approach, map369 only may nativeTeleportTo+ACK closest allowed
rescue node with a real recorded escape. Managed/alive/not combat/transit only,
at most2 rescue starts per action (second reserved for failed walking rescue).
Executor tries rescue after normal recovery radii+fallbackflight fail; initial
no-progress/missing anchor/partial completion on rescue-network maps now reach
ordinary recovery instead of silently cycling. Other maps preserve prior initial
failure semantics. Keep original destination, replan on ordinary escape endpoint,
no group formation/opportunistic MMAP exits during authored escape. Core tram
passenger persistence itself unchanged; this implements user-requested escape.
Migration06 prepared, NOT YET applied: classify two existing nodes rescue and
AllianceACL1; recorded geometry untouched/snapshot in
checkpoints/2026-10-29-tram-rescue/recordings-before.tsv. Category SQL ignored by
.gitignore; add with -N -f like migration05 when ready. Existing source WIP
from group flight+portals must be preserved.
Ten targeted tests passed (/tmp/vcore-rescue-tests.json), new production rescue
graph/executor tests. Later no-shortcut assertion rechecked. Final incremental
build running/tmp/vcore-rescue-route-final-build2.log; one late partial-recovery
hook changed Executor after compilation may require final incremental rebuild.
DO NOT install stale binary. Current testserver328503 still running; no lifecycle
or DB changes in this rescue task yet. Next: finish latest build+verify tests,
applySQL06 while stopped, install, restart undergdb and verify freshready/ports,
observe native rescue behavior for stranded58Durndan/56Hilddis and other369bots.
User says recording completed; normal authorized test restart allowed.
# Latest: diagnosed stranded tram bots; no fix/relocation/restart yet
User observes bots stuck in Deeprun Tram. Read-only diagnostics confirm58Durndan
(5.774,858.385,-84.745) and56Hilddis(3.825,1299.646,-125.218),map369,
native live probes match saved positions, no supported feet floor, not flying,
falling or mounted. Both have NO transport ride state after restart.16 bots
have saved online positions on369; do not infer all16 independently verified.
Action58 Completed with `no useful travel progress available`, repeated intent
fallback every30s. Core Player::SaveToDB stores transportGUID only for dynamic
Transport*(MO_TRANSPORT); static GO transport tram176081 is excluded. Load
restores only HighGuid::Mo_Transport. Thus static passenger binding is lost on
restart while world position in tunnel persists. TransportMgr ride/recovery is
in-memory and absent after restart. Generic navigation rescue also recognizes
only Failed; Completed/no-useful-progress doesn't increment failure counter;
Fallback switches StateIdle, resetting stall evidence. Separate disembark issue:
124Marnra boarded19:16:50, Leaving19:18:02, then Riding19:18:18 after departure
before transition finished. Not established as cause for all bots. No new code,
DB relocation or lifecycle actions; previous WIP preserved. Evidence
checkpoints/2026-10-29-tram-stranding/live.log. Server328503 remains running.
# Latest: group follow build installed, portal graph corrected, server READY
User released recording restart hold. Installed successful final build using
existing CMake install (/tmp/vcore-group-follow-fixes-install.log). Old317961
fully exited with previously known OutdoorPvP shutdown destructor SIGSEGV;
backtrace preserved in oldconsole. Fresh gdb/tmux vcore-worldserver PID328503,
console/tmp/vcore-group-follow-fixes-start-20261029.log. NewServer.log reports
worldinitialized12s + daemonready; process persists and8085/8087 listeners
verified. Normal loader enabled/staged. No critical startup/portal rejection
errors observed; existing unrelated DB content warnings remain.
Portal164 graphimport creates enablededge1776/Hordeonlysource; source4352
nativeground84.380 replaces DBCboxcenter144.362, unchangedXY within trigger,
target4354unchanged. Applied guarded SQLmigration05, retained originalrow and
nativeprobe evidence. Nativeobjectimport164 afterstartup CONFIRMED current graph accepts binding
(idempotent preserves nodepositions); freshconsole line787.
Source WIP and migration05 (intent-to-add because sql/custom ignored) uncommitted.
Eleven targeted tests/build passed; gameplay/visual acceptance still pending.
See dark-portal-return-graph.md and group-follow-spacing-flight.md.
# Latest: restart hold released; portal graph corrections applied
User explicitly authorized installation/restart. Native GO import164 succeeded,
edge1776 Hellfire->Orgrimmar enabled; previously tested click had no graphbinding.
Applied worldmigration2026_10_29_05: source164 Horde2, existing170 Alliance1,
portal_at_4352_source grounded Z84.380 (native feetprobe49, DBCcenter144.362,
actualtriggervertical77.462..211.262). Arrivalnode4354target unchanged.
See dark-portal-return-graph.md and before.tsv checkpoint. No DBC/native teleport
edits. Groupfollow final build passed; eleven tests passed. Existing WIP preserved.
Issued `.server shutdown 10` to PID317961 before install. Next verify full stop
(including known gdb shutdown-crash capture), install existing CMake build,
restart under gdb with fresh console, verify new ready+listeners8085/8087.
# Latest: gathering/formation and player-led flight fixes prepared, DO NOT RESTART
User is actively recording routes and explicitly requested code/build first,
notification before install/restart. Preserve current running worldserver
PID317961. No console commands, DB/profile/plan changes or lifecycle actions
performed in this task. New source WIP after54d77d1e4d is intentional.
Changes: gathering uses existing safe nearby positioning+reservations within
meeting neighborhood and finishes spacing walks; ground-follow destination
reuse0.75yd; recorded road row wait also across brief executing-leader stops,
long mounted row window, native taxi/transport boarding released; prepare native
profile flying mount when leader equips one; retain it on actual takeoff;
owned stale ground route cannot block flight; follow does not depend on ordinary
visual detection range (same map/phase and all safety checks retained);
stationary aerial flags+Fly animation native publication without idle flood,
Ground tier on regular touchdown. New test_group_flight_mount.py plus updated
production harnesses. Eleven tests passed, summary/tmp/vcore-group-fixes-tests.json.
Initial and final complete builds passed; final log
/tmp/vcore-group-follow-fixes-final-build.log.
See group-follow-spacing-flight.md. Not installed, not live tested, not committed.
Next: final build is successful; notify user ready for install/restart,
WAIT for route-recording interruption to be released before stopping server.
# Commit checkpoint: group preparation, public portals and flight recovery
User requested committing all current changes. This checkpoint combines the
preparation microactions and five-minute gathering rule, public portal SQL fixes
and diagnostics, and safe flight departure/landing/return recovery, including
targeted tests and native validation artifacts. Latest successful build and live
state are recorded below. Earlier "No commit" statements describe their original
work-in-progress checkpoints; consult git log for the resulting local commit.
The known gathering-point overlap and formation/mount-follow observations remain
separate follow-up work. No push or server restart is part of this commit task.
# Latest: flight departure/landing repair finished and live-verified
Final build+install /tmp/vcore-flight-safe-return-final-build.log and-install.log
succeeded. Current serverPID317961, tmuxvcore-worldserver undergdb; console
/tmp/vcore-flight-safe-return-final-start.log. Freshready+8085/8087 verified.
Eight targeted flight tests pass. Final native evidence: Brynli84 resumed native
mount, completed54.32yd/3segments, landed18:17:12 and free_flight edge to
portal_at_4455_target completed recovery0; next route step began normally.
Tholgar92 completed396.61yd/19segments/zeroavoidances landed18:17:44. Earlier
real MMAP8.18yd departure under overhang + >1km flight also recorded.
Safe nearby return-landing search0/8/16/24/40yd,80yd3D bound,fullColumn+Corridor+
area checks added after direct hover column proved blocked. Complete production
helper tests cover blocked column/safe neighbor/no candidate/catalog denial.
Ground approach abort does not interrupt unrelated combat spells. Ground/air
start, five-ray landing volume, short low final descent and native feet touchdown
fixes are active. No teleport or profile/DB/plan overrides in this flight task.
Docs flight-departure-repair.md and checkpoints/2026-10-29-flight-departure,
including final-live.log. Complete final intent journey/visual acceptance remains
unverified; intermediate flight legs are verified. No commit/push. Existing WIP
from prior tasks preserved. Separate known OutdoorPvP shutdown destructor SIGSEGV
still occurs during graceful shutdown; gdb captures preserved. Original runtime
vector assertion unresolved. No active finite flight observer remains.
# Latest: Outland flight departure investigation and repair
Diagnosed84Brynli: mounted nativeCanFly1 but suspended~10ydaboveground,
oldcodeinsistedgroundstart.92Tholgar: actualfootfloor35.852,skyquery48.203
(overheadlayer). Neithercasewater. Added nativeprobe feet/liquid/mountflags.
Implemented airborne profile-mount reuse (no dismount), checked MMAP ground
walk to nearby open takeoff if on a lower supporting floor, cancel/timeout
safety, shared-trail identity preservation, per-action flight_origin blacklist
that preserves ground alternatives. Verified live both resumed/tookoff.
Then discovered short final approach oscillation + skyfloor touchdown/hover
return anchor issue. Added collision-checked short low landing, feet-level
support/body check, five-ray volume for takeoff AND landing candidates and
verified ground return anchor beneath resumed hover. No teleport/height fudge.
Eight targeted flight tests PASS (production handler doubles + real planner).
Build/install latest /tmp/vcore-flight-departure-volume-build.log and-install.log.
TestserverPID315309, tmuxvcore-worldserver undergdb, latest console
/tmp/vcore-flight-departure-volume-start.log. Freshready+8085/8087 verified.
Native logins84/92 requested; final live observer /tmp/vcore-flight-departure-volume-live.log.
Docs flight-departure-repair.md, checkpoints/2026-10-29-flight-departure.
No profile/DB/plan overrides for this flight task. Prior uncommitted work
preserved. No commit/push. Separate known shutdown OutdoorPvP destructor
SIGSEGV repeatedly captured by gdb; original runtime vector assertion still
unresolved (not this task). Latest final live findings to append below.
# Latest: public portal repair completed
Migrations03/04 applied: visitor level58 condition and twelve static public
portal templates use playerCast1. Source only diagnostics: GameObject cast-fail
WARN + GM clientless portal object use guid spawn (native click, no bypass).
Ten available spawns transferred successfully including Shattrath/Hellfire,
Dalaran and Darkmoon returns; two Darkmoon entrances gated by inactive event3.
See public-portal-repair.md and checkpoints/2026-10-29-public-portals.
Three targeted tests pass; existing ACK harness updated for delayed guard.
Build/install succeeded; latest serverPID304210, gdb/tmuxvcore-worldserver,
console /tmp/vcore-public-portals-fixed-start.log, fresh ready+8085/8087 checked.
Temporary game_tele fixtures and specific corren/mahuwa profile files removed,
profiles restored via luareload and schedule on issued for83/102. Rootloglevel5
restored. Arthoran override original; no human character changed. No commit.
Separate shutdown OutdoorPvP destructor SIGSEGV stack captured; original runtime
vector<unsigned int> assertion unresolved. Earlier checkpoints below historic.
# Latest: crash investigation 16:19
Server aborted SIGABRT16:19:22; libstdc++ const vector<unsigned int>::operator[] bounds assertion. Immediately preceding VMAP530.vmtree missing warning, but file exists3.46MB; exact cause unconfirmed, no crash dump. Evidence preserved /tmp/vcore-crash-20261029-1619/. Recovered under gdb batch to capture all-thread backtrace on next failure, PID299009, dedicated tmux unchanged. Console /tmp/vcore-crash-watch-start-20261029.log; fresh ready in newly generated Server.log and8085/8087 listeners verified. No code/config changes. Unfinished manual transport recordings may need restart; no persistent recorded docks discarded.
# Latest: Blasted Lands portal activation
Native imports219963/211359/211298 active, edges1758-1760. Source ACL Alliance1/Horde2. Adventure reload issued. See blasted-lands-portals.md. Server unexpectedly already absent before first import (no shutdown by agent); recovered PID295252, fresh ready and listeners8085/8087 verified. Console /tmp/vcore-portal-enable-start-20261029.log. No binary/source changes. Gameplay traversal pending. Existing WIP preserved.
# Aktueller Auftrag: Fünf-Minuten-Sammelregel implementieren
Nutzer hat Regel inzwischen ausdrücklich beauftragt. Source ergänzt:
AdventureGroupPolicy::Gathering(groupformation,deadline,now): letzte300s,
exakt am Deadlineende wieder false. Record.Gathering/GatherRetryAt und
AdventureBehaviorMgr::UpdateGathering vor normalem OnSite/Micro-Verhalten.
Laufender Fußausflug erhält StopRequested und retraced tatsächlich gelaufene
Checkpoints; andere Micros beendet. Danach lokaler MMAP-Rückweg zum Anker,
Hold bei3.5m, gescheiterter Weg10sRetry. Kein Warten über Intentdeadline hinaus,
kein Teleport. Reisen/Kampf/Transport/Intentwechsel haben Vorrang.
Micro/LeisureAvailable/adminmicro verhindern neue Aktionen im Sammelfenster;
Gruppenchat/Einladungen bleiben normal aktiv. Regel ausDeadline abgeleitet,
gilt auch für manuelle und nach Neustart wiederhergestellte Pläne.
Neue tests/clientless/test_adventure_group_gather.py: echter Handler mitDoubles,
Grenzen301/300/1/0s, Ausflugabbruch, Vorbereitungsende, Retry, Hold und Release.
Dieser Test plus leisure+intent_state erfolgreich. Breitere Checks ebenfalls erfolgreich (insgesamt sieben Tests).
Build2 /tmp/vcore-group-gather-build2.log erfolgreich, installiert nach sauberem
Shutdown. NeuerTestserverPID290160, tmuxvcore-worldserver, Konsole:
/tmp/vcore-group-gather-start-20261029.log. Freshready+Ports8085/8087 bestätigt.
SiebengezielteTests erfolgreich /tmp/vcore-group-gather-test-results.json.
LiveCutoff14:55 beobachtet: GROUP_GATHER_START/READYmehrererBots;
Arthoran26 vorCutoff explizitgroup_search_walk gestartet (keinScheduleoverride),
beiCutoffRückweg4Legs+LEISURE_COMPLETE, dannGROUP_GATHER_READY bestätigt.
Testdeadline15:00 unverändert. LaufendeBotpopulation gestaffelt wiederhergestellt.
Native14:56StatusArthoran26:microleer,waiting at group meeting point;
adminmicroprofession_tools imFenster abgelehnt.42verschiedeneBots bereits
START+READY. Noch kein nativer15:00Wechselbeobachtet, Deadlinefreigabegetestet.
Dokumentation group-preparation.md und checkpoints/2026-10-29-group-gather/.
Keine neuen Planänderungen für dieseRegel erforderlich.
SQL02 der vorherigenKorrektur ist wegenRepoIgnore jetzt mit git add -N -f als
Intent-to-add sichtbar; Inhalt angewendet, noch kein Commit/Push.
Alle vorhandenen Source-/Dokumentations-WIP sind eigene vorherige Änderungen,
nicht verwerfen. Siehe ältere Checkpoints unten.
---
# Laufende Korrektur: sichtbare Vorbereitung während Gruppensuche
Nutzer beobachtete: Bots sammeln sich in Gilded Rose, keine sichtbare
Vorbereitung/Stadtsuche. Diagnose: walk nur8-12m/budget18m; profession_tools
DBzugeordnet, aber Available UND Update verboten außerhalbprofession;
Gruppenmitglieder FollowMember verhinderte eigene Micros.
Implementiert (noch nicht committed):
- Groupwalk70/110mRadien,220mPfadbudget,Minspan65m,Endpunkt muss draußen sein;
Weg darf von Inn nach draußen führen, bleibt in Hauptstadt+250mAnkerumkreis,
vollständigeMMAP-Korridore und Rückweg unverändert.
- ProfessionPolicy::IntentAllows erlaubt nurprofession_tools zusätzlich für
groupformation; Available/Update benutzen dieselbe Regel. Keine Berufsausübung
währendGruppensuche freigeschaltet.
- Botgruppenmitglieder folgen währendForming nicht zwangsweise Leader,
können eigene Micros machen; normales Folgen außerhalbForming bleibt.
- SQL2026_10_29_02_adventure_group_preparation_walk.sql angewendet:
group_search_walk120-240s statt35-65; VorherwertBackup
/tmp/vcore-group-preparation-action-before.tsv.
6gezielte Tests erfolgreich, Ergebnisse /tmp/vcore-group-preparation-test-results.json.
Build2 erfolgreich /tmp/vcore-group-preparation-build2.log; installiert.
AlterTestserverPID280452 sauber gestoppt. NeuerStart ready und PID287554
bestätigt; Ports8085/8087 lauschen. Konsole:
/tmp/vcore-group-preparation-start-20261029.log. Native Logs bestätigen Aelion29
Stadtgang (14Wegpunkte) sowieAldren32 span70m/8Wegpunkte und195sDauer.
Arthoran26 profession_tools per micro-Befehl geprüft: SOCIAL_START und
SOCIAL_CUE CheckGear20/Listen4 bestätigt; kein Scheduleoverride gesetzt. Loader1 mit50/5/50/5; persistierte Testpläne14Gruppensuche/15InstanzRaid
bleiben erhalten. Externe Ports intern8085/8087 behalten.
Nutzerkurzfrage: ob5minvorIntentwechselSammelpflicht existiert. Geantwortet:
NEIN, nur Rückweg nach einzelnen Suchgängen, keine feste5minRegel. Eine solche
Regel NICHT implementiert/noch nicht zusätzlich beauftragt. Nutzerunterbrechung
hat bereits ausgelösten Shutdown nicht rückgängig gemacht; Server daher zunächst
wieder in Betrieb nehmen, dann vorherige Korrektur live prüfen.
Kein Commit/Push. Vorherige SESSION-RESUME-Änderungen sind eigeneroperativerWIP,
nicht verwerfen. Sämtliche übrigen Sourceänderungen dieserGruppensucheKorrektur.
---
# Gruppensuche-Test vorbereitet und vollständig aktiv (2026-10-29)
Nutzer verlangt Wiederholung des Tests: Bots in Fraktionshauptstädte,
aktueller Stundenblock Gruppensuche, nächster Instanz/Raid gemischt.
Zusatzentscheidung Nutzer: Bots ohne gültiges Instanzziel vom Test ausnehmen.
94Teilnehmer (49Allianz,45Horde);16Bots unter15 ausgeschlossen und nicht verändert.
110Bots insgesamt; Loader wiederEnabled1 mit50/5/50/5, läuft normal.
Teilnehmer nativ abgemeldet, scoped DB-Positionen nach Sturmwind/Orgrimmar,
Reise-/Ghost-/performative Instanzreste dieser94 bereinigt; Allitester unberührt.
Tagesplan persistent20261029:14:00-15:00 groupformation, Sammelpunkte
Allianzpoi_guard_22 /Hordepoi_guard_179.15:00-16:00 80instance+14raid.
Raidfähige Bots jeFraktion abwechselndRaid/Instanz; alle Ziele VOR Änderung
vom nativen eligibility-Check als own1 bestätigt. Mindestlevel15, Fraktionen
und Gebietskatalog bleiben gültig. Keine Profil-/Level-/Codeänderung.
Andere22Tagesplanblöcke nach Snapshotvergleich unverändert (187geänderteSlots,
einer der188Zielslots hatte schon den gewünschten Wert).
Abschluss:94/94online undlautDBinrichtigerHauptstadt;94nativeRuntimeStatus
bestätigen intentgroupformation+schedule1. GROUP_CHANNEL-Meldungen beobachtet.
Sämtliche Snapshots, Auswahl, Phasenstatus, Runtimechecks unter:
/tmp/vcore-capital-group-test-20261029/ (state.json Phase ready).
Skripte /tmp/vcore-capital-group-test.py (Nativevalidation),
/tmp/vcore-capital-group-test-apply.py (abgeschlossen; nicht blind erneut starten).
TestserverPID280452, Ports8085/8087; kein Neustart nötig/ausgeführt.
Keine VPS-Änderung, keine laufende Netzwerkbeobachtung, kein Commit/Push.
---
# Normaler Botbetrieb wieder aktiviert
Nutzer bestätigt externen Login nach Portumstellung und verlangt normale
Botanmeldung. Installierte Config Loader.Enabled wieder1; reload config und
clientless population reload durchgeführt. Staffelung aktiv, erste erfolgreiche
Logins Arthoran26 und Aelion29 bestätigt; DBonline_bots2 bei erster Prüfung.
Ziele unverändert50persistente+5temporäre jeFraktion (gesamt110).
WorldserverPID280452/tmuxvcore-worldserver bleibt aktiv, Ports8085/8087.
Konsole /tmp/vcore-instance-8087-start-20261029.log. Keine laufende
Netzwerkbeobachtung. Alte Hinweise 'Bots offline halten' unten sind historisch
und durch diese Nutzeranweisung aufgehoben. Kein Code/Commit/Push.
---
# Testserver für zweite öffentliche Verbindung auf8087 umgestellt
Auf Nutzerauftrag NUR installierte Testserver-Config angepasst:
WorldServerPort8085 unverändert, InstanceServerPort von8086 auf8087.
Sauber heruntergefahren, neu gestartet, frischer ready-Start bestätigt,
PID280452, tmux vcore-worldserver, Konsole:
/tmp/vcore-instance-8087-start-20261029.log.
Listener0.0.0.0:8085 und0.0.0.0:8087 bestätigt;8086 lokal nicht mehrListener.
Realmlist2 unverändert: cata.viano-software.de:8086, local192.168.56.10.
Keine VPS/Auth-DB-Änderung durchgeführt. Nutzer richtet VPS:8087->VM:8087 ein,
bisher VPS:8086->VM:8085 bleibt. Externer End-to-End-Test noch nicht erfolgt.
Bots bleiben offline (DBonline_bots0), Loader.Enabled0; keine Reaktivierung.
Vorbereitete Beobachter /tmp/vcore-dual-port-watch.py und
/tmp/vcore-until-login-watch.py auf8085/8087 und dynamische PID angepasst,
NICHT gestartet. Keine Codeänderung, kein Build nötig, kein Commit/Push.
---
# Dritter Verbindungstest: Allitester erfolgreich online
Auf Nutzerwunsch maximal120s oder bis erfolgreichem Login überwacht. Bei erster
Prüfung13:27:11MEZ Allitester21 online1 (nativer Onlineflag wird nach Map-Add
und LoginVerifyWorld gesetzt). Daher Beobachter automatisch sofort beendet.
Beide Ports hatten ESTAB-Verbindungen:8085 über10.0.0.3,8086 über192.168.56.10.
CharakterMap0/Zone1519, Sturmwind. Kein laufender Beobachter.
Artefaktverzeichnis in /tmp/vcore-until-login-last-dir; dort metadata,
samples.jsonl und finished.json mit erfolgreichem Login als Abbruchgrund.
Bots bleiben offline, Loader.Enabled0; Wiederaktivierung nicht angeordnet.
---
# Zweiter externer Verbindungstest abgeschlossen
Nutzertest mit beiden Ports8085/8086 lief13:16:39-13:18:39MEZ (120.24s),
automatisch beendet, Beobachter nicht mehr aktiv. Verzeichnis steht in
/tmp/vcore-dual-port-last-dir; dort metadata/samples/server-new/summary/finished.
274Socket-Samples, beide PortsLISTEN; Verbindung nur auf8085 beobachtet,
keine8086Verbindung in Samples. Allitester21 weiterhinonline0. Im Testfenster
nur CPC_PERF, keine neue Login-Abbruchmeldung (voriger Versuch hatte fünf
fehlgeschlagene World-Socket-Verbindungen). Kein Paketmitschnitt: Abwesenheit
in Socket-Samples ist kein Beweis für ausbleibende SYN-Pakete.
Externe Portzuordnung/Zieladresse weiterhin verdächtig: Realmlist2 annonciert
cata.viano-software.de:8086, Worldserver intern8085/Instance8086. Keine
Netzwerk-/Realmänderung vorgenommen. Bots bleiben offline, Loader.Enabled0.
Keine laufende Überwachung. Nutzer hat Wiederaktivierung noch nicht angeordnet.
---
# Externer Verbindungstest: Beobachtung beendet
Fünfminuten-Fenster auf Nutzerwunsch ab13:05:43MEZ, automatische Abschaltung
13:10:46MEZ (letzte ss-Abfrage verlängerte Abschluss um ca3s). Beide Beobachter
beendet. Ergebnis /tmp/vcore-five-minute-connection-test/summary.json,
Samples und Serverlog-Deltas im selben Verzeichnis; Anfangsphase im bisherigen
/tmp/vcore-connection-watch.log. TCP durchgehendESTAB, kein beobachteter Abbruch,
RTT rund40-50ms, zuletzt alle2132gesendetenBytes bestätigt. Kein Paketmitschnitt.
Bots bleiben OFFLINE, Loader.Enabled bleibt0. NICHT automatisch reaktivieren:
Nutzer hat nur Ende der Überwachung angeordnet. Worldserver bleibt aktiv.
Keine weitere laufende Netzwerkbeobachtung.
---
# Betriebszustand: externer Verbindungstest vorbereitet
Auf Nutzerwunsch alle Bots ausgeloggt, DB und native Loaderstatus bestätigen0
online/pending, manager0. Test-worldserver PID270857 läuft weiter, TCP8085 offen.
Installierte Config Clientless.Adventure.Loader.Enabled vorübergehend von1 auf0,
per reload config und clientless population reload wirksam. Poolziele50/5/50/5
unverändert. NICHT vor Ende des Nutzertests reaktivieren! Nutzer gibt Startsignal.
Passiver TCP-Socket-Beobachter: /tmp/vcore-connection-watch.py, PID-Datei
/tmp/vcore-connection-watch.pid, Log /tmp/vcore-connection-watch.log (max2h).
Paketmitschnitt nicht verfügbar: CAP_NET_RAW fehlt; sudo benötigt Authentifizierung.
Socketzustände/Queues/TCP-Infos und Serverlogs sind ohne Root verfügbar.
Nach Test nur auf entsprechende Nutzeranweisung Loader wieder aktivieren und
Beobachter beenden. Originalzustand in /tmp/vcore-external-connection-test-state.txt.
Bordnavigation inzwischen committed als2841ee973b; nachfolgender Text historisch.
---
# Aktuelle Aufgabe: freie Bordnavigation (2026-10-29)
Vorheriger Schritt lokal committed als49712aadfe. Bordnavigation implementiert
und getestet; lokaler Commit vom Nutzer angefordert.
Nutzer hat lokale Navigationsnetze für Tiefenbahnwagen und The Bravery beauftragt.
TransportDeckMesh baut Recast/Detour-Netze aus vorhandenen VMAP-Modellen;
ClientlessTransportDeckMgr steuert Platzwahl bei Halt und Rückkehr vor Ausstieg.
Modelle werden pro Display einmal erzeugt, nur Bravery176310 und Tram176080-86.
Recast ist jetzt als private game-Abhängigkeit eingebunden, daher großer Build.
Build erfolgreich: /tmp/vcore-deck-build.log; installiert und neu gestartet.
Build3 mit korrigiertem Abfahrtsbudget erfolgreich und installiert.
Finaler Testserver PID270857, tmux vcore-worldserver, Konsole:
/tmp/vcore-deck-final-20261029.log.
Frischer ready-Start und TCP8085 verifiziert.
Echte Geometrietests: Schiff1678Polygone/259 erreichbare Rasterziele mit Rückweg,
Tram105/59. Alle sechs gezielten Tests erfolgreich, auch Controller-/Transport-/Gruppenflugtests.
Native Diagnose bestätigt beide Netze. Kontrollierte Fahrt Renaisia70 von
ship_sw_br nach ship_ruttheran_br: abgeschlossen; Schedule70 ist wieder ON
(confirmed Schedule mode updated). Sie hat einen
2m-Netzweg an Bord zurückgelegt; gespeicherte lokale Position bestätigt Ziel
(-1.74993,7.03908,6.14418) während fahrendem Schiff. Rückweg0.79m am Ziel,
Leaving und Arrived/passenger0 bestätigt. Noralin80 wurde per nativem tele name
(offline) an DeeprunTram gesetzt und eingeloggt; normaler Tagesplan führt sie
von tram_if nach tram_sw. Erste Tramfahrt abgeschlossen:11:40:47Riding;11:41:55Rückweg1.07m;
11:41:57Arrived/passenger0. Keine manuelle Scheduleänderung bei80.
Das anfängliche Bordverteilen war zu konservativ zeitlich reserviert; Build3
reserviert an Abfahrt nur Hinweg+2s, Rückweg/Ausstieg am Ziel. Controltest passt.
Finaler Start erfolgreich. Native Diagnose für weiteres Tram-Entry176080
bestätigt ebenfalls105Polygone/59Ziele+Rückwege. Noralin80 offline erneut per
tele name an DeeprunTram gesetzt und eingeloggt; ihr normaler Tagesplan nimmt
wieder tram_if->tram_sw. KEIN manueller Scheduleoverride80 (daher nichts
zurückzustellen). Finale Tram-Bordverteilung bestätigt11:48:02,2m, lokales Ziel per saveall
bestätigt. Rückweg11:49:13,Leaving11:49:19; unter massiven Worldtick-Stalls
(50.8s/8ticks) Abfahrt11:49:26 während Ausstieg: bestehende Sicherung bleibt
angehängt/Riding+Abort bis sicherem Dock. KEIN vollständiger finaler Ausstieg
behaupten. Frühere vollständige Schiff-/Tramfahrten waren erfolgreich.
Recovery80 abgeschlossen11:51:36 Failed/passenger0='cancelled at safe dock';
sicher an Land ausgestiegen, normaler Tagesplan wieder aktiv. Kein manueller
Override bleibt; Schiff70ScheduleON,80war nie überschrieben.
Siehe transport-deck-navigation.md. Keine Schema-/Config-Änderung; native Testpositionierung80 dokumentiert.
Änderungen werden lokal committed; kein Push.
---
# Umsetzung 2026-10-29: Navigation und Verhaltensgrenzen
Die unten festgehaltene Liste ist implementiert; lokaler Commit vom Nutzer angefordert.
Nächster besprochener Schwerpunkt: sichere Fahrzeugnavigation an Bord.
Build8 erfolgreich, installiert; finaler Neustart erfolgreich, ready und TCP8085,
PID264359, tmux vcore-worldserver, Konsole /tmp/vcore-recovery-final-20261029.log.
23 gezielte Regressionstests erfolgreich; spätere Flugstart-Blacklist- und native
rekursive Skill-Aktivierungstests ebenfalls erfolgreich. Änderungen werden lokal committed; kein Push.
Frühe Startversuche fanden einen bestehenden MAX(id)/GetUInt64-Typfehler bei
Instanz-ID-Initialisierung: Abfrage explizit nach UNSIGNED gecastet, Daten erhalten.
Live auf vorherigem Zwischenbuild: Terrainprobe Orgrimmar jetzt valid1;
Aldren32/Talzul97 Reiten225/Lizenz1; Naxx level60/78 abgelehnt,85 erlaubt.
Finaler Build behebt zusätzlich rekursive Skillpersistierung und respektiert
Blacklist für Flugstart-Anschlüsse. Endgültige DB-Persistenzprüfung erfolgreich: character_skills762 für32 und97
beide225/225 nach nativem saveall. Loader läuft mit50/5 jeFraktion weiter.
Siehe navigation-recovery.md und checkpoints/2026-10-29-navigation-recovery/.
Lunna nicht reproduziert, gemäß Zeitlimit vertagt. Keine Verteilung an Bord:
verlässliche lokale Fahrzeugnavigation fehlt; gemeinsamer sicherer Standplatz bleibt.
---
# Nächster Entwicklungsschritt: vereinbarte Anforderungen (noch KEIN Code)
Letzter Commit321a28640c Gebietskatalog/NodeACL/Planerreiseintegration, vorher0173a434f4.
Nutzer verlangte erstCommit, dann Liste vorCode. AktuellePräzisierungen vomNutzer:
1 Flugreisen regulärmitGraphkosten vomStandortzumNode,zwischenNodesundalsallgemeiner
Fallback,auchlokalerAbreiseknotenbeifernemZielaufandererMap. TerrainFallback aus
untenstehenderDiagnosekorrigieren,Phase169Standardnichtändern,KollisionundBounds
nichtabschalten. NichtblindfehlendePhasenkachelnmitBasisdateienkopieren.
2 LunnaDock-Flugmeister-PendelnRuttheran: nurkurznachdirekterUrsachesuchen,
sonstüberspringen; bereitsvorGebietskatalogbeobachtet.
3 BergungbeidauerhaftfestgefahrenerNavigation NICHTvoreilig. Ruhesteinanimation
verwenden; ZielnichtindividuellerHeimatortsondernFraktionshauptstadtSturmwindbzw
Orgrimmar. Zeiten/SchwellenfürfestgefahrennochmitvernünftigerkonservativerWahl
implementieren; keinNutzerwunschfürsofortigeRettungbeieinzelnenPathRejected.
4 Kettentod: nachWiederbelebunginnerhalb60swiedersterben,5malhintereinander.
DannbeimnächstenToddenbestehendenGeistheiler/FriedhofFallbackfürunerreichbare
Leichenversuchen. WeiterOHNEWiederbelebungsschwäche/Haltbarkeitsstrafe; kein
normalerNPCGeistheilerhandel. Nichtwillkürlichbereitsnach1-2Todenretten.
5 LetzterTagesplanblockGruppenbildung -> durchRuheersetzen, daFolgeintentfehlt.
6 EigeneDungeon/RaidZielwahlMindestlevelprüfen. BotlädtSpielernur±5seinesLevels
undnurwennZielpersonMindestlevelvonDungeon/Raid/Abenteuergebieterfüllt.
SpielerlädtBot: Botmehrals5LevelÜBERSpieler lehntIMMERab, nachUNTENkeineLevel-
Sperre. AlleanderenbereitsvereinbartenPersönlichkeits-/Intentregelnbleibengelten.
7 Transport: zuerstNodeerreichen, dannnaheMMAP-sichereWarteplätzeverteilen;
beiFahrzeugankunftdentatsächlichgegangenenWegzurückzumNode, normalereinsteigen.
8 AufVehikelVerteilungNURwennsicherzuverlässignavigierbarundkeinRunterfallen.
VorAusstiegRückwegzumherkömmlichengemeinsamenStandplatz, dannbisherigerAusstieg.
Gruppenstaffelung/FormationerstnachvollständigabgeschlossenemAusstiegwieder.
9 BeianderenAktivitätenAbstandzuNPC/Botssuchen,beiPlatzmangeleng/überlappenderlaubt.
ZusätzlichAldren/Talzuljetztgeprüft:32AldrenDK60,97TalzulDruide66,beideonline.
BeidekennenHordeFlightmounts32243/44/45und90267; Aldrenkennt34090,Talzulnicht.
Beidenfehltcharacter_skills762auchNACHbestätigtemnativemsaveall(Allplayerssaved).
Skillgesamtzahlen30bzw26,nichtvoll. GeladeneProfilebeidecanGroundMount1 und
aktuelleProfilbewegungaufFlugausgelegt. RuntimeGetSkillValuenichtdirektgelesen,
fehlendepersistierteReitfertigkeitistaberreproduzierbar. NativeSetSkillhatpotenziell
fehlerhafteSlot0Sentinelprüfung(PLAYER_MAX_SKILLS-Schleife,if(!skillSlot)),OHNE
konkretenNachweisfürdiese2Bots. KeineLogsTriedtoaddskill762gefunden. Imkommenden
SchrittBereitstellung+Speicherung+Laufzeitdiagnosekontrollieren, nichtvoreiligallein
DBnullalsvollständigenBeweisfürjedenLaufzeitstatusdarstellen.
FürdieseTurnpräzisierungennochkeineC++/Lua/DBÄnderung,vomnormalensaveallabgesehen.
SourcebisaufdieseAnforderungsnotizsauber;keineBinaries/Config/Intentsverändert.
ServerPID247021,tmuxvcore-worldserver,Console/tmp/vcore-area-start-verified-20261029.log.
---
# WICHTIGSTER NEUER BEFUND: Freiflug scheitert an fehlendem Terrain-Fallback
Native `clientless flight probe 128 1751.49 -4389.67` (09:20CETca) ergab
valid0 ground0 ceiling0. DIREKT davor in aktuellemConsoleLog:
Map file /home/wow_admin/wow_cata_server/data/maps/7192840.map does not exist!
Karte719lautlokalerMapDBC=Hyjal,Parent1(Kalimdor). PhysischeBasiskachel
0012840.map sowie001_28_40.vmtile/001.vmtree sind vorhanden.
ClientlessFlightMgr::Sample(Zeile~166) benutztPhasingHandler::GetTerrainMapId
undverlangtTerrainMgr::ExistMapAndVMap(terrain,x,y) fürdiesesChildTerrain.
BeiFehlenreturn{} bevor eigentlicheHeight/CeilingChecks. Normales
TerrainInfo::GetGrid(281ff) lädtBasiskarteundnutztChildnurdann,wennesfürdiesenOrt
eineChildGridMapgibt;ansonstenbleibtBasiskarte. UnsereExtravorprüfungignoriert
diesenFallback undverhindertsoFlügeauchmit225Reiten/Lizenzen/Mounts.
NichtPhase169ändern(istStandard)! Nichtblind719Kachelnfälschen/kopieren oder
Kollisionsprüfungenabschalten. NötigwäreeineTerrainprüfung mitdemtatsächlich
verwendetenKachelfallback,danachweiterVMAP/Bounds/Clearanceprüfen.
ZweiterBefundbleibtGraph-AnschlussnurperMMAPundfinalerCrossMapFallbackungeeignet.
KeineCodeänderung/DBwrites/IntentänderungeninderDiagnose. NutzerTeilbefund
soebenkommentiert;jetztkurzabschließendzusammenfassen.
---
# Neueste Diagnose: Horde-Navigation/Fliegen, keine Änderungen umgesetzt
Nutzer bat Horde-Navigation anzusehen, höherlevelige solltenfliegenkönnen.
55Horde online,22ab60 nativStatusangefragt (09:18CET):19ActionCompleted/
PhaseOnSite,1Failed(Volakmar128,L80,Naxxramasgoal571),1Idle(Gruppeninteraktion),
1Moving. Allestanden gespeichertnochinOrgrimmar nachUmsiedlung, vieleerfüllen
legitimStadtintents. Logs zeigenvorallembeiLowlevels wiederholteMMAP/Graph-
Startprobleme anOrgrimmarsHöhenplattformen.
KonkreteCodeLücke: PlanAdaptiveRoute startetGraph nurüberlokalenMMAP-Weg zum
Startnode (inklDeferredPartial), keinFlugvomaktuellenStandortzumeinemStartnode.
FreieFlugalternativen beginnen erst INNERHALB desGraphs. TryFallbackFlight in
ClientlessActionExecutorMgr.cpp1890 prüft nurGetTravelGoal(finalesZiel) und
brichtbeiandererMap sofortab. Volakmar128,L80,hat225Reiten,90267+54197 und
HordeFlugmounts32243/44/45,willNaxxramas571,bleibtinOrgrimmar anStart-MMAP
hängen,keinFlightState. Grundrouten fehlen,aberFlugzukünftigzumgeeigneten
legalenAbreiseknoten muss dieseAnschlusslücke überbrücken. Keine pauschale
Flugsperre inOrgrimmar ausdiesenDatenbewiesen. NativeFlightSurfaceProbe128
bei1751.49,-4389.67 zuletztgesendet.
22HighLevels gespeichertmeist225; Aldren32undTalzul97habenKEINcharacter_skills
RIDING762Datensatz,obwohlLizenzen/Mountspells und geladeneProfileGroundMount1.
DBistgespeicherterZustand, liveSkillnochNICHTausgelesen,nichtalsdefinitiven
aktuellenSkillbugverkaufen. Reconcile SetSkill nurwennCanGroundMount true;
KontrollederLaufzeitvorbereitung/speicherung sinnvoll. StoredAldrenProfil
beginntfalseLegacy,weiterhintenmovementm überschreibtesaufaktuelltrue.
Artefakte:/tmp/vcore-horde-flight-guids.txt, ...flight-offset.txt,
/tmp/vcore-horde-flight-diagnosis.txt. NativeConsoleweiter
/tmp/vcore-area-start-verified-20261029.log,ServerPID247021. SourceWIP
unverändert,keineConfig/DBwrites/IntentsänderungenwährenddieserDiagnose;
nurreadonlyStatus/FlightSurfaceprobe. NutzerkurzerklärteTeilbefundekommentiert.
NochkeineImplementierungfürdieseLückeangefordert; aufDiagnoseabschließen.
---
# Neuester Auftrag:110AdventureBots in sichere Hauptstädte umgesiedelt
Nutzer bat alleBots nachSturmwind/Orgrimmar zu versetzen, um alteStrandungen zu
beseitigen. OhneCode/Build/Serverrestart umgesetzt: TestLoader kurz perConfig
Enabled0+reloadconfig+populationreload pausiert,110nativeClientlessLogouts,
DBOffline geprüft, nur explizitgenerierte readyBots inCharacterDB verlagert.
55Allianz aufnativeGameTeleStormwind954(Map0,Zone1519,-8833.07,622.778,93.9317),
55Horde aufOrgrimmar703(Map1,Zone1637,1569.97,-4397.41,16.0472).
Gespeicherte Taxi-/Transport-/Instanzfelder bereinigt, alteInstanceVisits und
BotCorpse/Geist-Auren8326/20584 entfernt, Health>=1, keineWiederbelebungsschwäche.
KeineProfile/Intents/Tagespläne geändert. LoaderEnabledOriginal1 und50/5/50/5
wiederhergestellt, normalesgestaffeltesEinloggen. ServerPID247021 bliebgleich.
Audit/engePositionsbackups /tmp/vcore-capital-relocation-20261029/,
Skript /tmp/vcore-capital-relocate.py, AblaufLog /tmp/vcore-capital-relocate.log.
State normal_loader_restored. NachSQL alle110fraktionsrichtiginHauptstädten,
0alteReisezustände. Livepositionsprobe26Area5148(Sturmwind),32Area1637(Orgrimmar)
beideerlaubt. NormaleTagespläne dürfen dieBots wiederlegalweiterreisenlassen.
AbschlussNativePopulation110/110,50/5/50/5,0pending,errorleer geprüft.
GMreloadconfig meldetErfolg nurGlobalGM, nichtConsole -> nichtdaraufwarten,
ConsoleFIFO viaanschließendenpopulationreload mitenabledStatus prüfen.
KeineandererenSpielerangefasst, keinCommit/Push. VorigeSource-WIP bleibtbewahrt.
---
# ABSCHLUSS: finaler Testserver geprüft,110Bots online
Gebietskatalog-Integration fertig gebaut/installiert. LetzterStart
/tmp/vcore-area-start-verified-20261029.log, PID247021, tmuxvcore-worldserver.
Ready-Prozess-Port8085 geprüft. NativePopulation110,50/5/50/5,0pending,errorleer.
FinalerTagesplanaudit2640Slots,keineleerenZiele,0Verstöße inMetadaten;
298Slots ohneexpliziteGebiets-ID werdennativüberKoordinatengeprüft.
FinaleLiveproben: Allianz26Tiefenbahn erlaubt,Horde32Sturmwindportal verboten,
Vashjir26verboten. KeinADVENTURE_DISABLED/Assert/SQLKollationsfehler imletztenStart.
Nachweise doc/clientless/checkpoints/2026-10-29-area-catalog/ inklfinal-server-smoke.log.
ZehnTestsbestanden. KeineweiterenArbeitenvorAbschlussnötig. Serverlaufenlassen.
NochkeinCommit/Push. AbschließendNutzermelden: Funktionenaktiv,Reloadkommando,
Build/Tests/110Botsgeprüft;Gameplayvisuellnichtabgenommen. AlteTaxi-Hänger und
kalte/großeDebug-Routen(mehrereSekunden)bleibengesonderteThemen.
---
# Aktuell29.10.2026: Gebietskatalog LAUFZEIT-INTEGRATION implementiert
Nutzerauftrag: Bots und Tagesplaner müssen Gebietskatalog verwenden; keine
Locations in gesperrten/zu hochstufigen Gebieten. Frühere Katalog-only-Notizen
unten sind HISTORISCH, nicht als aktuelles Arbeitsverbot verstehen!
Implementiert: AdventureAreaMgr + getestete AdventureAreaPolicy. Snapshots aus
WorldDB, Eltern-Fraktionsschnittmenge, MinLevel+Gap(default5), bekannte Bereiche,
unbekannte Freilandbereiche unter85 gesperrt, native Flugpräferenzen. Neue/alte
Tagespläne über Allowed/PickLocation/Generate prüfen und illegale Ziele persistent
ersetzen, Intents/Stunden bewahren. AreaRevision bewirkt Revalidierung nachReload.
AdventureLocationMgr bezieht Levelgewichte nur noch aus neuem Katalog.
Node-ACL vcore_clientless_node_access für alle Nodearten, explizit4Allianz-Nodes
(Tiefenbahn, SW-Ruttheran-Schiff). Automatische Taximasken aus Creature-Spawn-NPCflag
COALESCE(c.npcflag,t.npcflag) und NPC-Fraktionsvorlagen (auch neutral).314TaxiNodes
zugeordnet,141ungeklärt und zu. Masken werden im Manager abgeleitet, nicht mit
manuellen Masken verwechselt. Optional flightmaster_spawn_id für konkreteBindung.
Tabellen-Kollation utf8mb4_unicode_ci passend zu bestehenden Nodekeys!
TravelGraph alle Suchpfade, virtuelle Brücken/Ein-/Ausstiege, cachedMMAPgeometry,
Executor vorRouteStep und realenRecordedSplines, TravelMgr Diagnose+Ausführung,
Taxi-DBC-Strecken, FreeFlight Planung+Segmente und nativeTransportStarts prüfen.
Gruppenreise: JourneyFollow Portalziel ebenfalls prüfen, da dieser Pfad native
Portale direkt verwendet. Neues Kommando `clientless adventure area <guid> [node]`.
`clientless adventure reload` lädt Snapshot+Locations+Graph, ungültigeArea-Daten
lassen bisherigenSnapshot bestehen. KeinNeubuild/Restart für spätereDatenedits.
GeometrieCache zwischen Fraktionen/Levels und nativeTerrainSwaps geteilt,
Berechtigungen bleiben live. Terrainsharedptrs halten, sonst massivesRemoteMap-
Neuladen. Cachegröße begrenzt mit teilweiserEviction. DijkstraFlight-Vorprüfung
über sichereKostenuntergrenze40+0.4*Distanz vermeidet unnötigeTerrainproben,
keine Kandidaten/Graphverbindungen einfach abgeschnitten.
Quellcode erfolgreichgebaut mit bestehenderDebugCMake, letztesBuild
/tmp/vcore-area-build-verified.log, Installation /tmp/vcore-area-install-verified.log.
ZehnTestprogramme bestanden, nativeLivechecks einschließlichbeiderNeutralitäts-
seiten, Vashjir, HordeTram/Schiff, neutralerCapitalPortalnode, DalaranLevel60,
NodeEdit+Reload+Restore und absichtlichungültigerSnapshot+Restore bestanden.
Alle110Bots imvorigenLaufgeladen:2640Planslots,0leereZiele,0Metadatenverstöße;
298Slots ohneGebietsmetadaten werden imProduktionsplaner überKoordinatengeprüft.
Nachweise doc/clientless/checkpoints/2026-10-29-area-catalog/; Doku area-catalog.md.
LETZTER TESTSERVERSTART: neuer frischer tmux vcore-worldserver mit
/tmp/vcore-area-start-verified-20261029.log (nach finalesPortalFollow-Update).
BeiWiederaufnahme zuerstReady+Prozess+Port8085 und Loaderstatus prüfen!
Worldserver/Bots laufenlassen. Zieleweiter50/5/50/5. KeineProduktion, keinPush,
keinCommit. Branch feature/clientless-player-core Basis0173a434f4, erwarteteWIP
Katalogdaten+Integration+Tests+Docs. SQL02 und03 explizit gitadd-f, da*.sqlignoriert.
Grenzen: keinevisuelleAbnahme, gespeicherteTaxi-Hänger/gestrandeteBots nicht
teleportiert/behoben. Bewegungssampling40yards statt mathematischerGrenzbeweis.
Kalte/großeDebug-Routen teilsmehrereSekunden, weiterePerformancearbeitbleibt.
KnownMaps719/736 fehlenweiter. EinfrüherTestshutdownmitzuvordeaktiviertemKatalog
hatteGetMapAssertnachHalting; nachfolgendeShutdownsnichtreproduziert, Rohlog
/tmp/vcore-area-start-20261029.log. SQLKollationsfehlerseitdembehoben.
Nächste Schritte für Abschluss dieserTurnarbeit: finalenServerstartverifizieren,
Nativeprobe26/32undPopulationstatusnochmalsprüfen, finalePID/Loaderstandhier
kurzergänzen. KeineweiterenCodeänderungennötig. DannkurzerdeutscherAbschlussbericht
mitFeatures, Build/10Tests/Livechecks, Reloadkommando und verbleibendenGrenzen.
---
# Aktuell29.10.2026: Gebietskatalog angelegt, Integration steht AUS
Nachtbeobachtung beendet07:00CET; automatischer Wächter lief trotz Turnunterbrechung
bis Deadline. Nutzer erhielt Bericht nach07:27. Server lief ohne Neustart,
110Bots. Befunde Taxi-Hänger, Fraktionsrouten, Todesschleifen, Navigation.
Vorheriger Nachtauftrag unten ist abgeschlossen, NICHT erneut ausführen.
Neuester Nutzerauftrag zieht vor jeder weiteren Implementierung einen ohne
Neukompilierung/Installation bearbeitbaren Gebietskatalog vor. Dafür ausschließlich
Datenbasis angelegt, NOCH KEINE Runtime-Regeln oder C++-Änderungen!
WorldDB: vcore_adventure_area_catalog(3206AreaTable-Gebiete inkl2931Untergebiete),
vcore_adventure_map_catalog(207Karten inkl1fehlender nativer Map alsTyp255).
Migration sql/custom/world/2026_10_29_02_adventure_area_catalog.sql bereits auf TEST
angewandt; reproduzierbarer DBC-Exporter contrib/clientless/export_area_catalog.py.
Bestehende78Levelbereiche aus vcore_adventure_zone übernommen. Doku
doc/clientless/area-catalog.md erklärt Felder, SQL-Änderungen und offene Integration.
Erneutimport identisch, keine fehlenden Eltern/Karten, keine Zyklen, Vashjir-Chain
geprüft. Native Spieldaten/C++/laufender Server unverändert. Kein Build nötig,
kein Restart, kein Commit/Push. Bestehende SESSION-RESUME-WIP erhalten.
Vereinbarte spätere Integration: Gebiet einschließlich Vorfahren über Node über
Verbindung; Fraktionsmasken0=zu,1=Allianz,2=Horde,3=beide,NULL=erben. Kind/neutraler
Node darf Elternsperre nicht aufheben. Gebiete weit über Botlevel meiden auch bei
Transit; DefaultLevelGap5, max_level ist KEIN Verbot für höherstufige Heimkehrer.
Vashjir5146 komplett zu inkl4815/5144/5145. Startregionen/Hauptstädte fraktionsgebunden.
Scherbenwelt/Nordend/Cata-Flugpräferenz nur bei nativer Erlaubnis/Fähigkeit.
Karte530 enthält auch Startergebiete -> nicht pauschal Outland-Fluggebiet!
Alle Nodes müssen individuelle Fraktionsfreigabe erhalten können. Flugknoten
automatisch aus zugeordneten Flugmeister-NPC-Fraktionsvorlagen ableiten, neutrale
beiden erlauben, unklare nicht automatisch neutral. Tiefenbahn und Schiff
Sturmwind-Teldrassil für Horde sperren. Hauptstadtportale Ziel-Fraktion beachten.
Start/Ziel/Zwischenstationen, virtuelle Graphverbindungen, lokale Wege und Executor
absichern. Bot in gesperrtem Gebiet braucht sicheren Ausweg. Runtime-Katalog-
Reload erst in nächster Integration einbauen; bisheriger adventure reload wertet
neue Tabellen NICHT aus. Eine erstmalige Anbindung benötigt Build/Installation,
danach dürfen Katalogänderungen keinen Build/Restart brauchen.
---
# AKTIVER NACHTAUFTRAG: Bis29.10.2026 07:00CET beobachten und DANN berichten
Nutzer geht schlafen und bittet, Bots frei ihren Intents folgen zu lassen,
regelmäßig Logs auf Fehler/Auffälligkeiten zu prüfen und um07:00 mitteleuropäisch
Beobachtung zu beenden und Bericht zu geben. CET/Berlin+01:00 heute korrekt,
Deadline2026-10-29T07:00:00+01:00 (06:00UTC). NICHT frühzeitig mit Abschlussbericht
enden. Aktiven Turn bis Deadline betreuen, neue Benutzersteuerung berücksichtigen.
Worldserver/Bots nach07:00 NICHT stoppen, nur Beobachtung beenden.
Aktueller Commit0173a434f4, Branch feature/clientless-player-core, Quellcode sauber
zu Auftragsbeginn; nur diese Resume-Notiz geändert. KEINE Features/Fixes/Commits/
Deployments während Beobachtung. Keine Produktion, keine Subagents. Native Test-
Crash-Recovery ist gemäß bestehenden Serverregeln erlaubt, nicht bei Warnungen.
Worldserver PID214924, tmux vcore-worldserver, Installation server/debug/bin,
Console /tmp/vcore-performance-retry-start1.log.110Bots50/5/50/5 normaler Tagesplan,
Mapworker4. Gruppenfindungsmanipulation um01:00 abgelaufen und Helfer inaktiv.
NativeStatus-Befehle sind nur lesend. Fehlende Karten719/736 und Transportprobleme
(Lunna49, falsche Fraktionsroute Falaeriel54) schon VORHER bekannt, getrennt werten.
Persistenter Wächter gestartet in eigener tmux-Session
vcore-overnight-monitor-20261029. Skript
/tmp/vcore-overnight-20261029/monitor.py, Parameter --until2026-10-29T07:00:00+01:00
--out/tmp/vcore-overnight-20261029 --recover. NICHT doppelt starten oder State
überschreiben! Console /tmp/vcore-overnight-20261029/monitor-console.log.
Liest minütlich ab aktuellem Dateiende Server.log, DBErrors.log,
adventurebot-navigation.log (inkl.Rotation) und Console. Native Population alle5min,
alle15min Intent-/Transportstatus und gespeicherte110Botpositionen/Fertigkeiten
(nur gewählte Characterfelder, KEINE Credentials). CPU/RSS minütliche Deltas.
DB-Abfragenfehler werden nur protokolliert, kein Eingriff ins Spielverhalten.
Watch-Skript geprüft mit2Einzelzyklen, letzter01:51CET/110Charaktere/kein Fehler.
Dateien: status.json (kurz), state.json (alle Daten), events.jsonl (Auffälligkeiten),
characters.jsonl (15min-Snapshots), report.md (laufende Zusammenfassung, final um07).
Script zählt native Ereignisse und Warnungen getrennt. Fehlende Maps separat;
Transit>15min und wiederholtes gespeichertes Transguid>30min sind Kandidaten,
keine automatisch bestätigten Bugs. Server-/Nav-/DB-Fehler werden gesammelt,
CPC_PERF/SlowRoutes ebenfalls. Gespeicherte Positionen können90s alt sein.
Bei Prozessverlust: Wächter startet NUR exakt diese Testinstallation, höchstens3
Versuche je Recovery, jeweils frische Readiness/Portkontrolle, ca10s zwischen
Versuchen. Mehr als3Crash-Episoden/30min -> Recovery aus. Nicht bei Warnungen neu
starten! Prozess vorhanden aber keine CPC-/Populationantwort>10min -> Event
possible_hang; dann selbst diagnostizieren, nicht blind Neustart. Unbekannte
Prozessmengen werden nicht angerührt. Bei07 stoppt Watcher und schreibt Endbericht;
Server bleibt an. Falls der Turn unterbrochen wurde, vorhandene Dateien lesen,
bis07 weiter beobachten oder bei Wiederaufnahme nach07 Ergebnis berichten.
Nächste Schritte: status.json nach erstem Minutenzyklus prüfen, dann regelmäßig
(ca5min) selbst neue Events/Counter/Population/Performance auswerten; Tool-Waits
höchstens60s, sinnvoll clock.sleep60000 oder functions.wait yield<=60000 verwenden.
Nicht einfach zurückgeben, bevor07. Am Morgen aussagekräftige Befunde mit Uhrzeiten,
Crash-/Neustartzahl, Botzahl, Datenfehlern/Transport-Kandidaten/Leistung berichten;
keine visuellen Gameplay-Verifikationen behaupten. Rohbericht ggf. nach
Doc-Checkpoint kopieren, kein Commit ohne Nutzerauftrag.
Zusatz zur Nacht: Exakte kategorisierte Nav-Auswertung per
`python3 /tmp/vcore-overnight-20261029/audit-navigation.py`; inkrementell über
aktuelle/rotierte Navlogs, Timestampfilter01:51:59..07:00. Zustand navigation-audit.json.
Um07 unbedingt zuletzt ausführen: Hauptwächter normalisiert Timestamps nicht,
seine auf300begrenzten Warnsignaturen laufen früh über. Ereigniszähler/CPU/Population
und Warnkategorien bleiben korrekt, für Navgründe/Severity/Actors Audit verwenden!
Manuelle Notizen manual-observations.md.
Zusätzlicher rein lesender sample-actions.py (gleiches/tmp-Verzeichnis) sammelt
110native Aktionszustände und markiert lange Taxi-Legs ohne Complete zwischen
Stichproben. Erstes Sample02:33:59,18Taxi-Legs; nächste ca02:49, dann15min.
Dateien actions.jsonl, taxi-candidates.jsonl. Verdacht vor allem2301(608Map0->23Map1),
807(6Map0->213Map530), außerdemGarenden62auf2108(sameMap1). Siehe manuelle
Notizen; mögliche fehlende Teleport-ACKs nicht als bewiesen ausgeben. Nicht fixen! Stand02:50:110stabil, keine Neustarts,
Nav-ERROR bisher alles RECOVERY_FAILED; viele normale WARN/Retry-Pfadabbrüche.
2neue DBErrors sind fehlende creature_text für Stormwind Royal Guard42218,
keine SQL-Verbindungsfehler. Letzter Snapshot02:07 keine gespeicherten Passagiere.
Keine Eingriffe in Bot-/Serververhalten.
Neuste relevante Befunde: Darilwin127(Worgen27) inUnterstadt beiCaptainDonaldAdams60
in sehr schneller Tod/Reclaim-Schleife; RuhezielStormwindBench, solo. Details und
andere Betroffene in manual-observations.md, Zähler nicht blind als eindeutige
Todesanzahl werten. ZweiteAktionsprobe02:50:17Taxi-Legs seit02:33:59gleich, ohne
Complete in Console dazwischen. VieleMapwechsel2301/807/766/767, zusätzlich62sameMap2108.
NächsteActions-Probe ca03:05, dann15min nach letztem actions.jsonlZeitstempel.
110online/keineRecovery/CPUca25%main/RSS4.4GiB. Watch läuft unverändert bis07!
---
# Aktuell: Performance-Verbesserungen implementiert und mit110Bots gemessen
Nutzer beauftragte geringere Last/bessere Mehrkernnutzung im Hinblick auf spätere
Produktion. Branch feature/clientless-player-core, letzter Commit cac4142ec1.
Sämtliche vorherigen Arthoran/Worgen/PvP/nativer-LFG-Änderungen enthalten.
Dieser Stand wird auf ausdrücklichen Nutzerauftrag lokal committet; kein Push.
Doku doc/clientless/performance.md, Nachweise checkpoints/2026-10-29-performance/.
Aktuelle Installation: letzter erfolgreicher Build /tmp/vcore-performance-retry-build.log,
Install /tmp/vcore-performance-retry-install.log. Testserver PID214924 in tmux
vcore-worldserver, frischer Start /tmp/vcore-performance-retry-start1.log; aktuelle
ready-Meldung, Prozess und TCP8085 LISTEN bestätigt. Keine Produktion berührt.
Aktive Config MapUpdate.Threads=4 (vorher1), Network.Threads=1, Loader weiter
50 persistent+5 temporär pro Fraktion. ALLE110 online, pending0, error leer.
Gruppenfindungstest-Deadline01:00 abgelaufen; kein Setup-Helfer aktiv. Normale
persistente Tagespläne werden nach Neustart verfolgt, Test nicht heimlich verlängert.
Letzte /proc-Messung10.069s bei110Bots: Hauptthread26.2% eines logischen Kerns,
vier Mapworker38.6/37.6/38.1/38.5%. Vorherige Beobachtung95.1% Hauptthread,
9.9% einzelner Mapworker. Verschiedene laufende Situationen, KEIN deterministischer
Benchmark/keine garantierte Prozentverbesserung. CPU-Datei im Checkpoint.
Letztes30.011s CPC-Fenster110Bots: Actions7.762s, Controllers1.612s. Baseline
16Bots/31.923s: Actions24.381s, Controllers1.032s. Zeiten sind Wandzeiten,
keine CPU-Prozente. Debug-CMake unverändert -g OHNE Optimierung; Produktion
benötigt gesonderten optimierten Build/Lasttest, keine1,000Bot-Freigabe behaupten.
Hauptursache gemessen: Flugkostenbewertung im Graphen (21,456Calls,292.767ms
von355.109ms warmer Suche). Scoped Flight-Planning-Snapshot reduziert wiederholte
Config-/Profilabfragen auf einmal pro Suche; exakte binäre Gebietsschlüssel
statt float-Textformatierung. Native tatsächliche Start-/Lizenz-/Gebietsregeln
bleiben wirksam. Spätere ähnliche20k-Calls-Suchen34..37ms Flugbewertung, ca100ms
Gesamtsuche. Kalte Terrain-/Loginvorgänge können weiterhin Einzelspitzen erzeugen.
Weitere Änderungen: ClientlessGraphProbeCache erfolgreiche statische feste MMAP-
Verbindungen (Map/Instanz/Richtung/exakteKoordinaten), max32768, Graph-Reload leert;
max4096 feste Graphnachbarschaften als Würfel-Superset mit allen bisherigen
Radius/Sperrlisten/Wegeprüfungen. Nur innerhalb EINER Suche Startpfade teilen,
auch über Suchtiers; keine globalen Playerpfade/negativen/transienten Proben.
Reisefehlerbackoff2..30s mit Jitter, neuer Intent setzt Retry zurück, Zeitblock-
Deadline unverändert, Kampf und Benachrichtigungen nicht verzögert. Verhindert
beobachtete heiße Schleifen mit>50Fehlzielen innerhalb weniger Minuten.
CPC_PERF alle30s + CPC_ROUTE für Suchanfragen>=50ms bleiben als Diagnose.
Alle86 Clientless-Tests bestanden, /tmp/vcore-performance-retry-tests.log,
inklusive neuer Cache-/Retry-/Scoped-Planning-/Koordinaten-/Routenregressionen,
16parallel schreibenden Mapworker-Notifications und native Masterpfade. Gameplay-
Abnahme und produktionsnaher optimierter Lasttest bleiben getrennt offen.
Bot/Lua/Player-Manager bleiben Worldthread-eigen; native Mapjobs parallel, einzelne
Map weiterhin seriell. Kein blindes Parallelisieren geteilter Zustände.
---
# Performance-Fortschritt: Cache/Mapworker bereit, Vergleich noch offen
Interne Baseline-CPC_PERF bestätigt Actions als Engpass:16Bots/31.923s Fenster
24.381s Actions,1.032s Controllers,27ms Perception. Bei20Bots nur10Ticks/31.537s,
27.872s Actions. Bei59Bots12Ticks/32.301s,26.331s Actions. Baseline-Logs
/tmp/vcore-perf-baseline-start1.log und derzeitiges Server.log (vor Neustart sichern).
Implementiert: ClientlessGraphProbeCache.h, maximal32768 erfolgreiche statische
MMAP-Proben, genaue Floatbits/direktional/Map-/Instanzschlüssel. Keine Playerpfade,
Detour-Pointer, negativen/unvollständigen/transienten Ergebnisse speichern.
In PlanAdaptiveRoute nur zukünftige feste Graphpunkte. Aktuelle Einstiegswege
und alle ausführenden Wegprüfungen bleiben nativ. Reload leert Cache.
Zusätzlich maximal4096 Graph-Nachbarschaften nach Ausgangsknoten/Radius; Würfel-
Superset, ursprüngliche genaue Radius-/Sperrlisten-/Pfadregeln bleiben aktiv.
CPC_ROUTE-Trace für Suchanfragen>=50ms mit Gesamt-/Navzeit/Probezahl/Cachehits.
Cache-Unit, Produktionsplaner (kalte/warme identische Route, weniger Proben,
Sperrlisten und Cacheleerung), 16-Thread-Damage-Handoff erfolgreich. Social-Handoff
und Gruppenreise zielgerichtet laufen/Ergebnisse prüfen. Baseline-Build cache1
war erfolgreich; aktueller abschließender cache2-Build enthält zusätzliche
Routenzeiten: /tmp/vcore-performance-cache-build2.log, Session65518, vorher
pgrep ninja vor weiterem Build! Native Baseline-Server204663 vollständig beendet.
Testconfig MapUpdate.Threads=4 gesetzt (vorher1), Netzwerk unverändert1; nur
Testserver, Produktion unverändert. Noch NICHT installiert/neu gestartet.
Nächster Schritt: Build/Tests fertig prüfen, installieren, frisch starten,
Ready/Port/4Mapworker prüfen. CPC_PERF/CPC_ROUTE und CPU-Deltas nach Cache-Warmup
bei dokumentierter Botzahl vergleichen. Noch KEINE Verbesserung behaupten;
falls Navigation nicht dominant im CPC_ROUTE-Trace, weiteren Engpass messen.
Alle früheren WIP erhalten, kein Commit/Push, keine Subagents.
---
# Aktuell: Performance/Mehrkern-Optimierung in Arbeit
Nutzer beauftragt Verbesserung der Last/CPU-Verteilung für spätere Produktion.
Alle vorherigen uncommitteten Arthoran/Worgen/PvP/LFG-Änderungen bewahren.
Branch feature/clientless-player-core geprüft. Keine Subagents erlaubt; kein Push.
Baseline vor Änderungen PID201380: Hauptthread95.1% eines logischen Kerns,
Mapworker9.9%,12logische CPUs. MapUpdate.Threads=1,Network.Threads=1.
CMake Debug mit -g OHNE -O; Produktionslast dadurch nicht direkt ableitbar.
perf und gdb attach durch OS-Rechte gesperrt, sudo -n ebenfalls nicht verfügbar.
Keine OS-Rechte geändert. Stattdessen gezielte Laufzeitmessung eingeführt.
ClientlessPlayerMgr.cpp Update misst Travel/Perception/Transport/Flight/Actions/
Controllers inklusive Online-Initialisierung, protokolliert CPC_PERF alle30s
mit Fensterdauer, Tickzahl, Botzahl und langsamstem Einzelcontroller.
Build /tmp/vcore-performance-instrument-build.log erfolgreich und installiert.
Alter Server201380 vollständig beendet. Aktueller Baseline-Start läuft unter
tmux vcore-worldserver, /tmp/vcore-perf-baseline-start1.log. Readiness/Port und
erste CPC_PERF-Fenster jetzt prüfen; noch keine Optimierung/Mehrkern-Config geändert.
Loader bleibt50/5/50/5;110 gespeicherte Bots. Frühere Gruppenfindung bis01:00,
Helfer war zuletzt nicht mehr aktiv; Vergleichslast sorgfältig dokumentieren.
Nächste Schritte: Messfenster auswerten, gezielt teuerste Arbeit verbessern,
sichere Mapworker-Konfiguration prüfen. Bot/Lua/Player-Manager nicht blind parallel
aufrufen! Welt-/Mapthread-Grenzen beibehalten. TravelGraph-Routing enthält sehr
teure zukünftige Punkt-zu-Punkt-MMAP-Brücken und ForwardEntry-Probes; Cache bisher
nur pro einzelner Suchanfrage (validBridgeLengths/rejectedBridges). Falls Messung
Actions bestätigt, positiver geometrischer Cache über Anfragen mit Graph-Reload-
Invalidierung/Instanzschlüssel sinnvoll; keine transienten negativen Ergebnisse
unbegrenzt speichern. Noch NICHT implementiert. Nach Änderungen sinnvoll testen,
bauen/installieren/neustarten und Last mit Botzahl/Fenster/Debug-Einschränkung
vergleichen. Keine ungemessenen Prozentverbesserungen behaupten.
---
# Aktuell: Korrektur auf nativen SucheNachGruppe-Kanal
Nutzer korrigiert: SucheNachGruppe ist eingebauter automatisch betretenener
Hauptstadtkanal; vorheriger /join-Hinweis und Ersatzkanal waren falsch.
Lokale deDE ChatChannels.dbc bestätigt ID26, NameSucheNachGruppe, Flags262201.
AdventureGroupMgr.Speak jetzt Lookup26 + native Zonenberechtigung und
GetJoinChannel(entry->ID,"",zone), tatsächlichen Beitritt vor Say überprüfen.
Kein benutzerdefinierter reservierter Kanal mehr. Bestehende Limits erhalten.
Aktive Testconfig Channel.RestrictedLfg von1 auf0 gesetzt und reload config
bereits ausgeführt; bisheriger NativeCode wies gruppierte normale Accounts
beim LFG-Beitritt ab (GM/RBAC-Ausnahmen beachten). Keine Änderung allgemeiner
Player-/Client-Joinlogik. Clientanzeige nach Stadtwechsel/Relog noch abnehmen.
Doku worgen-recruitment.md korrigiert, frühere Customkanal-Angaben historisch.
Neuer echter Speak-Adaptertest test_adventure_native_lfg.py besteht: ID26,
Zonenberechtigung, Joinbestätigung, Cooldown. test_adventure_groups.py ebenfalls
bestanden. Abschließender Build2 /tmp/vcore-native-lfg-build2.log erfolgreich und installiert.
Vorheriger Testworldserver197361 vollständig beendet. Neuer Server PID201380,
/tmp/vcore-native-lfg-start1.log; frische ready-Meldung in aktuellem Server.log,
Port8085 LISTEN, Prozess stabil bestätigt. Config RestrictedLfg=0 bestätigt.
Gruppenfindungs-Helfer mit vorhandener01:00 Deadline wieder gestartet, Log
/tmp/vcore-groupfinding-native-lfg.log; Arthoran26 bereits vorbereitet.
Clientanzeige/echter Nachrichtenempfang noch nicht visuell abgenommen. Kein
Commit/Push; alle vorigen Arthoran/Worgen/PvP-WIP erhalten. Branch geprüft.
---
# Aktuell: Worgen, aktive Gruppenfindung und PvP implementiert
Nutzer beauftragte Worgengestalten/Reittiere, Vorbereitungs-Mikroaktionen,
Kapital-Suchchat und aktive Spielereinladungen mit vorheriger Zielinfo sowie
permanentes freiwilliges PvP. Schiffspositionen ausdrücklich unverändert lassen.
Vorherige uncommittete Arthoran-Änderungen vollständig erhalten. Kein Commit/Push.
Branch feature/clientless-player-core, letzter Commit cac4142ec1.
Doku doc/clientless/worgen-recruitment.md.
ClientlessLuaEngine.UpdateWorldPresence pflegt native PvP-Wunsch-/Playerflags,
Worgen nach Intent/Kampf/Instanz und zufälliger ruhiger Ankunft, sichere verzögerte
Wechsel mit5s Retry, Zustand bei Logout gelöscht. PrepareGroundMount verwendet
native Wilde Hatz87840 bei Worgengestalt, Pferd2404/Zauber458 in Menschengestalt;
Dismount entfernt Aura. Neue generierte Worgenprofile Pferde statt Volkspferde;
alte leere Mount-Dictionaries bekommen funktionierenden Lauf-/Pferdefallback.
Gruppenfindung beendet nicht länger Mikroaktionen vorzeitig; zusätzliche SQL-
Migration2026_10_29_01_adventure_group_preparation.sql bereits in Test-WorldDB
angewendet (SQL-Pfad ignoriert, per git add -N -f zur Nachverfolgung aufgenommen).
Vorbereitung/Suchwege lokal mit18Y Pathbudget, auch innen. GroupMgr announciert
nächsten Intent + tatsächliches Ziel im vorhandenen sucheNachGruppe-Kanal,
max1 Nachricht/15s populationsweit und3..5min pro Werber. Spieler müssen Kanal
beitreten. Nahe passende Menschen werden mit vorherigem Whisper eingeladen;
10min Cooldown pro Mensch populationsweit. Native Gruppe/Einladung/Kapazität,
Fraktion/Sicht/AFK/Kampf/Reiseschutz und bisherige Spielerführung beibehalten.
Build4 /tmp/vcore-worgen-recruitment-build4.log erfolgreich, installiert;
Testserver nach vollständigem Stopp frisch gestartet. PID197361, tmux
vcore-worldserver, /tmp/vcore-worgen-recruitment-start1.log. Frische ready-Meldung,
Port8085 LISTEN und Prozess stabil bestätigt. Loader aktiv50/5/50/5;110 gespeicherte
Bots vorhanden, Online-Aufbau läuft. Native gespeicherte PvP-Wunschflags bei
Arthoran26/Aelion29/Zanzan30/Lenara31 jeweils1. Worgen31/38 Pferd458+ZweiGestalten68996
in Spellbook bestätigt; native Script-Zuordnung87840/68996 überprüft.
Regression /tmp/vcore-worgen-recruitment-tests.log:82/83 erfolgreich, einzig alter
intent_state-Adapter fehlte neuer Lua-Ankunftsaufruf. Adapter ergänzt, Einzeltest
anschließend bestanden. Neues world_presence und erweiterte groups/leisure Tests
anschließend bestanden, einschließlich begrenzter Innenraum-Suchwege, menschlicher
Einladung/Zieltext/Abklingzeit, Gestalt in Kampf/Mischinstanzen und Mount-Aura-Cleanup.
Keine visuelle Abnahme von Chat/Morph/Einladung behaupten; native Kanal-/Micro-
Logs waren in erster Ramp-up-Stichprobe noch nicht aufgetreten (Bots reisen).
Vorherige Gruppenfindungs-Deadline00:00 war abgelaufen. Für fortgesetzten Test nach
Neustart gemeinsame Deadline auf01:00 Europe/Berlin (1793232000) gesetzt. Helfer
/tmp/vcore-groupfinding-setup.py läuft weiter, Log /tmp/vcore-groupfinding-worgen.log,
Manifest /tmp/vcore-groupfinding-test.json. Neue online Bots automatisch vorbereiten,
bei110 online stoppt Helfer; DB-Transienten werden erneut versucht. Nicht parallel
starten! Früheres Manifest /tmp/vcore-groupfinding-test-first-block.json gesichert.
Native performative Instanzaufenthalte können sichere Übergabe noch verzögern.
Kein Push/Commit beauftragt. Gameplay-Tankverhalten/Schiffe bleiben gesondert offen.
---
# Aktuell: Arthoran in normale persistente Verwaltung übernommen
Auftrag: Arthoran normaler AdventureBot, Krieger60, Gruppenrolle Tank,
Tavernen/Geselligkeit stärker gewichten als Abenteuer, keinem Kampf ausweichen.
Branch feature/clientless-player-core; Ausgangscommit cac4142ec1. Bereits
vorhandene Änderung dieses Dokuments gehört zum Lasttest und wurde bewahrt.
arthoran.lua jetzt ProfileVersion2, Level60/Class1, SchutzSpec2/Tank, SoloArms0,
Tagesplan aktiv, Elwynn/Sturmwind Heimat, verstärkte Tavernen-/Sozialgewichte,
Aggression1/DangerTolerance1, behavior.allow_retreat=false. Neue optionale
AllowRetreat-Eigenschaft (Defaulttrue) beendet Flucht bei ausdrücklicher Ablehnung;
Gruppenflucht weiterhin aus. Normale CPC-Infrastruktur unverändert.
Generator Reconcile/ProtectedEquipment/PrepareCombat und Population.Online lassen
vollständige v2-Dateiprofile wie generierte Profile verwalten; Legacy-Profile
bleiben unverändert. Arthoran26 explizit in CharacterDB-Registry übernommen,
persistent/ready/warrior/seed26, eigener Lua-Profiltext ebenfalls gesichert.
Kein neuer Charakter, keine Level-/Klassenumwandlung. Backup des Zustands/Inventars
vorher /tmp/vcore-arthoran-before-adoption.tsv. 26 zählt zur Allianz-Persistentquote.
PvP-Frage geprüft: kein erzwungenes PvP in Adventure-Lifecycle; zuletzt0/96
Registry-Bots CHARACTER_FLAG_PVP_DESIRED gesetzt, ebenso Arthoran nicht. Native
Kampf-/Gebietsflagging bleibt. Globale PvP-Einstellung NICHT verändert.
Build /tmp/vcore-arthoran-managed-build.log erfolgreich und installiert. Betroffene
Tests combat_reactions (zusätzlich ausdrückliches Fluchtverbot), population
(zusätzlich benanntes v2-Profil vs Legacy/unvollständig), combat_preparation,
profile_selection, profession_profile erfolgreich. Bisheriger Server183811
vollständig beendet; Neustart /tmp/vcore-arthoran-managed-start1.log.
Startbereitschaft bestätigt (frische ready-Meldung, PID191926, Port8085 LISTEN).
Arthoran26 online/persistent/ready, Level60/Class1, SoloArms-Talentbaum746,
103 Zauber,14 gelernte Talentzauber, Zweihandwaffe31134. Tankrolle/SchutzSpec2
im Profil; tatsächlicher Gruppen-Tankwechsel noch nicht im Spiel abgenommen.
Erste Reconcile-Prüfung scheiterte am alten Mining-Lehrzauber ohne Fertigkeit.
26 nativ ausgeloggt, ausschließlich fehlende Skills186/164 mit375/375 im Offline-
Zustand ergänzt, nativ neu eingeloggt; danach Reconcile ohne neue Fehlermeldung.
Mining nativ auf450 erhöht, Blacksmith375; bestehende Nebenskills erhalten.
Gruppenfindung für26 erneut bis00:00 angefordert; sichere Übergabe aus Social
kann noch laufen. Kein Gameplay-Tanktest behaupten.
Gruppenfindungs-Setup hatte wegen temporärem DB-TLS-Reset angehalten. Native
DB-Query-Retry ergänzt, nach Neustart Manifest prepared zurückgesetzt und Setup
wieder gestartet: /tmp/vcore-groupfinding-resume.log; ursprüngliche Deadline
00:00 beibehalten. Laufenden Setup-Prozess nicht doppelt starten! Loader aktiv
50/5/50/5; keine anderen Nutzercharaktere übernommen. Kein Commit/Push beauftragt.
---
# Aktiver Test: Gruppenfindung für Lasttestpopulation
Nutzer fordert alle Bots zunächst in Gruppenfindung, danach Instanz/Raid;
keine C++-Änderung. Vorhandenes natives `clientless adventure prepare` verwendet,
keine Lua-/Profiländerung nötig. Aufruf pro online Bot: prepare <guid> <next>
<meeting> <seconds>. Allianz poi_guard_22 (Sturmwind), Horde poi_guard_179
(Orgrimmar), Level>=60 raid, darunter instance. Gemeinsame Deadline nächste
volle Stunde: 2026-10-29 00:00 Europe/Berlin (epoch1793228400), danach1h Folgeintent.
Bestehende Kampf-/Tod-/Reiseübergaben bleiben aktiv. Test überschreibt den
aktiven Ablauf (schedule=0), gespeicherte normale Tagespläne/Profilwerte bleiben
erhalten. Nach Test mit `clientless adventure schedule <guid> on` zurückstellen.
Setup /tmp/vcore-groupfinding-setup.py, Log /tmp/vcore-groupfinding-setup.log,
Manifest /tmp/vcore-groupfinding-test.json. Pollt neue online generierte Bots
alle10s bis mindestens110 online, höchstens30min bzw. vor Deadline. Nicht doppelt
starten oder Manifest überschreiben. Bisher80 native prepare-Erfolgsbestätigungen; Aelion29, Lenara31 und Karggan35
melden groupformation + next=raid. Zuletzt80 online (35/5/35/5),
Loader noch busy beim weiteren Erzeugen, kein Loaderfehler. Setup läuft weiter;
110er Abschluss noch nicht bestätigt. Finales Manifest/Bestätigungen prüfen. Kein Push/Commit beauftragt.
---
# Aktuell: Gemeinsame Gruppenreisen implementiert
Auftrag: Spieler- und Botgruppen mit sicheren Formationen, Reittieren, freiem
Flug, nativen Taxis/Portalen und aufgezeichneten Verkehrsmitteln reisen lassen.
Branch feature/clientless-player-core; Ausgangscommit a758239da9.
Dieser Stand wird auf ausdrücklichen Nutzerauftrag lokal committet; kein Push.
Doku: doc/clientless/group-travel.md.
AdventureGroupTravelMgr/Policy übernimmt lokale Gruppenverfolgung, sichere
Bodenpfade, stabile Formationsplätze, begrenzte Straßenabschnitte, Flugverfolgung
und Übergangsqueues. >500Yards startet getrennte 10-Minuten-Uhr; bekannte Reisen
und fortschreitendes Aufholen sind begrenzt geschützt. Reine Botgruppen behalten
ihre gemeinsamen Graph-/Flugrouten. Native Transportverluste führen zum erfassten
Einstieg zurück, zuerst per Pfad, bei Scheitern gezielt per Teleport. Keine
allgemeinen Teleports zum Anführer. Generic CPC verwendet optionale owner-Callbacks,
bleibt unabhängig von AdventureBots. DungeonBots unverändert.
Build6 erfolgreich: /tmp/vcore-group-travel-build6.log. Alle82 Tests erfolgreich:
/tmp/vcore-group-travel-tests2.log. Nach letzten Änderungen zusätzlich Gruppenreise,
Straßenfortsetzung und bewegter Flug erneut erfolgreich getestet. Installation
mit bestehender CMake-Konfiguration erfolgreich; vorheriger Server vollständig
beendet. Neuer Start läuft: /tmp/vcore-group-travel-start1.log, PID183811,
tmux vcore-worldserver. Startbereitschaft bestätigt: frische ready-Meldung, Prozess stabil, Port8085
LISTEN. Loader24 online,10/2/10/2, pending0, error leer.
Aktueller Lasttestauftrag: Loader aktiv mit50 persistent+5 temporär je Fraktion
(Soll110). Aktive worldserver.conf angepasst und reload config sowie
clientless population reload ausgeführt; Zielwerte50/5/50/5 bestätigt.
Population wird schrittweise aufgefüllt; frühere24er Angaben sind historisch.
Native Spielerreisen und visuelle Formation sind noch nicht im Spiel abgenommen.
Unbekannte/scriptgesteuerte Portale oder fehlende Serviceaufzeichnungen werden
nicht erraten; Bots warten bzw. suchen vorhandene Graphwege. Keine Behauptung,
dass Adaptertests Gameplay-Abnahme ersetzen. Kein Push.
---
# Aktuell: Klassen-/Rollen-Kampf und Spieler-Instanzmodus implementiert
Nutzer autorisierte die gemeinsam besprochene Umsetzung. Ausgangsstand sauber
bei d3273c677e auf feature/clientless-player-core. Dieser Implementierungsstand wird auf ausdrücklichen Nutzerauftrag lokal
committet; kein Push. Doku: doc/clientless/class-combat.md.
Neue AdventureRotationPolicy/TalentPolicy und AdventureEncounterMgr.28 feste
Cataclysm-PvE-Talentvorlagen (27 Spezialisierungen plus separates Bär/Katze) gegen
lokale4.3.4-DBC abgeglichen; alle Punktbudgets1..41 testbar. Solo-Spec im neuen
Lua-Profil, alte Profile deterministisch aus gespeichertem Seed. Alle Klassen
mit gemeinsamen Prioritäten und nativen Casts; native Ressourcen/Procs/Combo/
HolyPower, Cata-Spezialisierungen, Heiler/Tanks/Damage und DungeonBot-Unterstützung.
Gruppenwechsel schaltet Skillung/Ausrüstung sicher um, nie im Kampf/Flug/Fallen.
Alternativausrüstung geschützt/wiederverwendet. Level85 episch ilvl>=359,
Furor vor31 Talentpunkten Einhand; Frost-DK zwei Einhandwaffen/Unholy Presence.
Native Gifte/Schamanenimbues, Begleiter und Rollenunterstützung.
Spielergruppen erhalten echten Instanzmodus mit ausgesetzter Planausführung,
nativen Portalwegen, allgemeinem DynamicObject-Flächenausweichen und C++-Hooks
für spätere Instanz-/Boss-Skripte. Alte performative Visits werden ausdrücklich
beim echten Eintritt ohne künstlichen Ausgang/Verwundung beendet. Reine Botgruppen
bleiben performativ. Tote warten auf Wiederbelebung, nach Wipe Eingangsrückweg
mit Teleport bei fehlendem/gescheitertem Weg, malusfreie Wiederbelebung, Sammeln,
Rückkehr/Todespunkt bzw. lebenden Spieler priorisieren. Kick verlässt Instanz
sicher und nimmt Solo-Spec/Tagesplan wieder auf. Keine Boss-Skripte eingeführt.
Native Integration deckte CORE-Bug auf: Hunter Lock and Load56342 leert Effect2,
SpellValue berechnete trotzdem diesen parentlosen Default-Effekt. Scaling war
zudem uninitialisiert. Crash untergdb reproduziert; ROOTFIX jetzt SpellInfo.h
Scaling{} und Spell.cpp IsEffect-Gate. Regression test_empty_spell_effect.py.
Erste zwei Starts scheiterten daran, dritter korrigierter Start läuft stabil.
Alter vorheriger Server PID139425 zeigte außerdem vorhandenen Shutdown-Segfault.
80/80 automatisierte Tests erfolgreich: /tmp/vcore-role-tests-recovery.log.
Danach letzte gezielte Klassen-/Talent-/Ausrüstungs-/Empty-Effect-Tests erfolgreich.
Vollständiger1046-Schritt-Build /tmp/vcore-role-build-recovery.log und finaler
9-Schritt-Build /tmp/vcore-role-build-final-fixed.log erfolgreich, installiert
/tmp/vcore-role-install-fixed.log. Testserver LIVE PID167319, tmux
vcore-worldserver, Console /tmp/vcore-class-combat-20261028-start3.log.
Frisches ready, fortlaufender Prozess und Port8085 geprüft. Loader unverändert
AKTIV10 persistent+2 temporär je Fraktion, alle24 online/pending0/error leer.
NICHT auf historische deaktivierte Defaults zurücksetzen.
Native Hunter44 gab einmal initial unvollständige Talentvorbereitung aus,
automatisch korrigiert: gespeicherter Survival-Baum809/28 Punkte bei Level63
passt zur nativen DBC. Vorhandene Missing-map719 und Into-the-Wilderness84729
misc9-Warnungen bleiben, kein behobenes vollständiges Terrain/System versprechen.
Inventarhashes von menschlichem Allitester21 und Arthoran26 unverändert.
Belege: doc/clientless/checkpoints/2026-10-28-class-combat/.
Noch abnehmen: tatsächliche Tank-/Heiler-/DD-Kämpfe mit Spielern, DungeonBot-
Zusammenspiel und Wipe/Portalwege in der Spielwelt. Automatisierte Adaptertests
sind KEINE Ingame-Abnahme. Bossmechaniken jenseits generischer Bodenflächen
werden später pro Instanz ergänzt. Kein laufender Build.
Nächster besprochener, NOCH NICHT implementierter Schritt: gemeinsame Gruppenreise
für Spieler-/Botführer, getrennte Formationsplätze, sichere Boden-/Flugverfolgung,
Bodenreittiere/Taxi/Schiffe/Tiefenbahn/Portale. Im Stand kleine Formation, unterwegs
Kolonne, mehrreihig nur bei geprüftem Platz; Engstellen einreihig. Kein gültiger
Pfad -> stehenbleiben/wiederprüfen, keine Klippensprünge. >500Yards über10Minuten
führt unter bisherigen Austrittsschutzregeln zum Verlassen; bekannte Übergänge,
Nachreisen und Transport-Recovery pausieren den Abstandszähler. Nicht flugfähige
Bots folgen nur zu sicheren erreichbaren Bodenpunkten bei begrenzter Höhe.
Transportverlust -> letzter sicherer Einstiegsknoten, zuerst sicherer Weg, bei
Scheitern gezielter Rücksetzteleport, nächste Fahrt abwarten. Nutzer bat jetzt
zuerst um Commit der vorherigen Klassen-/Rollenänderungen.
---
# Aktuell: Loader auf Nutzerauftrag für24 Bots aktiviert
Nutzer hat ausdrücklich aktive Testpopulation festgelegt: Allianz10 persistent
+2 temporär, Horde10 persistent+2 temporär. In aktiver Testserverkonfiguration
server/debug/etc/worldserver.conf gesetzt, Loader.Enabled1. Native reload config
und clientless population reload ausgeführt, kein Neustart/Build nötig.
Abschließend nativ bestätigt: alle vier Pools online10/2/10/2, pending0,
manager24, busy0, error leer. PID139425 weiterhin aktiv, Port8085 lauscht.
16 fehlende persistente Bots wurden schrittweise erzeugt/angemeldet;
bestehende temporäre Bots zählen mit.25 fertige Registry-Bots, davon24 online,
ein weiterer Allianz-Temp offline. Levelbereich1..85, Rotation15%/Mindestalter24h
und restliche Einstellungen unverändert. Loader AKTIV LASSEN, NICHT auf die
in den historischen Checkpoints beschriebenen deaktivierten Defaults setzen.
Keine weiteren Codeänderungen/Commits/Pushes für diese Konfigurationsaufgabe.
---
# Aktuell: Profile, Tagesplaner, Botmanager und Loader abgeschlossen
Nutzer beauftragte Umsetzung nach bestätigter Planung. Branch
feature/clientless-player-core war sauber. Änderungen noch NICHT committet;
kein Push. Vollständige Doku: doc/clientless/population.md.
Neue AdventurePopulationMgr/Policy mit vier unabhängigen Sollzahlen:
Allianz/Horde jeweils persistent/temporär. Normale World-Updates statt
Startup-Warten; verzögerte einzelne Anmeldungen, asynchrone Snapshots,
SRP6-Accountanlage, generischer Factory-Preflight und atomischer Save ohne
Future-Warten im Loader. Native Vorbereitung bleibt World-Thread; vorhandene
native Login-/Profil-/Katalogpfade enthalten weiterhin synchrone Reads.
Zufällige temporäre Rotation vor Login, Mindestalter und Chance konfigurierbar;
pro Kandidat einmal pro Prozess geprüft, keine erzwungene Online-Abmeldung.
Erst Ersatz speichern, dann Journal, nativ alten Bot löschen, World-Plan
bereinigen, zuletzt Profil/Supply-/Instanzstate/Journal. Persistente und
verbundene Charaktere geschützt. Accounts nur explizit eigene normale Accounts.
Profile v2 in Character-DB, weiterhin Lua-Sandbox/generated:GUID, keine Dateien
im Sourceprofilbaum. Level1..85/DK>=55, Klasse/Spec/Rolle/Seed, Heimat+Hauptstadt,
levelgerechtes Lieblingsgebiet, Aggression/Heimatbindung plus bisherige
Persönlichkeit. Gewichtete native Bodenmount-Displays/Flugmount- und Petspells,
Anzahlen und Inventar-Whitelist. Erweiterte kulturelle Namensgrammatiken.
Rollen beeinflussen native Spezialisierung/Ausrüstung; Tank-/Heiler-Kampf-AI
und volle Klassenrotationen weiterhin spätere Arbeit. Alte Generatorprofile
wurden beim Laden erweitert, Identität/alte Persönlichkeit/Berufe erhalten.
Keine handgeschriebenen Profile geändert, keine temporären Overrides.
Planer speichert24 vollständige Stunden-Slots vor Ausführung in bestehender
World-Tabelle. Gleiche Folge-Intents/-Locations teilen komplette Blockfrist.
Veraltete/unvollständige Tage werden atomisch ersetzt, gleiche Tage geladen.
Bestehender TINYINT-hour-Lesefehler GetUInt32->GetUInt8 behoben.
Heimatbindung, Neugier und Ziel-/Gebietswiederholungen beeinflussen Gewichte,
Gebietsbänder aus neuem editierbarem Katalog; Profillevel maßgeblich.
Auch neutral markierte Orte in Gegnerhauptstädten sind nun ausgeschlossen.
Manager nur für generierte versionierte Profile: sichere Zustände, Level/XP,
Training/Talente/Riding/fehlende oder unpassende Ausrüstung korrigieren.
Geburt und Erhaltung nutzen dieselbe Armor-/Stat-/Spell-/Level-/Use-Prüfung.
Volle Rucksäcke nativ leeren, angelegte Ausrüstung unberührt, aktuelle
Vorratsstacks/Whitelist/Werkzeuge/Leine/Angel/Taschen geschützt.
WICHTIGER Integrationsfix: alter ClientlessInstanceVisitResume startete alle
Instanzbesucher synchron in OnStartup und umging die neuen Quoten. Jetzt nur
asynchrones verzögertes/gepacetes Wiederanmelden NICHT-generierter Besucher
in OnUpdate. Generator-eigene Instanzbesucher laufen ausschließlich über die
Quoten. Fehlende Generator-Tabelle lässt alte manuelle Wiederaufnahme bestehen.
Nativ bewiesen: bei finalem Start keine Clientless-Anmeldung trotz gespeicherter
Instanzvisite36, während Loader deaktiviert/alle Sollzahlen0 waren.
Migrationen world/characters2026_10_29_00 auf TEST-DB zweimal angewendet
(78 Gebiete). Beide SQL-Dateien wegen Ignore explizit vorgemerkt.
75/75 Tests im abschließenden Lauf erfolgreich; Debug-j10 gebaut/installiert.
Letzter Testserver PID139425: frische Ready nach11s, Prozess und Port8085
bestätigt. Native Tests: beide Fraktionen Level1 und85, vier getrennte Pools,
Stufe60-Schutzkrieger37 mit Tankprofil/Schutzbaum/Waffe+Schild; Level1->5
administrativ verändert und auf1 korrigiert, Planhash unverändert; alter
Testtag ersetzt; gleiche Pläne nach echtem Neustart bytegleich.
Rotation37->38: alter Nativechar/Profil/Plan/Supply-/Instanzstate weg,
Journal leer. Bestehende29..32 und retired27/28 erhalten. Native Inventarhashes
für menschlichen21 und Arthoran26 vor/nach identisch.
Eigene neue normale Accounts7 (Allianz) /8 (Horde). Neue persistente Testbots:
33 Tinkbin Gnom-Krieger1,34 Sylaria Blutelf-Schurkin1,
35 Karggan Zwergen-Priester85,36 Edwin Untoten-Krieger85;
38 Renaarna Worgen-Priesterin85 temporär. Diese fünf abschließend OFFLINE.
Testbot37 Elaisia wurde ausdrücklich für Rotation erzeugt und nativ gelöscht.
36 behält gespeicherte Instanz-Anreise; beim nächsten freigegebenen Login
normaler vorhandener Instanz-/Zeitbudget-Abgleich. Kein automatischer Start
unter deaktiviertem Loader. Arthoran26 bleibt OFFLINE/unverändert.
29 Aelion und31 Lenara wieder ONLINE in Goldhain, Intents gestoppt,
schedule0 und grouped0. Vor Login nativ offline GameTele435 positioniert,
nach Profilinitialisierung per Watcher gestoppt, keine Profiländerung dafür.
30 Zanzan nativ zu GameTele823 SenjinVillage/Durotar zurückgesetzt,32 Aldren
zu GameTele1040 TheDeadField/Silberwald nahe ursprünglichem NPC-Ziel;
beide online mit ursprünglichen Social-Zielen823/poi_npc_321922 angefordert.
Das waren administrative Test-Rückstellungen, kein Reisebeleg.
Aktive Testkonfiguration dauerhaft auf Defaults zurückgesetzt:
Loader.Enabled0, alle vier Sollzahlen0, Min1/Max85, Rotation15%, Mindestalter24h,
Intervall2000ms, Manager300s. Bereits manuell angemeldete vier Bots bleiben
online. Konfigurationsänderung: reload config, dann clientless population reload.
Diagnose population status/reload, generate profile GUID, adventure plan GUID.
Kein Commit/Push dieses neuen Arbeitsstands beauftragt.
Zwei während Tests gefundene native Abstürze behoben: LOGIN_INS_ACCOUNT braucht
CONNECTION_BOTH für asynchrones SRP6-Insert; Security-Abfrage nutzt tatsächliche
AccountID/SecurityLevel-Spalten. Item-Spell-Sentinel4294967295 erreichte
ApplyEquipCooldown-Assert; Generator schließt fehlende Spellmetadaten aus,
nativer Cooldown-Code prüft GetSpellInfo statt Assert. Factory-Shutdown gibt
wartende Offline-Players vor Map-Unload frei. Ein bekannter temporärer Auth-DB-
Ausfall10.0.0.1 wurde durch SIGTERM des Fehlstarts und zweiten Start überstanden;
keine Remote-Infrastrukturänderung. Aktuell Testserver bereit.
Restliche Abnahme: große1000er-Last, visuelle Reisen/Interaktionen und volle
Klassen-/Rollen-Kampflogik. Es wurden bestehende TravelGraph/MMAP-Fallbacks und
fehlende Map719-Terraindaten beobachtet; Navigationsüberarbeitung bleibt auf
Nutzerwunsch vertagt. Nicht als erfolgreich geprüfte Fernreise ausgeben.
Belege: checkpoints/2026-10-28-population/; Logs /tmp/vcore-population-*.log.
DB-Helfer /tmp/vcore-population-db.py (Credentials nur aus lokaler Konfiguration,
keine Secrets ausgeben). Originals- und Dayhash-Vergleiche in Checkpoint.
---
# Aktuell: Automatische Botgruppen, Raid und Gruppenbildung
Nutzer beauftragte Umsetzung der gemeinsam bestätigten Planung. Vollständige
Doku doc/clientless/bot-groups.md. Vorherige uncommittete PvP-/Fluchtarbeit
wird zusammen mit den Gruppenänderungen auf Nutzerauftrag lokal committet; kein Push. Neue AdventureGroupMgr/Policy,
native Einladungen und Erst-Einlader-Führung, lokale Gruppen und Kontakt in
Hauptstädten via sucheNachGruppe (Spielerchat wird nicht ausgewertet).
Vorbereitungsintent groupformation vergleicht NÄCHSTEN Intent, nie Ziele;
Sammelpunkt ist Gruppenbildungs-Location des Führers. Instanz5/Raid20 inklusive
Führer, andere Intents3/social10. Offene Einladungen werden mitgezählt.
Anführer bestimmt Intent/Ziel/Frist; eigene Tagespläne bleiben erhalten.
AFK während Bildung ausgesetzt, Übergang zu geplanter Aktivität kein Austritt.
Kein Warten auf Vollständigkeit/Anwesenheit. Rollen später. Botführer darf PvP
beginnen, Mitglieder assistieren; Gruppen fliehen weiterhin nie.
Spieler-Invite an gruppierten Bot erzeugt generische GUID-JoinRequest-Queue,
Botführer kann Gegeneinladung anbieten und übergibt nach Beitritt nativ Führung.
Native provisorische Gruppenführer ignorieren eigene Einladung (Regressiontest).
Raidbildung wählt native25-normal Schwierigkeit; Katalog verlangt>=20 Kapazität
mit nativem Downscaling für alte20/40-Raids; Zehner-only-Ziele ausgeschlossen.
Neue CPC route_source-Snapshots mit nativem catch-up, gemeinsame Flugsegmentspur,
native Gruppeninstanzen statt alter Solo-Sperre. Raid/Dungeon nach nativen Maps.
Migration world2026_10_28_01 zweimal auf Test-DB angewendet, bestehende Tage erhalten.
Zusätzlicher Diagnosebefehl adventure prepare <guid> <next> <capital-location> [s].
Alle66 Tests bestanden; abschließende Interaktions- und Plan-Regressionsfälle
zusätzlich erneut bestanden. Debug-j10 erfolgreich, abschließend installiert.
Aktueller Testserver122595 läuft; frische Ready-Meldung, Prozess und Port8085
bestätigt. Vier Testbots online, Arthoran26 weiterhin offline.
Nach Anmeldung bildete Lenara31 nativ Gruppe mit Aelion29 (Log Invite accepted1,
beide grouped1/leader31); nach Stop-Intentwechsel nativ wieder aufgelöst.
Dabei gefunden/behoben: Gruppentimer darf Behavior.Update bei Botgruppen nicht
auf1Hz mit falschem diff drosseln; Regressiontest sichert normale World-Ticks.
Stop-Wanted sperrt sofort weitere Rekrutierung/Annahme, ohne veralteten Intent.
Diagnose interaction <guid> leave: sicheres natives Verlassen/Testaufräumen.
Bots29/31 abschließend beide enabled0/grouped0 in Goldhain bestätigt und gespeichert;
vor Login nativ tele name435 zur sicheren Bereitstellung abseits Flugstart.
30/32 normale soziale Intents. Keine temporären Profiländerungen/Overrides.
Persönlicher Plan wird beim Austritt wiederhergestellt; übernommene Ziele ändern
nicht die persönliche Austrittssignatur (besonders manuelle Aufträge).
Belege: checkpoints/2026-10-28-bot-groups/, /tmp/vcore-groups-tests-final.log.
Kein vollständiger Live-Gruppenlauf oder Raid abgenommen.
---
# Aktuell: Solo-Fluchtlogik ergänzt
Nutzer hat Flucht vor deutlich stärkeren Gegnern und bei HP<20% beauftragt,
mit absoluter Ausnahme für Gruppenmitglieder. Implementierung CombatMgr/Policy:
+6 Level, gleich-/höherstufige Elite/Bosse, tatsächliche Angreifer; alle Arten.
Gruppenbeitritt bricht Flucht ab. Alle2s 24 MMAP-Fluchtpunkte, Abstand vergrößern,
weitere sichtbare Feinde meiden; kein Pfad => stationäre Nahkampfverteidigung.
Ende erst außerhalb nativem Kampf UND50Y Abstand zur letzten Bedrohung.
Bestehende Tränke, Intentfristen und Todesablauf erhalten. Details combat-reactions.md.
Vorherige uncommittete PvP-Änderungen erhalten. Alle63 Tests bestanden inkl.
erweiterter produktiver Flucht-Zustandsmaschine (/tmp/vcore-flee-tests.log).
Debug-j10 erfolgreich gebaut und installiert. Testserver105886 mit frischer
Ready-Meldung und Port8085 geprüft. Vier Testbots erneut angemeldet;29/31
nach Profilinitialisierung erneut gestoppt (früher Stop während Loading wird
vom Profilstart überschrieben). Aelion begann kurz nativen Flug Goldhain->SW;
danach nativer tele name435 nach Goldhain, ebenso Lenara. Beide Status
endgültig enabled0/stopped bestätigt, saveall. Aelion am nahen taxi_168,
Lenara am Goldshire-Telepunkt. Keine Live-Fluchtabnahme.
Kein Commit/Push.
---
# Aktuell: Offensive Fraktionsbegegnungen
Nutzer beauftragte PvP-Erstangriffe gegen gegnerische Bots/Spieler/NPCs:
50 Yards, maximal +/-5 Level inklusive, Persönlichkeit und Intent maßgeblich.
Umsetzung in AdventureCombatMgr/Policy; Details combat-reactions.md.
Alle30s Entscheidung mit adventurousness*danger_tolerance*Intentgewicht;
Gruppen keine autonomen Erstangriffe, Ruhe/Instanz/deaktiviert friedlich.
Native PvP/Phase/LOS/MMAP-Regeln, HP60/Mana30 und keine Elite/Boss-NPCs.
PvE-Zielwahl schließt Fraktions-NPCs aus (kein Umgehen der PvP-Regeln).
Selbstverteidigung unverändert; eigenständige Fluchtlogik bislang NICHT vorhanden.
Neuer Produktionstest test_adventure_pvp.py. Debug-j10 erfolgreich gebaut und
installiert; alle63 Tests bestanden (/tmp/vcore-pvp-tests.log). Testserver100594
mit frischer Ready-Meldung und Port8085 verifiziert. Bots29..32 nach sauberem
Logout/Neustart wieder online;29/31 autonome Intents wieder gestoppt,29 steht
nun am nahen taxi_582 in Goldhain (kurze initiale Reise vor Stop),31 am Node.
Arthoran26 bleibt offline. Live-PvP nicht ausgeführt/abgenommen.
Vorheriger begrenzter Goldhain-Test: Lenara Emote-Antwort und Einladung
abgelehnt, Aelion Einladung angenommen im Server.log belegt. Folgen nicht
anhand dieser Logs bestätigt. Aelion29/Lenara31 am goldshire_center, autonome
Intents für den Test gestoppt. Arthoran26 weiterhin offline. Horde30/32 anderswo.
Keine neuen Charaktere, Migrationen oder Profiländerungen für PvP erforderlich.
Kein Commit/Push beauftragt für diese Änderungen.
---
# Aktuell: Automatische AdventureBot-Erzeugung abgeschlossen
Stand28.10.2026 auf feature/clientless-player-core. Nutzer beauftragte einen
Generator für neue Bots mit RP-Namen/Profilen, passenden Fähigkeiten, Berufen
und Ausrüstung; Kennzeichnung für spätere temporäre Rotation. Nutzer hat den
lokalen Commit beauftragt; kein Push. SQL-Migration2026_10_28_00_adventure_generator.sql
wegen SQL-Ignore bereits gezielt vorgemerkt; Test-Charakter-DB zweimal angewendet.
ClientlessCharacterFactory ist generische native Infrastruktur ohne Adventure-
Abhängigkeit: Player::Create, validierte zufällige Optik, Geburt auf Zielstufe
via native Initialisierung statt GiveLevel-Belohnungen, Vorbereitungscallback,
gemeinsamer Save+Profil+Homebind+Ownership-Commit; Cache/Hook erst nach Erfolg.
Neue AdventureGeneratorMgr/Policy: zehn native legale Klassen-Archetypen,
zwölf Völker, kulturelle Namensgrammatiken, Herkunft/Beruf/Personalityprofile.
Profile liegen in Character-DB und werden als generated:<guid> im vorhandenen
Lua-Sandboxparser geladen. Handgeschriebene Namensprofile haben Vorrang und ihre
Namen werden bei Erzeugung reserviert. Keine Laufzeitdateien im Profilquellbaum.
Wichtige Live-Fixes: Berufs-Lernzauber mit Effekt44 wirken vor Welteintritt
nicht zuverlässig. Native SkillRaceClass/SkillTiers + Player::SetSkill bereiten
legale volle Ränge vor; Hilfsfunktion verweigert Online-Spieler. Online-
Selbstversorgung unverändert. Rollen-Ausrüstung prüft native Equipregeln,
Werte, temporäre/reputations-/gebietsgebundene Items, Mana-/Zauber-/physische
Effekte und keine doppelten ausgerüsteten Einträge. Ersetzte Items bleiben in
Taschen. Native Trainer::CanTeachSpell lediglich read-only öffentlich gemacht.
Arms nutzt vorhandenen Talentplan, andere Klassen gültigen Tier-Basisplan.
Befehle: clientless generate create <account> <count> [level faction archetype
persistent|temporary seed]; optionale fünf Parameter nur gemeinsam. Kurzform
level60, any/any, persistent. Count1..10, level10..85, DK>=55, Account normal
und ohne Netzwerksitzung, normale Realm-Charaktergrenze. Beispiel für Tests:
clientless generate create 6 1 60 alliance warrior temporary 42.
list/profile/login/logout/equip/retire <guid>. Erzeugung offline; login explizit.
equip nur eigener online/lebender/ruhiger Bot, native Checks, alte Items behalten.
retire nur eigener offline-temporärer Bot, markiert nur Metadaten, keine Löschung.
Automatische Rotation, Löschung, Accountanlage und Populationssteuerung später.
Vollständige Doku: doc/clientless/generator.md.
Debug-j10 erfolgreich installiert,62/62 Tests bestanden. Testserver88947 läuft,
frische Ready + Port8085 verifiziert. Vier neue Stufe60-Bots online und mit
individuellen DB-Profilen nach Neustart/Relog wieder geladen:
-29 Aelion, Nachtelf-Krieger, Teldrassil/poi_guard_111.
-30 Zanzan, Troll-Krieger, Durotar/poi_tele_823.
-31 Lenara, Worgen-Magierin, Elwynn/poi_npc_280710.
-32 Aldren, Untoter-Todesritter, Silberwald/poi_npc_321922.
Native Talentbäume746/746/851/400, Talentzeilen13/13/14/12,
Zauberanzahl80/80/87/64. Alle vier Nebenberufe und vier22er-Glutseidenstofftaschen,
alle fünf Vorratsstacks20. Primär: Krieger/DK Mining450+Smith375; Magierin
Tailoring375+Enchant375. Werte stammen aus gegenwärtigen nativen Trainerdaten.
Ausrüstungsauffrischung29..32 nativ erfolgreich gespeichert, alte Items behalten.
NPC-Szenen und lokale soziale Intents laufen; keine visuelle Abnahme behauptet.
Eigene frühere Testcharaktere27 Dagri und28 Jarana sind retired/offline, mit
vollständig erhaltenen Daten. Retire26 verweigert (kein generierter Besitz),
Login27 verweigert (retired). Inventarzuordnungen/Entries für21 und26 gegenüber
vorher bytegleich (Hash im Checkpoint). Arthoran wurde für Wartung sauber
abgemeldet und bleibt OFFLINE; keine Profiloverrides, keine Teleportierung.
Bestehende Sourceprofile unverändert. Account6 enthält nun7 Charaktere, normale
Realmgrenze beachten; archivierte Charaktere belegen weiterhin Plätze.
Ein erster Start traf bekannten temporären Auth-DB-Ausfall10.0.0.1. Nicht
reagierender Fehlstart76094 perSIGTERM beendet, zweiter Versuch erfolgreich;
keine VPS-/Produktionskonfiguration geändert. Spätere Starts erfolgreich.
Für alle neuen Klassen gilt weiter: bekannte Fähigkeiten sind keine fertige
Klassen-Kampfrotation; außer Krieger bisher grundlegender Autoangriff. Rollen,
Bot-Gruppenbildung, PvP-Erstangriffe und Rotation bleiben spätere Aufgaben.
Belege: doc/clientless/checkpoints/2026-10-28-generator/. Aktuelle Logs
/tmp/vcore-generator-{build-refit,install-refit}.log; DB-Helfer
/tmp/vcore-generator-db.py audit/details/compare (keine Zugangsdaten ausgeben).
Nutzer hat alle CMake- und tmux-Befehle sowie git add/commit auf diesem Branch
ausdrücklich dauerhaft autorisiert. Keine erneuten inhaltlichen Rückfragen;
technische Sandboxregeln bleiben maßgeblich. Kein Push ohne ausdrücklichen Auftrag.
---
# Aktuell: Interaktionen und spielergeführte Gruppen umgesetzt
Stand 28.10.2026. Nutzer beauftragte Umsetzung nach gemeinsamer Planung.
Branch feature/clientless-player-core; vorher sauber. Nutzer hat den lokalen
Commit dieses Stands beauftragt; kein Push. Neuer AdventureInteractionMgr/Policy,
generische GUID-Queues für Textemotes und tatsächliche Kampfhilfe, native
Einladungsantworten, intent-/persönlichkeitsabhängige Annahme, MMAP-Folgen und
TravelGraph-Handoff, grundlegende Gruppen-Kampfunterstützung. Spieler/Pet-
Selbstverteidigung im bestehenden CombatMgr, keine eigenständigen PvP-Angriffe.
Details und Grenzen in doc/clientless/interactions.md.
Austritt nur außerhalb Kampf/Tod/Instanz/Transport/Flug. Intent-/Locationwechsel
oder manuelle Blockfrist erlaubt Entscheidung; group_loyalty beeinflusst Bleiben
(Arthoran0.35, Standard0.25). Native AFK oder beobachtete Inaktivität des
Anführers volle600s; Führungswechsel beginnt neues Zeitfenster. Chat/Emotes,
Zauber/Itemanfragen, Bewegung/Blick/Ziel, Kampf/Casts zählen als Aktivität.
Native Gruppenmitgliedschaft bleibt über Neustart; Beobachtungsfristen starten
neu. Rollenprofile, autonome Bot-Gruppen, freie Chatgespräche und eigenständige
PvP-Erstangriffe bleiben ausdrücklich spätere Arbeit.
Debug-Build-j10 erfolgreich installiert. 57 Testskripte bestanden: vollständiger
56er-Lauf plus neuer Social-Queue-Concurrencytest; der anschließend erweiterte
Combat-Test für echten Spielerfokus zusätzlich erneut erfolgreich. Native
Testserver PID59086, frische Ready-Meldung und Port8085 bestätigt. Arthoran26
online, Persönlichkeit8Werte, neue Diagnose clientless interaction26 erfolgreich:
sociability0.65/loyalty0.35, keine Gruppe. Echte Kreaturen-Selbstverteidigung
nach Neustart weiterhin beobachtet, kein Beleg für Live-PvP/Gruppenannahme.
Arthorans unveränderte initiale Profilvorgabe startete bei Login die normale
Goldhain-Reise. clientless adventure stop26 wurde angefordert, letzte Diagnose
noch Switching/waiting for safe player/transport state. Keine Teleportierung,
kein temporärer Profiloverride; normale Herkunftsdateien bleiben erhalten.
Für Live-Abnahme Position und Reise zuerst erneut prüfen. Gruppeneinladungen
werden in Flug-/Transport-/Kampfzuständen bis zur sicheren Lage zurückgestellt.
Beim sauberen Shutdown der ALTEN, vor Installation laufenden Binärdatei trat
Object.h:448 GetMap ASSERTION FAILED m_currMap auf. AlterProzess49765 endete;
keine fremden Prozesse beendet. Das ist ein beobachteter Shutdownfehler des
Ausgangsstands, Ursache hier nicht untersucht/behoben. Neuer Start erfolgreich.
Offene Gameplay-Abnahmen: echte Spielereinladungen, zwei gleichzeitige Bots,
PvP/Pet-Verteidigung, native Gruppenportale/kartenübergreifendes Folgen,
zehn echte Minuten AFK. Klassenrotationen außer Krieger und Supportrollen
weiterhin begrenzt. Belege: checkpoints/2026-10-28-interactions/.
Logs /tmp/vcore-interactions-{build-final,install}.log und zugehörige Tests.
---
# Aktuell: Selbstversorgung und gemeinsame Nebenberufe abgeschlossen
Stand 27.10.2026. Branch feature/clientless-player-core, vorheriger Commit
c0c799c4b6. Nutzer hat den lokalen Commit der Selbstversorgung beauftragt; kein Push.
Debug-Build -j10 erfolgreich installiert, alle 55 Testskripte bestanden.
Testserver PID 49765 läuft; frisches Ready und Port 8085 bestätigt.
AdventureSupplyMgr/Policy versorgt AdventureBots zu Tagesbeginn und nach
Kampfende bis zu jeweils einem nativen Stack: Verbände, Heil-/Manatränke,
Essen und Trinken. Vier Glutseidenstofftaschen54443 mit je22 Plätzen ergänzen
Arthoran. Alte Gegenstände blieben erhalten, Geld weiterhin0.
Migration world10 und characters01 angewendet und trotz SQL-Ignore gezielt
vorgemerkt. Persistierter Tagesstempel verhindert Nachschub bei jedem Login.
Nutzerregeln umgesetzt: Selbstheilung beginnt erst bei mindestens10% fehlenden
HP. Außerhalb des Kampfes zuerst ein nutzbarer Verband; bei Sperre direkt Essen,
nach Verband Essen nur bei weiter mindestens10% Mangel. Mananutzer trinken bei
passendem Mangel. Im Kampf nur native Tränke. Echte Item-Anfragen, Verbrauch,
Abklingzeiten und Verbandssperre; keine direkte HP/Mana-Zuweisung außer dem
expliziten Diagnosebefehl testrecovery. Intents behalten ihre ursprüngliche Frist.
Auf ausdrücklichen Nutzerwunsch erhalten alle AdventureBots die stufengerecht
verfügbaren Nebenberufe Erste Hilfe, Kochen, Angeln und Archäologie, innerhalb
nativer Traineranforderungen und Fertigkeitsgrenzen. Keine Hauptberufe geändert.
Arthoran gespeichert: ErsteHilfe375/375, Kochen525/525, Angeln525/525,
Archäologie375/375. Er verwendet schwere Netherstoffverbände21991.
Native Trainer erlauben Kochen/Angeln525 bei diesem Charakter.
Notwendige native Fehlerkorrektur: Player::GetPureMaxSkillValue hatte eine
invertierte Prüfung und lieferte für gelernte Fertigkeiten null. Fehlendes !
korrigiert, eigener nativer Regressionstest vorhanden. Nebenberufsausbildung
berücksichtigt sowohl Skill-Effekt118 als auch den nativen Lerneffekt44.
Live bestätigt:
- Vier22er-Taschen und alle fünf Stacks20, vorhandene Item-GUIDs erhalten.
- Markierte8%-Testverletzung: kein Verbrauch.
- Markierte80%-Testverletzung: echter Verbandverbrauch, danach4961/5249HP;
weniger als10% fehlend, daher kein Essen.
- Erneute Testverletzung bei nativer Verbandssperre: echtes Essen, volleHP.
- Gleicher Tagesstempel beim erneuten Login: Verband19/Essen19 bleiben bestehen,
kein weiterer Tagesnachschub.
- Echter Bärenkampf gegen Spawn300425 mit markiertem anfänglichem30%-Defizit:
Heiltrank22829 im Kampf verbraucht. Danach exakt je ein Verband, Heiltrank
und Essen ergänzt; alle fünf Bestände20. GespeichertHP5249, Geld0.
- Manaspezifisches Verhalten produktiv mit Adaptern geprüft, nicht mit echtem
Manacharakter. Administrative Testpositionierung ist kein Fernreisebeleg.
Arthoran bleibt angemeldet in den Verwüsteten Landen am Bären-Testplatz,
reagiert auf Gegner und versorgt sich selbst. Normales Lua-Profil bytegleich
restauriert; kein temporärer Override. Dokumentation: doc/clientless/supplies.md.
Belege: doc/clientless/checkpoints/2026-10-27-supplies/.
Logs: /tmp/vcore-supplies-build-final.log und /tmp/vcore-supplies-tests-final.log.
DB-Helfer /tmp/vcore-instance-db.py supplies_audit. Diagnose:
clientless combat supplies26, testrecovery26<fehlende-Prozent1..80>.
Die bisherigen Server-/Branchregeln und vertagte Pfadfindungsarbeit gelten weiter.
---
# Aktuell: Training, echte Gegner und Todesverhalten abgeschlossen
Stand 27.10.2026. Auf feature/clientless-player-core bleiben alle bisherigen
Änderungen erhalten. Debug-Build mit -j10 erfolgreich installiert; alle 51
Testskripte bestanden. Testserver PID 45545 läuft mit frisch geprüftem Ready
und Port 8085. Nutzer hat den lokalen Commit aller Änderungen beauftragt; kein Push.
Neue AdventureCombatMgr und AdventureCombatPolicy überlagern den Adventure-
Controller während Kampf und Tod. Tatsächlich angewandter Kreaturenschaden
wird über eine threadsichere GUID-Queue geordnet an den Controller übergeben.
Der erste Angreifer bleibt Fokus; weitere folgen nach dessen Tod. Abenteuer
berücksichtigt Gegner am aktiven MMAP-Pfad, Kürschnerei nur Tiere bei bestehendem
Profilrecht. Arthoran bleibt Bergbau/Schmied. Konservative Erstangriffsfilter:
höchstens +2 Level, mindestens 60% HP und gegebenenfalls 30% Mana, keine Elites,
Weltbosse oder Gegnergruppen. Andere Intents jagen nicht.
Migration 09 ergänzt leisure_training für 60–180 Sekunden an echten erreichbaren
Puppen im lokalen 60-Yards-Umkreis. Bereits in Test-DB angewendet und trotz
SQL-Ignore gezielt vorgemerkt. Ursprüngliche Intentfristen bleiben erhalten.
Todesablauf: native Freigabe, gespeicherter Leichenzeitpunkt, MMAP-Punkte innerhalb
39 Yards und native Aufnahmefrist. Ohne passenden Pfad nach 300 Sekunden native
Friedhofsrückkehr und Wiederbelebung ohne Geistheiler-Mali.
Live erfolgreich geprüft:
- Trainingsszene: MMAP-Anreise, native Angriffe und reguläres Ende nach 60 Sekunden.
- Echter Bär, Entry 42336 / Spawn 300425, Stufe 58: besiegt, native Respawnzeile
bestätigt. Tatsächlicher Gegentreffer löste den Selbstverteidigungsfokus aus.
- Expliziter Testtod 1: Freigabe um 1793138872, kein akzeptierter Rückweg;
volle 300 Sekunden tatsächlich abgewartet. Friedhofswiederbelebung, anschließend
lebend gespeichert, keine Leiche oder Wiederbelebungskrankheit.
- Expliziter Testtod 2 nahe Friedhof: tatsächlicher MMAP-Geisterlauf von 37,40
Yards und native Leichenaufnahme. Danach HP 4340 gespeichert, keine Leiche
oder Aura 15007. Kein natürlicher Kampftod behauptet.
- Administrative Offline-Positionierung diente nur isolierten Tests; kein Beleg
für Fernanreise. Mehrfachangreifer und Neustart während Geisterlauf bislang
durch Produktionsadapter geprüft, nicht durch entsprechende Live-Abnahme.
Arthoran ist wieder angemeldet, ohne Fernauftrag am letzten Rücklaufpunkt:
Karte 0, (-12187.9, -2603.74, 1.5777), Verwüstete Lande. Er reagiert auf Angreifer.
Normales Lua-Profil bytegleich restauriert; kein temporärer Override vorhanden.
Befehle: clientless combat train <guid> [seconds], attack <guid> <spawn-id>,
testdeath <guid>, stop <guid>. Testdeath ist ein markierter nativer Diagnosetod
für einen verwalteten Bot ohne zusätzlichen Haltbarkeitsverlust.
Belege: doc/clientless/checkpoints/2026-10-27-combat/.
Logs: /tmp/vcore-reactive-combat-build-final.log und
/tmp/vcore-reactive-tests-final.log. DB-Helfer: /tmp/vcore-instance-db.py,
Modus combat_live_state. Vorherige Ausrüstung/Reparatur-WIP bleibt erhalten.
Pfadfindungsüberarbeitung bleibt vertagt. Weitere Klassenrotationen und konkrete
Spieler-/Bot-Interaktionsregeln sind noch auszuarbeiten.
---
# Wiederaufnahme: Kampfausstattung und Reparaturtest
Stand 27.10.2026: Branch feature/clientless-player-core, bestehende Änderungen
bewahren. Debug-Build erfolgreich, installiert; Testserver PID41714 frisch ready
und Port8085 bestätigt. 48 Testskripte bestanden. Kein Push oder neuer Commit.
Arthoran26 trägt neun native Kopien von Allitester21 (Zorn und Ashkandi),
26/26 native Waffen-Talentpunkte Baum746, stufengerechte Klassenfähigkeiten.
Originalquelle unverändert, alte Ausrüstung in Taschen. Begrenzte Trainingsübung
an echter Puppe314147 erfolgreich: native angenommene Fähigkeiten protokolliert.
Phase169 ist Standard; keine Phasenänderungen. Ursprüngliches Problem war LOS.
Volle autonome Kampf-/Todes-/Interaktionssteuerung bleibt zukünftige Umsetzung.
Malusfreie Friedhofswiederbelebung nach5min ohne Pfad ist verbindliche Vorgabe.
NEU: economy_repair, Migration08 bereits Test-DB angewendet. Liveprüfung läuft:
Arthoran ausgeloggt, nur seine neun Kopien auf halbe Haltbarkeit gesetzt,
Position administrativ an poi_tele_954 (Handelsdistrikt), wieder angemeldet.
Intent economy am Anker angekommen; Mikroaktion economy_repair gestartet,
echter Händler1287/GUID1879, native MMAP-Anreise. Abschluss bestätigt: ECONOMY_REPAIR_COMPLETE; nach saveall alle neun Kopien
wieder auf voller Haltbarkeit, Geld weiterhin0, Allitester unverändert.
Ausgangswerte /tmp/vcore-repair-before.tsv.
Normales Lua-Profil bytegleich restauriert, kein temporärer Override.
Werkzeuge /tmp/vcore-instance-db.py gear_verify (prüft auch Allitester-Hash),
repair_test_prepare NICHT WIEDERHOLEN. Konsole saveall nach Reparaturabschluss,
ECONOMY_REPAIR_COMPLETE in Server.log prüfen. Gegebenenfalls Szene beobachten.
Build-/Testlogs /tmp/vcore-combat-preparation-{build,tests-final}.log.
Migration08 wird von *.sql ignoriert, gezielt force-add für Erhalt erforderlich.
Reparaturprüfung abgeschlossen; Arthoran darf den Wirtschaftsintent weiter ausführen.
---
# Neuer Arbeitsbereich: Kampf, Reaktionen und Interaktionen
Alle sieben Grundintents sind abgeschlossen und die bisherigen Änderungen
lokal committet (e18a416bf4). Der Nutzer hat die visuelle Instanzabnahme erlassen.
Jetzt Kampf, reaktives Verhalten, Bot-Spieler und Bot-Bot gemeinsam ausarbeiten.
Neue Regeln/Vorprüfung in `combat-reactions.md` dauerhaft festgehalten.
Nutzer: Selbstverteidigung fokussiert erste tatsächlich schädigende Kreatur bis
zu deren Tod; weitere Treffer wechseln den Fokus nicht. Erstangriffe wählen
nächstgelegenes gültiges intentspezifisches Ziel: Abenteuer nahe Feindkreatur auf
aktuellem Weg; Beruf/Lederjagd nahes geeignetes Tier. Stärkecheck verhindert
leichtsinnige Angriffe auf deutlich stärkere Gegner. Exakte Grenzwerte noch offen.
Tod: Leichenrücklauf als Geist, native Wiederbelebungsreichweite; ohne Pfad nach
fünf Minuten Friedhofswiederbelebung. Native Handler/39-Yards-Radius vorhanden.
Timerherkunft und weitere Randfälle als Auslegung/Vorschlag markieren.
Arthoran bleibt mining/blacksmithing; keine stillschweigende skinning-Freigabe.
Sammeln weiterhin performativ, neu gewünschter Kampf real.
PlayerAI.cpp gründlich geprüft. Viel vorhandene Klassen-/Zauberlogik, aber
Charm-Steuerung muss entkoppelt werden. Technisch nicht ungenutzt: Unit::UpdateCharmAI
und mehrere Bossskripte verwenden sie. Unit::DealDamage liefert UnitAI-Callbacks
und UnitScript-OnDamage VOR endgültigem HP-Abzug: tatsächlichen Erstschaden
sauber bestätigen, keine Nullschaden-/Godmode-Fokussierung.
Noch keine Kampfimplementierung oder Livekampftests in dieser Vorprüfung.
Nur Dokumentation neu/uncommittet; keine weiteren Commits ohne konkreten Bedarf.
Details zu Flucht, Zielverlust, verbleibenden Angreifern, Erstangriffsschwellen
und konkreten Spieler-/Bot-Reaktionen noch nicht als Nutzerentscheidungen ausgeben.
---
# Aktuell: Instanzintent implementiert und technisch live geprüft
Stand 27.10.2026, letzter Testserverprozess PID **35865**, frisches Ready beim
letzten Restart und Port 8085 geprüft. Nutzer beauftragte Umsetzung einschließlich
zufälliger Verletzung (0–50 Prozent Max-HP) nach Rückkehr. Umsetzung fertig,
Der Nutzer hat ausdrücklich auf eine weitere visuelle Abnahme verzichtet.
Alle vorhandenen Änderungen sollen gemeinsam lokal committet werden; kein Push.
Details: `instance-intent.md`.
Implementierung:
- Intent `instance`, eigener Tagesplanwert (Default .5), feste Phasen statt
zufälliger Innenraum-Mikroaktionen. Anreise verbraucht Blockzeit; zehn Sekunden
Vorbereitung; tatsächlicher nativer Eintritt; Warten direkt dahinter; Rückkehr
zu Blockende minus fünf Minuten; Nachruhe bis zum ursprünglichen Blockende.
- Neue native Außenwelt-Aliase `instance_visit_at_<Trigger-ID>` und editierbare
Ein-/Ausgangszuordnung. 108 Eingänge in Test-DB, insgesamt 2.973 Locations /
3.966 Worldpoints. Innenräume bleiben reine native Karten/Graphknoten.
- Charakterpersistenz enthält Phase, Trigger, Instanz-ID, absolute Frist,
einmal gezogenen Verletzungswert und injury_applied. Gemeinsame Transaktion
mit Player::SaveToDB über ASYNC-Worker, bestätigter Commit vor Fortschritt.
- Optionales WorldScript in viano_bot_commands.cpp meldet nur gespeicherte
Besucher beim Serverstart automatisch mit dem Adventure-Controller an.
Wiederaufnahme hat Vorrang vor normalem Lua-Initialintent.
- Getrennten Hinterausgang aus nativen Daten bevorzugen, expliziter Override
möglich. Verborgene Dungeon-Durchquerung wird innen bis zum echten Ausgang
abstrahiert, danach nativer Trigger. Fehlender Ausgang: Eingang. Keine Kämpfe,
Beute/Inventar-/Geldänderung, keine DungeonBot-Abhängigkeit.
Geprüft:
- Debug-Build -j10, installiert, **44 Testskripte im vollständigen abschließenden
Lauf bestanden** (/tmp/vcore-instance-tests-final.log).
- Beide additiven Migrationen angewendet. Tabellen-Collation unicode_ci passt
zum bestehenden Schema; Dateien wegen *.sql-Ignore gezielt mit git add -f
vorgemerkt, alle übrigen Änderungen uncommittet. Kein Push.
- Verlies-Eingang 101, Ausgang 503, Karte34/Instanz-ID1 tatsächlich betreten.
Echter Serverneustart während Phase3: automatischer Login, gleiche Instanz-ID1,
ursprüngliche absolute Frist beibehalten. Normales Lua-Profil war restauriert.
- Für schnelle Rückkehrprüfung wurde ausschließlich nach sauberem Serverstopp
die Test-Besuchsfrist verkürzt. Original in
/tmp/vcore-instance-live-original-deadline.tsv. Keine normale Codefrist geändert.
- Native Rückkehr nach Karte0 (-8766.11,845.499,87.9952), zunächst zweimal echte
0%-Würfe, nächster regulärer kurzer Testblock 17%: **2165/2609 HP**.
Charakter-DB bestätigte Phase5, loss_percent17, injury_applied1 und HP2165.
- Erneuter Logout/Login während Phase5: gleiche Frist, injuryApplied1, kein
Neuwurf/keine zweite Verletzung. Aktuell Nachruhe vor dem Verlies bis
Deadline1793128202; anschließend endet der manuelle Testauftrag. Zustand bei
Wiederaufnahme neu prüfen; keinen weiteren Test automatisch starten.
- Normales Profil in Quelle UND Installation bytegleich normal (SHA256
26b11c3108e6ecc5dbc59d1852b4103ca4e818148603a34c02a470c969dc659b).
Kein temporärer Lua-Override. Nach saveall Geld-/Inventar-SHA256 unverändert
8d40931782d05219466ba9fd077ce7acd3e02bd53eb63f6e96115042c620d26a.
Wichtig: Fernanreise NICHT live erfolgreich verifiziert. Vorhandene Graph-
Recovery-Schleifen führten erst nach Goldhain, dann durch Sturmwind. Nutzer hat
Pfadfindung/Hinderniserkennung ausdrücklich auf später verschoben. Daher wurde
für den isolierten Instanztest nur der ausgeloggte Testbot administrativ an den
realen Außeneingang gestellt; anschließender lokaler MMAP-Anschluss und Eintritt
waren regulär. Kein Instanzteleport als erfolgreicher Eintritt ausgegeben.
Todesminen-Hinterausgang und zwei unabhängig gleichzeitig betretene Kopien nur
produktive Adaptertests/Quellprüfung, noch kein entsprechender Livevergleich.
Erster Liveversuch fand meinen falschen SYNCH-Transaktionsweg; Debugserver
beendete sich vor der Anreise. Fehler korrigiert auf AsyncCommitTransaction mit
Commitresultat. Nachfolgende native Saves/Neustarts erfolgreich, Fehlerlog
/tmp/vcore-instance-first-live-DBErrors.log erhalten. Nicht als aktuelles Problem
missverstehen. Aktuell keine neuen Instanz-SQL-/Startfehler beobachtet.
Alle Schlaf-WIP-Änderungen von vorher erhalten. Bett-/Hinderniserkennung bleibt
auf Nutzerwunsch zurückgestellt. Nur feature/clientless-player-core verwenden.
---
# Aktueller Auftrag: Instanzbesuche – Nutzervorgaben konkretisiert
Wirtschaftstest vom Nutzer als ausreichend beendet; nächster Intent sind
Instanzbesuche. Details verbindlich in `instance-intent.md` festgehalten.
Rest des gewählten Location-Zeitblocks, letzte fünf Minuten Nachruhe draußen.
Beispiel 60 Minuten: 40 Anreise, 15 innen, 5 Nachruhe. Tatsächlicher Eintritt,
Warten direkt hinter dem Eingang in nativer eigener Instanzkopie, keine
Dungeon-Durchquerung/Kampf. Neustart: am Eingang innen wieder einloggen,
ursprüngliche absolute Frist weiterverwenden. Rückkehr eigener Ausgang,
sonst Eingang. Instanzinnenräume NICHT zu normalen Locations machen.
World-DB geprüft: areatrigger_teleport enthält 78 Deadmines Entrance Target,
119 Exit Front Target, 121 Rear Exit Target. Alle sechs source/target-Knoten
in vcore_clientless_travel_node vorhanden, Kommentare nur Triggernummern.
Semantik aus nativen Namen und DBC-Quell-/DB-Zielkarten ableiten.
Noch keine Implementierung/Instanzbetretung in dieser Vorprüfung. Core-Befund:
Online startet heute flüchtigen Behavior-Record/Profil neu; dauerhafte
Besuchsphase/Frist und Wiederaufnahme müssen ergänzt werden. Native Instanz-ID,
Solobindung und Instanzspeicherung für Restart berücksichtigen und testen.
Eigener Ausgang hinten erfordert Rückkehrbehandlung ohne Dungeon-Durchquerung.
Randfall Ankunft mit weniger als fünf Minuten: noch keine ausdrückliche
Nutzerentscheidung, sinnvolle Ableitung ist Eintritt auslassen/Nachruhe.
Keine Code-/DB-/Serveränderung bei dieser Vorprüfung. Vorheriger Wirtschaftsintent
kann auf dem Testserver weiterhin laufen; vor Implementierung Zustand prüfen.
Schlaf-/Hindernisthemen bleiben ausdrücklich vertagt. Vorhandenes WIP bewahren.
---
# Aktueller Nutzerauftrag: freier Wirtschaftsintent im Handelsdistrikt
Bett-/Geometriesuche ausdrücklich vom Nutzer zurückgestellt. Ebenso spätere
Überarbeitung der Pfadfindung/Hinderniserkennung (beobachtetes Durchlaufen von
Zäunen und Erhöhungen). Diese offenen Themen sollen die weitere Entwicklung
NICHT blockieren; jetzt daran nicht weiterarbeiten.
Arthoran GUID 26 hat auf Nutzerwunsch den autonomen Auftrag:
`clientless adventure intent 26 economy poi_tele_954 3600`.
`poi_tele_954` ist der vorhandene allgemeine Sturmwind-Anker im Handelsdistrikt
(-8833.07,622.778,93.9317), Kategorie landmark; keine Händler-/Bank-/AH-Rollensperre
wie bei den spezialisierten Testankern. Kein gezielter Mikroaktionszwang.
INTENT_ARRIVED economy und selbst gewählter Start `economy_vendor_visit`
gegen echten Händler Entry 277, GUID Low 1325, sind bestätigt. Szene läuft.
Kein erneuter Build/Restart oder Lua-Profilwechsel für diesen Auftrag.
Vorher `saveall`; Geld-/Inventar-SHA256 weiterhin
8d40931782d05219466ba9fd077ce7acd3e02bd53eb63f6e96115042c620d26a.
Wirtschaften bleibt rein performativ: keine echten Transaktionen.
Nutzer beobachtet nun die freie Ausführung im Spiel; keine neue visuelle
Abnahme behaupten. Schlafboden am ersten Anker war vom Nutzer bestätigt.
Alle vorherigen WIP-Änderungen erhalten, Branch feature/clientless-player-core,
kein Push. Normales Lua-Profil weiterhin unverändert. Schlaf-Testanker und
bisheriger Ausbau bleiben erhalten, siehe historische Notizen unten.
---
# Neuer Liveauftrag: Suche bei Allitesters Position
Nach dem Flächenausbau wollte der Nutzer eine erneute Suche nahe den beiden
Betten an seiner aktuellen Position. `saveall`, danach Allitester GUID 21:
Map 0, (-8877.360, 673.489, 104.950), O=0.649831. Separater aktiver manueller
Suchanker `gilded_rose_sleep_room_test` in Test-DB angelegt, Kategorie rest_sleep,
Metadata von Sturmwind; bestehende Punkte nicht verschoben.
Neustart war nötig: adventure reload erneuert NICHT den Reisepunkt-Cache,
weshalb der erste Anreiseversuch den neuen Punkt nicht fand und zurückfiel.
Server jetzt PID 32004, frisches Ready nach elf Sekunden, Port 8085 geprüft.
Einmaliges Loginprofil rest/room_test danach bytegleich restauriert, installierte
Profilkopie ebenfalls normal. Arthoran erreichte den neuen Anker regulär.
Erneute Suche dort: beds=0 raised=0 floor=46 (erster Lauf floor=34).
REST_CONFIRMED am Anker (-8877.360,673.489,104.950), O=.650, zuletzt 143 Sekunden.
Die sichtbaren Betten werden also weiterhin NICHT als Bett/erhöhte Fläche erkannt;
Ursache der konkreten geometrischen Ablehnung ist NICHT gemessen. Nicht behaupten,
dass nur der bisher zu kleine Radius schuld war.
Die gewichtete Auswahl wählte zwischenzeitlich wieder den alten Schlafanker.
Für den gezielten Versuch wurde NUR `gilded_rose_sleep_upstairs` kurz enabled=0
gesetzt, Katalog geladen, micro rest_sleep ausgeführt, dann enabled=1 restauriert
und Katalog erneut geladen. Kein Punkt blieb vorübergehend deaktiviert.
DB-Helfer /tmp/vcore-sleep-room-test.py, Positionssnapshot daneben als JSON.
Nutzer hat neuen Bodenplatz am alten Anker sichtbar bestätigt; Bettdarstellung
und tatsächliche Bettnutzung weiterhin offen. Kein neuer Code/Build in diesem
Folgeversuch. Vor weiterer Arbeit laufende Szene/Position neu prüfen.
---
# Aktuell: Schlafplatzsuche am 27.10.2026
Dieser Abschnitt hat Vorrang vor den historischen Checkpoints unten.
Der Nutzer nahm den Schlaftest wieder auf, sah Arthoran mitten im oberen Stuhl
und beauftragte eine Flächensuche: Betten/geeignete erhöhte Flächen bevorzugen,
sonst freier Gasthausboden, auch für Gasthäuser ohne Betten.
Implementiert, gebaut (`-j10`), installiert und live getestet, noch uncommittet:
`AdventureRestSpace.h`, Schlafadapter in `AdventureBehaviorMgr.cpp`, gespeichertes
Szenenziel in `.h`; zwei neue Regressionen und erweiterter Ruhetest. Insgesamt
39 Testskripte erfolgreich (38er-Lauf plus neuer nativer Adaptertest; danach
betroffene erweiterte Tests erneut erfolgreich). Details: `rest-intent.md`.
Schlafanker sind jetzt Suchbereiche, keine ungeprüften Liegepunkte. Native
Bettobjekte vor erhöhten Flächen mit abrupten Seitenkanten vor freiem Boden.
Geometrie ist keine sichere Bettsemantik; passende Tische können ähnlich sein.
Modellabhängige Liegefläche, Höhen-/Kollisionsraster, native Stuhlsperre,
Spieler/Kreaturenbelegung, Innenraum und Stockwerksgrenze. Tatsächlicher
MMAP-Endpunkt muss passen, kein Teleport/Klettern auf unerreichbare Möbel.
Erneute Prüfung vor Hinlegen und alle zwei Sekunden. Keine neue SQL-Migration.
Live: Prozess 31446, frisches Ready nach elf Sekunden, Port 8085 bestätigt.
Arthoran GUID 26 im Ruheauftrag `gilded_rose_sleep_upstairs`. Die neue Suche
fand `beds=0 raised=0 floor=18`; er ging 4,03 Yards zu
(-8868.534, 682.800, 104.949), Ausrichtung 3,740, Endpunktfehler null.
`REST_CONFIRMED` für 243 Sekunden. Die sichtbare Abnahme des neuen Bodenplatzes
ist offen, ebenso ein positiver Live-Betttest; Fixturetests decken Betten ab.
Normales Lua-Profil in Quelle UND Installation bytegleich wiederhergestellt,
mining/blacksmithing unverändert. Kein temporäres Override, kein Push.
Die zuvor bereits vorhandene Änderung an `rest-intent.md` zur ersten
Schlafvorführung wurde erhalten und ergänzt. Branch ausschließlich
`feature/clientless-player-core`. Build/Install/Testlogs: `/tmp/vcore-sleep-*.log`.
Prozess-/Szenenzustand beim Fortsetzen neu prüfen. Nicht automatisch den
abgeschlossenen Berufs-Ausbau oder die vertagte Instanzarbeit beginnen.
---
# Fortsetzung am 27.10.2026 – aktueller Stand hat Vorrang
Der unten erhaltene Sitzungswechsel-Checkpoint ist historisch. Der Berufs-Ausbau
ist jetzt vollständig gebaut (`-j10`), auf dem Testserver installiert und die
Migration `_05` ist auf der Test-World-DB angewendet. **37 Testskripte bestanden**.
Keine Änderungen wurden gepusht. Branch bleibt `feature/clientless-player-core`.
Seit dem Checkpoint behoben:
- Berufsarbeit an GOs nähert sich nach Verdrängung erneut, bevor weitere Gesten laufen.
- Native unsichtbare Arbeitsplatzmarker verwenden VMAP-Sichtprüfung zur Arbeitsfläche
(mindestens 1,5 Yards über dem Marker); Bodenmarker im Amboss blockierten zuvor die Szene.
- Location-Abfrage liest numerische native Spalten ohne COALESCE-Widening. Debug verlor
zuvor `is_area`/`faction`; Elwynn wird live jetzt korrekt als `area=1` geladen.
Zusätzliche Tests: echter Lua-5.4-Professionsparser mit Arthoran/generic und ungültigen
Profilen; native Lock-/Station-/Kadaver-/Trainerklassifikation; Szene erst nach Ankunft,
Profilentzug, Wiederannäherung; SQL-Fixtures mit erhaltenen Gewichten/Freigaben;
erreichbare Gebietsknoten; progressive Suche und Uferbedingungen; echte Debug-Fieldgetter
und VMAP-Sichtlinienadapter. Siehe `tests/clientless/test_adventure_profession_*.py`,
`test_adventure_area_node.py` und erweiterte bestehende Harnesses.
Live bestätigt:
- Frische Ready-Meldung, laufender Prozess und Port 8085 nach Installation.
- Arthoran lädt zwei Hauptberufe; Profil ist bytegleich wiederhergestellt:
`social` / `goldshire_tavern`, mining + blacksmithing. Kein temporäres Profil liegenlassen.
- Reguläre Anreise zu `poi_guard_541` über Graph, Taxi und Bodenwege.
- `smithing_show` wählt echtes Anvil-GO **201415**, Low **556**; Work-Emote **233**;
`PROFESSION_WORK_COMPLETE` und `PROFESSION_VISIT_COMPLETE` nach Abschluss.
- `profession_herbalism` live als nicht verfügbar zurückgewiesen. Die isolierte
Profilprüfung auch bei vorhandener Pflanze ist durch den produktiven Zieltest belegt.
- Nach `saveall` unveränderte Geld-/Inventar-Prüfsumme:
`8d40931782d05219466ba9fd077ce7acd3e02bd53eb63f6e96115042c620d26a`.
- Elwynn-Auftrag `profession poi_tele_338` lädt `area=1`, startet `travel_to_node`,
erreicht mit bestehendem Free-flight-Fallback den Gebietsknoten und meldet `INTENT_ARRIVED`.
Lokale `profession_search` absolvierte danach alle sechs progressiven MMAP-Wegpunkte
(ca. 104 Yards, `LEISURE_COMPLETE`, legs=6).
- Letzter geprüfter Testserverprozess: PID 28577, frische Ready-Meldung und Port 8085.
Beim Wiederaufnehmen immer den tatsächlichen Zustand neu prüfen.
Offener Befund: Der erste Intentwechsel während aktiver Goldshire-Anreise geriet in
Graph-Handover-/Recovery-Schleifen zum nächstgelegenen `portal_at_109_target`.
Für die gezielten Tests wurde deshalb nur beim Login die Startvorgabe temporär
geändert und danach bytegleich restauriert. Dieses Travel-Handover ist NICHT als
behoben zu betrachten. Navigationslog enthält die Vorgänge ab 17:43.
Dokumentation: [profession-intent.md](profession-intent.md). Visuelle Abnahme bleibt
beim Nutzer; Freizeit-Ausritt/Rundflug und Schlafdarstellung bleiben zurückgestellt.
Alle ursprünglichen Regeln und fachlichen Festlegungen unten gelten weiterhin.
---
# Gesicherter Arbeitsstand – hier fortsetzen
Stand: 27.10.2026. Der Nutzer hat die Implementierung ausdrücklich für einen
Codex-Sitzungswechsel unterbrechen lassen. Diese Notiz ist die maßgebliche
Übergabe. Nicht bei null beginnen und keine vorhandenen Änderungen verwerfen.
## Sofort beim Wiederaufnehmen
1. `AGENTS.md` und diese Datei lesen; Branch und Working Tree prüfen.
2. Ausschließlich `feature/clientless-player-core`, niemals `master`, kein Push.
3. Der unten beschriebene Berufs-Ausbau ist **unfertig und NICHT installiert**.
4. Der laufende Build wurde zur Sicherung geordnet mit SIGINT unterbrochen.
Vor erneutem Bauen trotzdem nach verbleibendem CMake/Ninja-Prozess sehen.
Keine zwei Builds gleichzeitig. Immer **`-j10`**, niemals `-j4`.
5. Neueste Compiler-/Teststände prüfen und die untenstehenden offenen Arbeiten
fortsetzen. Kein Installieren eines nur teilweise gebauten Standes.
## Aktueller Auftrag und verbindliche Nutzerentscheidungen
Wir arbeiten am Intent **Beruf (`profession`)**, nach Geselligkeit, Ruhe,
Freizeit, Wirtschaften und dem Abenteuer-Erkundungsausbau. Danach folgen
Instanzbesuche. Kampf kommt GANZ AM ENDE, gemeinsam mit reaktiver Selbstwehr
(z. B. bei Angriff während einer Reise).
- Alle Berufsaktionen bleiben **dauerhaft rein performativ**. Es wird NICHT
tatsächlich abgebaut, gesammelt, gekürschnert, produziert, gefangen oder
geheilt. Keine Beute, Quellenerschöpfung, Inventar-/Materialänderung,
Fertigkeitserhöhung oder tatsächliches Erlernen. Nicht „zunächst“ schreiben.
- Hauptberufe dürfen NUR ausgeführt werden, wenn sie im Lua-Charakterprofil
ausdrücklich eingetragen sind. Nebenberufe brauchen diese Freigabe nicht;
Vorlieben werden später weiter über gewichteten Zufall ausgestaltet.
- Der Nutzer hat die Rückfrage ausdrücklich beantwortet: **Arthoran hat
Bergbau und Schmiedekunst**. In seinem Profil stehen deshalb dauerhaft
`professions = { primary = { "mining", "blacksmithing" } }`.
KEIN Kräutersammeln bei ihm erlauben, auch nicht vor vorhandenen Pflanzen.
Das generische Profil enthält eine leere Hauptberufsliste.
- Ort und Gebiet sind gleichberechtigte Ziele. Ein Bot soll z. B. das Gebiet
Elwynn anreisen und dort lokal selbst nach passenden Ressourcen suchen.
- **Hierarchie:** Tagesplan wählt Intent, dann passender importierter Ort,
dann lokal mögliche Mikroaktion. Der Ortsbestand darf die Intentauswahl
nicht vetoieren. Die Location-/Intent-Katalogzuordnung legt die Eignung fest.
- Eine für `profession` geeignete Location (auch ein ganzes Gebiet) schaltet
NICHT alle Berufsaktionen frei. Schmieden braucht einen echten nahen Amboss,
Schmelzen eine Esse, Kräutersammeln eine tatsächliche Pflanze UND Profilrecht.
- Gebietsanreise ist bereits vorhanden: `AdventureBehaviorMgr::AreaNode`
sucht einen ERREICHBAREN Graphknoten im Zielgebiet, `Begin` reist über
`travel_to_node`; die Ankunft wird gegen das Gebiet geprüft.
- Abenteuer soll regulär draußen in passenden Weltgebieten stattfinden.
Sturmwind ist nur Testgebiet; keine zusätzlichen Stadt-Sonderregeln bauen,
sondern passende gespeicherte Locations/Intent-Gewichte verwenden.
- Ausritte, Freizeit-Rundflüge und Schlafdarstellung sind auf Nutzerwunsch
weiterhin für spätere visuelle Tests zurückgestellt. Jetzt nicht testen.
## Umgebung und Betriebszustand beim Sichern
- Source: `/home/wow_admin/wow_cata_server/source/TrinityCore`.
- Build: `/home/wow_admin/wow_cata_server/build/debug`, Ninja, Debug.
- Install: `/home/wow_admin/wow_cata_server/server/debug`.
- Testserver: tmux `vcore-worldserver`, cwd `server/debug/bin`, `./worldserver`.
- Vor dem Sichern lief **PID 19058**, letzter installierter Abenteuer-Ausbau.
Diesen nicht blind wiederverwenden: Prozesszustand beim Fortsetzen prüfen.
- Arthoran: Charakter GUID **26**, Account 6, aktuell Abenteuer am importierten
Sturmwind-Ort `poi_tele_954`. Allitester GUID 21 kann als Zuschauer online sein.
- Der BERUFS-Ausbau wurde noch nicht installiert; SQL-Migration `_05` wurde
noch NICHT eingespielt. Der laufende Server ist daher der vorherige Stand.
- Arthorans normale Startvorgabe im gespeicherten Lua-Profil ist wieder
`social` / `goldshire_tavern`. Es gibt aktuell KEIN temporäres Login-Profil.
- Der letzte Build wurde mit j10 unterbrochen, bei 749/751 Schritten (libgame.a gelinkt; letzte Linkschritte noch offen). Die nächste
inkrementelle Ausführung kann normal weiterbauen; Objektdateien erhalten.
- Erster Build hatte nur den Fehler `Creature::GetDeathState` statt
`getDeathState`. Das wurde bereits korrigiert. Der daraufhin neu gestartete
Build hatte bis zur Unterbrechung keine weiteren gemeldeten Compilerfehler.
- CMake wurde mit den bestehenden Einstellungen neu ausgeführt, um die neue
`AdventureProfessionTargets.cpp` einzusammeln (CollectSourceFiles ohne
CONFIGURE_DEPENDS). Das löste einen größeren Build aus. Nicht grundlos
erneut konfigurieren, nur mit j10 weiterbauen.
## Bereits geschriebene, noch unfertige Berufs-Implementierung
### Profil und Regeln
- `AdventureProfessionPolicy.h`: reine Regeln/Task-Spezifikationen, elf
Hauptberufe, kanonische englische Bezeichner, Nebenberufe ohne Primärfreigabe.
Hauptberufsrecht stammt aus dem Profil, NICHT aus `Player::HasSkill`.
- `ClientlessAdventureProfile::PrimaryProfessions` und Lua-Parser für
`professions.primary` als Array. Unbekannte Namen warnen und gewähren nichts.
- `arthoran.lua`: mining + blacksmithing. `generic.lua`: leeres Array.
- `Trainer.h`: nur neuer generischer, read-only Zugriff `GetSpells() const`.
Kein Lernen/Trainer-Handler wird aufgerufen.
### Echte Ressourcen und Arbeitsplätze
- Neu: `AdventureProfessionTargets.{h,cpp}`.
- Erz/Pflanzen: echte aktive CHΕST-GOs, native Lock-/Skill-Anforderungen aus
`sLockStore` / `SkillByLockType`, nicht bloß Namen oder Locationkategorie.
Nur sichtbare, phasenrichtige, bereite und erreichbare Ziele.
- Kürschnerei: vorhandener toter BEAST-Kadaver im Zustand CORPSE mit nativem
SKINNABLE-Flag. Kein Erzeugen/Töten eines Tiers. Kampf/Jagd später.
- Arbeitsplätze: neuer editierbarer Katalog `vcore_adventure_workstation`
mit GO-Templateentry, semantischer Rolle und enabled. Keine Bot-/Ort-ID-Liste.
Native Fokuskennungen geprüft: 1 Amboss, 3 Esse, 4 Kochfeuer, 663 Alchemielabor,
1589 Lexikon. 623/543 sind besondere Amboss-/Essenfokusse.
- Native unsichtbare SPELL_FOCUS-Marker repräsentieren reale Kartenarbeitsplätze
und dürfen dafür genutzt werden. Keine Aktivierung/Objektbenutzung.
- Rollen ohne reale erkennbare Arbeitsplätze bleiben nicht verfügbar; keine
beliebige Werkstatt-Location als Amboss behandeln.
- Trainer: native Tradeskill-Trainer, deren native Spell-/SkillLine-Daten zu
einem erlaubten Haupt- oder einem Nebenberuf passen. Reines Gespräch.
### Szenen und bestehende Legacy-Aktionen
- Wiederverwendete `AdventureSocialActions` mit `Cue::Work`, professionellen
Zielprüfungen, nativen Emote-Zuständen, Abschlussbetrachtung und kurzem
Wegtreten. Keine Harvest-/Craft-/Loot-/Teach-/Heal-Aufrufe.
- Profil und Ziel werden auch während der Szene erneut geprüft.
- Alte `mining_show` / `smithing_show` (Kind `work`, Requirement ore/forge)
werden in `ResolvedAction` auf dieselben neuen gesperrten Szenen umgelegt.
Es darf KEIN Legacy-Bypass der Profil- oder Arbeitsplatzprüfung verbleiben.
- Nach vollständiger Sammeldarstellung wird `work:<GUID>` in der bestehenden
Zielhistorie gespeichert. Kürzlich bearbeitete Ressourcen werden gemieden,
damit die unverändert stehen bleibende Quelle nicht endlos wiederholt wird.
Nur Erzbetrachtung (`ore_inspect`) setzt diese Bearbeitungssperre nicht.
### Gebietssuche / gemeinsame Erkundungssteuerung
- Neue Suche `profession_search`, Requirement `work_search`, Kind `outing`.
- Wiederverwendete MMAP-Routensteuerung: progressive Hinwege, an erreichten
Kontrollpunkten erneut mögliche Berufsarbeit prüfen und Suche dann beenden.
- Bei Gebietsaufträgen wird der lokale Anker nach bestätigtem Suchfortschritt
verschoben. Weiteres Durchsuchen bleibt über jeden MMAP-Punkt im Zielgebiet.
- Gebiets-Abenteuerwege sind jetzt ebenfalls progressiv; normale Freizeitwege
bleiben bestätigte Hin-/Rückwege. Keine Stadt-Sonderregel.
- Zusätzliche native Uferprüfung für performatives Berufsangeln im Gebiet,
ohne zwingenden speziellen Fishing-Location-Key. Ausgerüstete Angel bleibt
nötig. Kein wirklicher Angelzauber/Fang. Noch nicht live getestet.
### Neue Migration
`sql/custom/world/2026_10_27_05_adventure_profession.sql` (noch NICHT angewendet):
Arbeitsplatzrollen, neue Arbeits-/Such-/Nebenberufs-/Gesprächsaktionen,
Berufsgewichtung für Gebiet/Wildnis/Siedlung, neue Texte. Native Fokusdaten
haben Vorrang; Namen ergänzen nur erkennbare geeignete Props. Geänderte
Gewichte/disabled-Rollen sollen bei Wiederholung erhalten bleiben.
## Offene Arbeiten – konkret hier weiter
1. Aktuellen C++-Diff kritisch prüfen; dies ist ein WIP, keine fertige Abnahme.
Insbesondere Berufsszenen, Legacy-Auflösung, progressive Ankeraktualisierung,
Ressourcen-Wiederholungsdämpfung und Uferprüfung gegen Nutzerregeln prüfen.
2. `cmake --build /home/wow_admin/wow_cata_server/build/debug -j10` fortsetzen.
Vorher prüfen, dass kein alter Build mehr läuft. Weitere Fehler beheben.
3. Vollständige Tests erneut laufen lassen. Vor dem Berufs-Ausbau waren
**32 Tests grün**. Seitdem gab es 7 Mock-/Harness-Anpassungsfehler, deren
Fixes bereits TEILWEISE geschrieben sind. Alte Fehlerdateien sind historisch!
- Economy/Exploration/Social-fire: neues Policy-Include und Profilfelder,
Targets-Stub für zusätzlich mitkompilierte Zweige.
- Social: Map-/Position-/Origin-Stubs und native Work-Emotes ergänzt;
zuletzt nach INVALID_HEIGHT-Fix wieder grün.
- Exploration und Leisure: nach Anpassungen zuletzt wieder grün.
- Intent-state: neue Scene-Felder Progressive/Route/Step ergänzt;
letzter Fehler fehlende Player::GetExactDist(Position const&). Der
Überladungs-Fix ist bereits geschrieben, aber noch nicht erneut geprüft.
- Rest-fire: PrimaryProfessions in Mock-Profil/-Kontext ergänzt;
aktuellen Zustand durch erneuten Lauf prüfen.
4. Neue aussagekräftige Berufs-Tests fehlen noch! Geplant:
- tatsächlichen neuen Lua-Parser mit realem Lua 5.4 ausführen, inklusive
Arthoran mining/blacksmithing, leeres/ungültiges Profil sperrt Hauptberufe;
- Mining+Smithing darf vorhandene Kräuter NICHT bearbeiten, umgekehrt darf
Herbalism+Alchemy keine Erz-/Schmiedearbeit; sekundäre Aktionen ohne Liste;
- produktive native Zielklassifikation: Lock-Skills statt Namen, Amboss
versus Esse versus bloße Workshop-/Gebietszuordnung, falsche Phase,
despawnte/gelootete Quelle, Kadaverprüfung und passende Trainer;
- native Arbeitsgeste erst NACH tatsächlicher Ankunft, Profilentzug während
laufender Szene, keine Objektbenutzung/Casts/Inventaränderung, Abschluss;
- Migration auf Schemafixtures ausführen, Idempotenz und bearbeitete
Gewichte/Arbeitsplatzfreigaben erhalten;
- Gebiets-Anreise über erreichbaren Graphnode und lokale progressive Suche
innerhalb des Gebiets, Stopp bei gefundenem zulässigem Arbeitsplatz.
5. Erst dann neue Migration auf TEST-DB anwenden. Noch kein profession_apply-
Modus im gesicherten DB-Helfer! Ergänzen oder engen eigenen Helfer schreiben.
6. Erfolgreichen Build nach sauberem Serverstopp installieren, neu starten und
frische Ready-Meldung + Prozess + Port 8085 prüfen. AGENTS-Recovery beachten.
7. Live prüfen: tatsächlicher Amboss in Sturmwind (z. B. importierter
`poi_guard_541`, Schmiedebereich), dann Gebietsziel `poi_tele_338` = Elwynn,
Gebiet 12, echtes travel_to_node und lokale Ressourcen-/Arbeitsplatzsuche.
Kräuter muss Arthoran verweigern. Inventar/Geld und Ressourcen unverändert
nachweisen. Keine gefälschten Ressourcen, Spawns oder Teleports.
8. Berufs-Dokumentation schreiben, Katalog-/Standdokumente aktualisieren und
offen gebliebene Live-/visuelle Prüfungen ehrlich benennen.
## Wichtige vorherige Ergebnisse – nicht neu implementieren
- Reisegraph: optionale virtuelle Exits regelmäßig (6 s) während Weiterbewegung
prüfen, kein Abbruch nach fünf Versuchen, Kante nicht mitten darin umkehren.
Free-flight-Fallback getrennt von künstlichen Normalreise-Auswahlregeln.
- Ruhe/Feuer: gemeinsames natives Kochfeuer 818, neue Feuer nie in Gebäuden/
Städten. Schlafdarstellung weiterhin vertagt.
- Freizeit: Katze (Spell 10673, Creature 7385), Leine (Item 37460, Spell 48722),
echte native Begleiter-/Itemverwendung. Kanal beim Gehen erhalten. Owned-only
Cleanup, keine Veränderung fremder Begleiter. Nutzer hat sichtbare Katze,
Leine, zusammenhängende Routen und flüssige Bewegung ausdrücklich abgenommen.
- Native Follow-Fix: aktive Player-Splinegeschwindigkeit statt Run-Flag wählen;
SetWalk setzt die Gait-Auswahl, nicht MOVEMENTFLAG_WALKING. Das beseitigte
die ständigen Zwei-Meter-Pausen. Nicht wieder entfernen.
- Native Spline-Kurzsegment-Fix: 0,11 Yards Mindestabstand beim Splitten.
- Wirtschaften rein performativ; Händler/Bank/AH und Vergleich mit zwei GUIDs
technisch live geprüft, Geld/Inventar danach bytegleich.
- Importfehler behoben: SMALLINT maps über GetUInt16 statt GetUInt32, das in
Debug Null ergab. Gezielte, idempotente `clientless adventure repairimport`
reparierte 2.159 unveränderte abgeleitete Orte, ergänzte 217. Jetzt **2.864**
aktive semantische Locations / 3.857 Worldpoints. 16 manuelle Orte unverändert.
Vier Horde-Hauptstädte korrekt auf Karte/Fraktion zugeordnet. Nicht die
originalen world-DB-Quellen ändern. Snapshots liegen bei dieser Übergabe.
- Location-Zuordnung: kein versteckter Wirtschaften-Fallback mehr im Code;
`_04` materialisiert ausdrückliche Kategorie-/Intent-Gewichte, inklusive
begrenzter Freizeitgewichtung für Tavernen. Tagesplan-Intent unabhängig davon.
- Abenteuer `_04`: native Objektuntersuchung ohne Use, Scout/Equipment,
zusammenhängende Bodenwege. Zehn neue Aktionen, 32 Tests bestanden, technisch
live in Sturmwind: Pestle's Apothecary 197117, Weller's Arsenal 197121,
80-Yards-Erkundungsweg mit zehn bestätigten Hin-/Rückwegpunkten. Visuelle
Abnahme und gefährliche offene Welt weiterhin separat.
## Werkzeuge, Logs und reproduzierbarer Betrieb
Dauerhafte Kopien für diese Übergabe:
`doc/clientless/checkpoints/2026-10-27-profession/`.
Darin Build-/Configurelogs, historische fehlgeschlagene Testausgaben,
Ortskatalog-Snapshots und die bisherigen schmalen DB-Helfer. Diese Helfer lesen
Verbindungsdaten aus der lokalen Testserverkonfiguration; keine Passwörter
im Chat/Logs ausgeben. Sie enthalten keine fest codierten Zugangsdaten.
Die Helfer bei Bedarf wieder nach `/tmp` kopieren; Pfade gelten für diesen Host.
Wichtige Live-Logs (normal und ohne vorsorgliche Elevation lesen):
`/home/wow_admin/wow_cata_server/server/debug/bin/Server.log`,
`adventurebot-navigation.log`, `DBErrors.log`. Server.log wird beim Start neu
begonnen, Navigations-/DBErrorslogs können ältere Fehler enthalten. Bekannte
alte Script-/Spell-Warnungen nicht mit neuem Startup-Versagen verwechseln.
Buildbefehle: `cmake --build .../build/debug -j10`, bestehende Installation
mit `cmake --install .../build/debug`. Tool-Sandbox für Build/Install/tmux/DB
beachten, aber normale Logs nicht vorsorglich eskalieren. Keine laufende
Executable überschreiben. Kein Push.
Für gezielte Tests nach Restart wurde bisher nur beim Login die Startvorgabe
in arthoran.lua temporär geändert, vorher byteweise gesichert, nach
`[AdventureBot][Profile] loaded guid=26` exakt zurückgesetzt. Die jetzt dauerhaft
vereinbarten Hauptberufe dabei unbedingt erhalten. Keine temporären Profile
liegenlassen. Alternativ normalen Login abwarten und per Console Intent setzen;
auf unerwünschte automatische Goldshire-Anreise achten.
Console-Beispiele ohne führenden Punkt:
`clientless login 26`, `clientless adventure status 26`,
`clientless adventure intent 26 profession poi_guard_541 3600`,
`clientless adventure intent 26 profession poi_tele_338 3600`,
`clientless adventure micro 26 <action_key>`, `saveall`.
Der Nutzer möchte vor allem konkrete, überprüfte Ergebnisse und wenig
Bestätigungsfragen. Die Hauptberufs-Rückfrage ist bereits BEANTWORTET; nicht
noch einmal stellen. Testservermanagement und lokale Commits sind autorisiert.
## Checkpoint 2026-10-31 – Gruppen-/Instanz-Resilienz
Auf Nutzerwunsch wurden die ersten drei Befunde des Gruppentests bearbeitet:
- `AdventureBehaviorMgr::Fallback` verwirft bei einem fehlgeschlagenen
Anreiseversuch nicht mehr den aktiven Instanzbesuch. Derselbe Eingang wird
nach 30 Sekunden erneut versucht; dadurch kann ein Stundenblock nicht mehr
nacheinander verschiedene Instanzen auswählen.
- Ein Mitglied einer botgeführten Gruppe wählt bei einem lokal nicht
erreichbaren, vom Anführer geerbten Ziel kein eigenes Ersatzziel mehr. Es
wartet auf Gruppenreise, Browseraufnahme oder Neuplanung des Anführers. Dies
beseitigt die bei Fizzira (GUID 43) beobachtete Endlosschleife, bei der
`AdoptGroup` das gerade gewählte Fallbackziel sofort wieder überschrieb.
- Die 10-Minuten-AFK-/Intentwechsel-Austrittslogik ist nun während der gesamten
Gruppenbildung, Sammelphase, vorgezogenen Abreise und des sicheren
Intent-Handoffs gesperrt, nicht nur solange `GroupPlan.Forming` wahr ist.
Regressionstests:
`tests/clientless/test_adventure_interactions.py` und
`tests/clientless/test_adventure_intent_fallbacks.py` bestanden. Vollbuild mit
`cmake --build /home/wow_admin/wow_cata_server/build/debug -j10` und Installation
waren erfolgreich. Der Server startete frisch bis `(worldserver-daemon) ready`,
PID 56787, und lauscht auf 8085/8087. Loader und Testbots waren beim Start
deaktiviert und wurden danach wieder auf die vorherigen Werte gestellt; die
Population loggt regulär ein. Fizzira erreichte Online; im frischen Log trat
ein einzelner normaler Fallback vom Gruppenbildungsziel `poi_tele_1377` auf,
aber keine wiederholte A/B-Schleife und kein Instanzbesuchswechsel. Die vom
Nutzer ausdrücklich zurückgestellten Befunde 4/5
(Gruppenkonsolidierung und Raid-Browser/Intent-Auswertung) wurden nicht geändert.