3736 lines
239 KiB
Markdown
3736 lines
239 KiB
Markdown
# 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.
|