Extend clientless bots with browser queues, PvP intents and test automation

This commit is contained in:
Nico committed 2026-10-31 13:36:33 +01:00
1 parent 649915e575
commit 69b5a1c4a1
245 files changed
+49535 -114

No files matched your search

+537
View File
@@ -1,3 +1,540 @@
# 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
+139
View File
@@ -0,0 +1,139 @@
# AdventureBot-Gruppen, Browser und PvP
Stand: Implementierung gebaut (-j10), alle120Clientless-Tests erfolgreich; noch nicht installiert/live abgenommen.
Dungeon-, Raid- und PvP-Intents verwenden die bestehenden Tagespläne. `pvp` ist
neu und wird bei der Profilerzeugung als gewichtete Aktivitätspräferenz angeboten.
Bestehende Profile können `activity_affinity.pvp` ausdrücklich setzen; sonst gilt
im Planer ein kleiner, durch Aggression gewichteter Standardwert.
## Abreise und Rollen
Dungeon-/Raidbesuche starten selbstständig erst mit vollständiger geeigneter
Gruppe. Dungeonrollen:1Tank,1Heiler,3DD. Raidrollen richten sich nach der
bestehenden Zielkapazität: bis10Mitglieder2/2/6,20Mitglieder2/4/14,
25Mitglieder2/6/17. Die bereits vorhandenen Kapazitätsgrenzen der Locations
bleiben maßgeblich. Profile legen Botrollen fest, Spielerrollen werden aus
vorhandenen Gruppenrollen beziehungsweise ihrer Spezialisierung ermittelt.
Die erste tatsächliche Abreise gibt die gesamte Botgruppe für den laufenden
Intent frei. Spätere Austritte und Rollenlücken stoppen diese Reise nicht und
lösen keinen Browserwechsel aus. Gespeicherte laufende Instanzbesuche werden
weiterhin wiederaufgenommen. Spielergeführte Gruppen folgen ihrem Spieler;
Bots melden diese Gruppen nicht eigenmächtig an.
Unvollständige Botgruppen und einzelne Bots warten am aktuellen Ort und melden
sich bei zulässigem Browser an. Native Prüfungen für Level, Erweiterung,
Gegenstandsstufe, Zugänge, Sperren, Rollen und Accountrechte bleiben erhalten.
Die lokalen Cataclysm-DBC-Daten enthalten die Drachenseele-Flügel416/417 als
Stufe85-Angebote mit2Tanks,6Heilern und17DDs. Ihr TypeID ist1 (Dungeon), die Karte
ist jedoch ein Raid. Die Botregeln unterscheiden deshalb anhand der tatsächlichen
Karte; sie behandeln diese Angebote nicht versehentlich als Fünfer-Dungeons.
Die native Anmeldung dieser Type1-Flügel nutzt die vorhandene Dungeonfinder-
Berechtigung, nicht den separaten Legacy-Raidbrowser-Schalter. Der Bot-Schalter
für Raidbeitritt bleibt trotzdem anhand der tatsächlichen Raidkarte wirksam.
`DungeonFinder.OptionsMask` wurde nicht verändert.
Die Browserwahl verwendet zugängliche Angebote, nicht zwangsläufig das vorher
im Tagesplan ausgewählte Reiseziel. Rolle und Angebot werden nativ bestätigt;
Vermittlung und Teleport bleiben Aufgaben des vorhandenen Cores.
## Schalter
| Konfiguration | Standard |
|---|---:|
|Clientless.Browser.Dungeon.QueueEnabled|1|
|Clientless.Browser.Dungeon.JoinEnabled|1|
|Clientless.Browser.Raid.QueueEnabled|1|
|Clientless.Browser.Raid.JoinEnabled|0|
|Clientless.Browser.Battleground.QueueEnabled|1|
|Clientless.Browser.Battleground.JoinEnabled|0|
|Clientless.Browser.AllowBotOnlyTests|0|
`QueueEnabled` erlaubt das Anmelden. `JoinEnabled` erlaubt es, Bots tatsächlich
in eine vermittelte Besetzung aufzunehmen. Bei abgeschaltetem Beitritt bleiben
sie in der Suche, werden aber nicht in Angebote für Spieler eingerechnet und
reservieren keine Plätze in startenden Partien.
Im Normalbetrieb braucht jede vermittelte Besetzung mindestens einen echten,
verbundenen Spieler. Ein nach Verbindungsabbruch noch vorhandener Registereintrag
reicht nicht: Die Realm-Verbindung muss offen sein. Die zweite Verbindung darf
beim regulären Instanztransfer wechseln. Eine beliebige Person in einer anderen Warteschlange zählt
nicht. Prüfung erfolgt vor dem Angebot und vor dem Beitritt erneut. LFG-Gruppen
mit Bots erhalten einen echten Spieler als Anführer. Reine Botbesetzungen sind
nur mit `AllowBotOnlyTests=1` möglich; zusätzlich müssen Queue und Join für den
jeweiligen Browser aktiviert sein. Diese Testausnahme ersetzt weder Mindestgrößen
noch native Zugangsvoraussetzungen. Vorhandene Low-Population-Regeln des Servers
bleiben davon getrennt. Gruppen ohne Clientless-Teilnehmer behalten ihren Ablauf.
Die Regeln sind generische CPC-Admission-Regeln. DungeonFinding und Battlegrounds
hängen dafür nicht vom AdventureBot-System ab. Die Adventure-KI wählt lediglich
Anmeldungen und Rollen. Keine zusätzlichen externen Dienste oder Netzwerkschnittstellen.
## PvP
Ein PvP-Block mit Hauptstadtslocation bedeutet direkte Schlachtfeldsuche.
Welt-PvP-Ziele kommen aus zulässigen Gebietslocations von TolBarad/TolBarad-Halbinsel,
Höllenfeuerhalbinsel, Zangarmarschen, Nagrand und den Wäldern von Terokkar.
Gebietskatalog, Fraktion, tatsächliches Mindestlevel und Fluganforderungen gelten
auch hier. Für Welt-PvP genügt eine geeignete Gruppe ab zwei Mitgliedern; fehlen
Mitglieder, geht der Bot stattdessen in die Schlachtfeldsuche. Diese läuft über
die nativen normalen Schlachtfelder, nicht über Arena oder gewertetes PvP.
UnterStufe45 wird Kriegshymnenschlucht angefragt, danach ein zufälliges Schlachtfeld;
unterStufe10 erfolgt keine Anmeldung und kein neu generierter PvP-Block.
Bei Schlachtfeld-Gruppensuche werden die nativen Levelbereiche der gewünschten
Schlachtfeldvorlage verglichen, einschließlich der Mindeststufe für Zufallssuche. Die nativen Prüfungen entscheiden endgültig.
Derzeit geht es um Anmeldung und Beitritt. Spezifische Quest-, Flaggenträger-,
Basen- und Bossmechaniken sind damit nicht implementiert. Welt-PvP benutzt zunächst
vorhandene Erkundungsaktionen und die bisherigen persönlichkeitsabhängigen
PvP-Angriffsregeln. Schlachtfeld-/Raidbeitritt ist daher standardmäßig gesperrt.
## Gruppen zusammenführen
Während der Gruppenbildung steigt die Wechselbereitschaft mit der verstrichenen
Zeit. Größere passende Botgruppen werden bevorzugt. Auch Mitglieder kleinerer
unvollständiger Botgruppen können wechseln, insbesondere um einen offenen
Rollenplatz zu besetzen. Offene Einladungen reservieren bereits Rollenplätze;
die eigene Reservierung verhindert nicht die Annahme. Überzählige Rollen aus
falsch besetzten Gruppen dürfen auch in kleinere passende Gruppen wechseln,
und das Vervollständigen einer zulässigen Gruppe hat Vorrang. Bereits abgereiste
Anführer schützen auch Mitglieder, deren persönlicher Plan noch Gruppenbildung
anzeigt. Ziel und Voraussetzungen der aufnehmenden Gruppe gelten.
Die native Einladung/Annahme erfolgt im Worldthread; bei Ablehnung wird die
ursprüngliche Gruppe soweit möglich wiederhergestellt.120Sekunden Wechselpause
und eine eindeutige Rangfolge gleich großer Gruppen verhindern Pendeln.
Spielergeführte Gruppen, volle passende Gruppen, laufende Reisen und bereits
laufende Browsergruppen werden nicht automatisch umverteilt. Die feste
Sammelfrist am Stundenende wird nicht verlängert.
## Validierung und Betrieb
Vor jedem Build Loader/Testannahme pausieren und sicheren Logout abwarten.
Während der laufenden Schiffsaufzeichnung darf bei verbleibenden Bots auch nach
fünfMinuten kein Shutdown erzwungen werden: Build dann zurückstellen. Installation
und Neustart erst nach Freigabe für die Aufzeichnung. Zugehörige Tests:
`test_browser_admission.py`, `test_group_role_composition.py`,
`test_adventure_instance_begin.py`, `test_adventure_groups.py`,
`test_browser_participants.py`, `test_browser_match_order.py`,
`test_browser_bg_brackets.py`. Rollenabfragen werden außerhalb der Versorgungs-
und Kampfaktionen beantwortet, nur solange die native Abfrage noch offen ist.
Alle120Clientless-Testskripte wurden ausgeführt und bestanden. Sechs ältere
Adapter benötigten die neuen Zustandsfelder/Schnittstellen; zusätzliche Assertions
prüfen PvP-Persistenz, Browser-Wartephasen, Wiederaufnahme begonnener Reisen und
AFK-Schutz während der Suche. Der vollständige CMake-Build und der abschließende
inkrementelle Build liefen mit-j10 erfolgreich durch. Beide Config-Dateien wurden
auf die vereinbarten Browserwerte geprüft. Details und Logs:
`doc/clientless/checkpoints/2026-10-31-browser/validation-status.json` und
`regression/final-summary.json`. Der vorherige114/120-Lauf samt Fehlerlogs ist
als Diagnose erhalten; die behobenen Fälle wurden gezielt erneut ausgeführt.
Der Testserver war nach dem externen Umgebungsneustart bereits offline. Es wurden
keine Bots für den Build zwangsausgeloggt, keine laufenden Transporte unterbrochen
und kein Server durch diesen Arbeitslauf gestoppt. Loader und TestBot-Ausführung
bleiben pausiert (Config0/0); ursprünglicher TestBot-Wert1 ist in
`resumed-build-state.json` gespeichert. Installation/Start erst nach Freigabe.
Vor dem nächsten zulässigen Start die sieben zuletzt verbliebenen Bots anhand
`restart-recovery-needed.json` für Zustandsprüfungen vorsehen.
Diese Tests prüfen Regeln und echte extrahierte Produktionsfunktionen mit
Adaptern. Ein tatsächlicher Browser-Beitritt mit echten Spielern und die visuelle
Abnahme stehen aus. Es wurde weder installiert noch ein Worldserver gestartet.
@@ -0,0 +1,42 @@
# Build-Bergung am 30.10.2026
Loader seit etwa15:44 pausiert, sicherer Logout seit derselben Phase angefordert.
Snapshot nach17:09; Fünf-Minuten-Frist damit deutlich überschritten.
Regulärer Server-Shutdown vor dem Build; keine Einzel-Logouts erzwungen.
| GUID | Bot | Fraktion | Karte | Position X/Y/Z | Flugstatus vor Shutdown |
|---:|---|---|---:|---|---|
| 43 | Fizzira | Allianz | 530 | -267.066 / 3215.06 / 66.1018 | Failed |
| 46 | Selthas | Horde | 571 | 3975.16 / 6846.42 / 204.755 | Failed |
| 53 | Noranda | Allianz | 530 | -3103 / 2595 / 62.9246 | Arrived |
| 84 | Brynli | Allianz | 530 | 3471.56 / 5253.22 / 150.785 | Failed |
| 91 | Norara | Horde | 0 | 1805 / 327 / 94.8042 | Failed |
| 101 | Korutam | Horde | 1 | 1655.55 / -4313.52 / 78.9182 | Failed |
| 104 | Lillini | Allianz | 0 | -8893.24 / 691.307 / 127.343 | Failed |
| 118 | Lillina | Allianz | 1 | 5391.2 / -3378.67 / 1649.72 | Failed |
Sieben Failed-Flugzustände, Noranda mit Arrived. Letzter Sammelstatus:
8Sessions,1Kampf,7Flug,0Transport,0Ladevorgänge. Kein Bot mit gespeichertem
Transportpassagier oder Taxipfad. Details/Positionen sind unter
`/tmp/vcore-recorder-5yd-recovery/` gesichert.
## Nachprüfung
Build mit `-j10`, Installation und Transport-Regressionstest bestanden.
Neustart PID471677; frische Ready-Meldung, Prozess und Ports8085/8087 geprüft.
Alle8Bots nach Login geprüft, einschließlich tatsächlicher Fuß-/Bodenhöhe.
Fizzira, Selthas, Brynli, Norara, Korutam und Lillini schwebten nach Neustart
weiter über dem Boden, obwohl das Flugkennzeichen teilweise verschwunden war.
Native Teleports nach Sturmwind bzw.Orgrimmar bestätigt. Noranda stand auf
festem Boden, blieb aber im Kampf und blockierte weiter den sicheren Logout;
ebenfalls nativ nach Sturmwind zurückgesetzt. Lillina stand auf gültigem Boden
und konnte ohne Bergung sicher ausloggen.
Endstand: alle8offline, keine gespeicherten Transportbindungen oder Taxipfade.
Sieben Hauptstadtpositionen in `final.tsv` bestätigt. Temporäre reine
Prüfprofile entfernt; ursprüngliche generierte Profile unverändert erhalten.
Loader bleibt0 wegen laufender Routenaufzeichnung; Originalwert1 liegt unter
`/tmp/vcore-elunes-recording-loader.json`. Sicherer Logout bleibt angefordert,
bis die Aufzeichnung beendet ist. Recorder-Startentfernung5Yards jetzt live.
Kein neuer Commit oder Push.
+92
View File
@@ -0,0 +1,92 @@
# Hauptstadt-Portale: Untersuchung vom 30.10.2026
Vorherige abgeschlossene Änderungen lokal als `649915e575` committed, kein Push.
## Direkt ergänzte Verbindungen im laufenden Graphen
Über den vorhandenen nativen Import erfolgreich registriert:
| Ort | Spawn | Verbindung |
|---|---:|---|
| Eisenschmiede |217855|Verwüstete Lande|
| Darnassus |219119|Verwüstete Lande|
| Exodar |151163|Verwüstete Lande|
| Darnassus |219120|Exodar|
| Unterstadt |203251|Verwüstete Lande|
| Donnerfels |214456|Verwüstete Lande|
| Silbermond |151162|Verwüstete Lande|
| Dalaran |56568|Orgrimmar|
| Dalaran |61217|Sturmwind|
| Dalaran |57634|Höhlen der Zeit|
| Dalaran |60709|Purpursalon|
| Dalaran |151243|Violette Zitadelle|
Sturmwind und Orgrimmar besitzen bereits ihre Cata-Portale und Verbindungen zu den
Verwüsteten Landen. Doppelte vorhandene Spawnpositionen werden getrennt geprüft;
keine vorhandenen Koordinaten oder manuell deaktivierten Kanten überschrieben.
Vashj'ir bleibt durch den Gebietskatalog gesperrt.
## Installierte Unterstützung nativer Klickportale
Die Translokationskugeln Silbermond12608/Unterstadt203457 sind GOOBER(type10),
keine SPELLCASTER(type22). Native Spellskripte35376→25649 bzw35727→35730
lassen den Besucher den eigentlichen Teleport auf sich selbst wirken. Shattraths
Portal zur Insel Quel'Danas47196 hat eine entsprechende Skriptkette44876→44870.
Dalarans Wintergrasp-Portal61496 nutzt einen festen nativen Skript-Teleport.
Der Resolver akzeptiert deshalb zusätzlich harmlose Goober ohne Quest, Event,
Gossip, Schloss, Verbrauch oder gekoppelte Falle. Aufgelöst werden ausschließlich
feste native DB-Ziele, einzelne Besucher-Selbstcasts oder einzelne feste native
Teleportaktionen; keine beliebigen Skripte oder geratenen Zielpositionen.
Zyklen, mehrere Aktionen, andere Zielrollen und zu lange Verzögerungen bleiben
abgewiesen. Tatsächliche Benutzung weiterhin über normalen GameObject-Click,
native Bedingungen, Sichtbarkeit, Phase, Reichweite und Teleport-ACK.
Voraussetzungen aller aufgelösten Zauber werden vor der Routenplanung geprüft.
Neue reproduzierbare Migration:
`sql/custom/world/2026_10_30_01_capital_click_portals.sql` (angewendet und auf Idempotenz geprüft).
Sie erhält vorhandene Positionen, Kosten, Sperren und manuelle Fraktionsmasken.
Maelstrom-Questportale erhalten sichtbare Nodes, aber keine aktive gewöhnliche
Transitkante. Nicht gespawnte Exodar→Darnassus- und Shattrath→Orgrimmar-Templates
werden nicht als künstliche Portale erzeugt.
Shattraths Sturmwind-Kante1752 wurde nach erfolgreichem nativen Klicktest von
ihrer überholten LOS-Testsperre befreit. Die Migration trifft ausschließlich die
Kante mit genau diesem alten Diagnosekommentar. Sonstige Sperren bleiben erhalten.
Das Rückportal Purpursalon→Violette Zitadelle benötigte ebenfalls den öffentlichen
Player-Cast-Modus; ausschließlich Template194012/Spell61420 wurde korrigiert.
Zusätzlich ergänzt: Dalarans Brunnen-Portal (AreaTrigger5273), dessen Position
aus den lokalen Cataclysm-DBC und dessen Ziel aus der nativen DB stammen.
## Prüfung
Build mit `-j10` erfolgreich; nach sauberem Herunterfahren installiert. Beide
Neustarts erreichten frisch `(worldserver-daemon) ready...`; Prozess und Ports
8085/8087 geprüft. Alle114 Clientless-Tests bestanden. Resolver-/Executor-/ACK-
Tests und SQL-Fixtures nach den letzten SQL-Anpassungen erneut bestanden.
`git diff --check` sauber. Die SQL-Fixtures prüfen unter anderem native direkte
und Skriptziele, Fraktionsmasken, Spawn-Entry-Zuordnung, Quest-Sperren, Idempotenz,
den gezielten Player-Cast-Fix und Erhalt manueller Positionen/Kosten/Sperren.
Alle17 untersuchten Portalspawns wurden mit normalen, passend gelevelten Bots
über den nativen GameObject-Klick erfolgreich benutzt:
217855,203251,219119,151163,214456,151162,219120,12608,203457,56568,61217,
57634,60709,151243,61496,83,47196.
Prüfung erfolgte durch Vergleich des tatsächlich gespeicherten Karten-/XYZ-Ziels
mit dem nativen Portalziel. Adminteleports dienten nur dem Aufstellen an der
Quelle. Drei erste Horde-Versuche schlugen bei zu frühem Klick nach dem
Aufstellen fehl; Wiederholungen nach Abschluss des Transfers waren erfolgreich.
Das Purpursalon-Rückportal bestand nach dem gezielten Player-Cast-Fix.
Nachweise unter `/tmp/vcore-capital-portals-state/probe-*.json`.
Dies bestätigt einzelne native Portalbenutzungen, keine vollständige Langzeit-
Abnahme sämtlicher AdventureBot-Reisen durch die neuen Kanten.
Die14 zuvor blockierten Bots wurden mit expliziter einmaliger Nutzerfreigabe
geborgen und anschließend nativ sicher ausgeloggt. Vor dem Build waren
pending=0/sessions=0 bestätigt. Daraus folgt keine weitere Ausnahme von der
Build-Regel. Temporäre Testprofile und19Teleportmarken wurden entfernt, ursprüngliche
Positionen wiederhergestellt und beide Testbots sicher ausgeloggt. Loaderwert1
ist wiederhergestellt; alle vier Zielpools50/5/50/5 werden schrittweise geladen.
Letzte Statusprüfung: known110,12online (3jePool), kein Loaderfehler; beide
Testbots verwenden wieder ihre ursprünglichen generierten Profile.
@@ -0,0 +1,670 @@
[
{
"schema": 1,
"run_id": "await_deadline",
"state": "failed",
"started_unix_ms": 1793382399289,
"elapsed_ms": 213,
"checks": 0,
"failures": 0,
"error": "[string \"...\"]:5: expected await timeout",
"bots": [],
"events": []
},
{
"schema": 1,
"run_id": "boot_interrupted",
"state": "interrupted",
"started_unix_ms": 1793382365548,
"elapsed_ms": 0,
"checks": 0,
"failures": 0,
"error": "worldserver restarted during test",
"bots": [],
"events": [
{
"previous_result": "{\"run_id\":\"boot_interrupted\",\"state\":\"running\",\"bots\":[]}"
}
]
},
{
"schema": 1,
"run_id": "cancel_case",
"state": "cancelled",
"started_unix_ms": 1793382403290,
"elapsed_ms": 25,
"checks": 0,
"failures": 0,
"error": "cancelled by operator",
"bots": [],
"events": []
},
{
"schema": 1,
"run_id": "cli_ingress",
"state": "passed",
"started_unix_ms": 1793382404290,
"elapsed_ms": 0,
"checks": 1,
"failures": 0,
"error": "",
"bots": [],
"events": [
{
"check": "base64 ingress",
"passed": true
}
]
},
{
"schema": 1,
"run_id": "deadline_enforced",
"state": "timed_out",
"started_unix_ms": 1793383186683,
"elapsed_ms": 1000,
"checks": 0,
"failures": 0,
"error": "configured run deadline exceeded",
"bots": [],
"events": []
},
{
"schema": 1,
"run_id": "false_assertion",
"state": "failed",
"started_unix_ms": 1793382394281,
"elapsed_ms": 0,
"checks": 1,
"failures": 1,
"error": "",
"bots": [],
"events": [
{
"check": "expected failure",
"passed": false
}
]
},
{
"schema": 1,
"run_id": "foreign_character",
"state": "failed",
"started_unix_ms": 1793382396286,
"elapsed_ms": 0,
"checks": 0,
"failures": 0,
"error": "[string \"...\"]:10: not a registered test character; create it with testbot.create first",
"bots": [],
"events": []
},
{
"schema": 1,
"run_id": "instruction_limit",
"state": "failed",
"started_unix_ms": 1793382397286,
"elapsed_ms": 1,
"checks": 0,
"failures": 0,
"error": "Lua instruction budget exceeded; yield with testbot.wait/await",
"bots": [],
"events": []
},
{
"schema": 1,
"run_id": "lua_smoke",
"state": "passed",
"started_unix_ms": 1793382393281,
"elapsed_ms": 0,
"checks": 1,
"failures": 0,
"error": "",
"bots": [],
"events": [
{
"check": "bridge",
"passed": true
},
{
"label": "snapshot",
"value": {
"number": 42,
"text": "hello",
"flag": true
}
}
]
},
{
"schema": 1,
"run_id": "memory_limit",
"state": "failed",
"started_unix_ms": 1793382398286,
"elapsed_ms": 0,
"checks": 0,
"failures": 0,
"error": "not enough memory",
"bots": [],
"events": []
},
{
"schema": 1,
"run_id": "native_fresh_fullquest",
"state": "passed",
"started_unix_ms": 1793383140559,
"elapsed_ms": 30614,
"checks": 3,
"failures": 0,
"error": "",
"bots": [
149
],
"events": [
{
"check": "native primary stat preparation",
"passed": true
},
{
"label": "encounter_1",
"value": {
"spawn": 279820,
"count": 1
}
},
{
"label": "encounter_2",
"value": {
"spawn": 279823,
"count": 2
}
},
{
"label": "encounter_3",
"value": {
"spawn": 279825,
"count": 3
}
},
{
"label": "target_timeout",
"value": {
"alive": true,
"health": 42,
"x": -8917.34765625,
"y": -285.6582336425781,
"z": 77.41757202148438,
"distance": 9.950993537902832
}
},
{
"label": "encounter_4",
"value": {
"spawn": 279827,
"count": 3
}
},
{
"label": "encounter_5",
"value": {
"spawn": 279828,
"count": 4
}
},
{
"label": "encounter_6",
"value": {
"spawn": 279829,
"count": 5
}
},
{
"label": "encounter_7",
"value": {
"spawn": 279878,
"count": 6
}
},
{
"check": "quest completed through native kill credits",
"passed": true
},
{
"check": "quest rewarded by native handler",
"passed": true
},
{
"label": "final",
"value": {
"power": 997,
"agility": 26,
"level": 10,
"y": -138,
"z": 80.9000015258789,
"alive": 1,
"strength": 1000000,
"transport": 0,
"map": 0,
"combat": 0,
"guid": 149,
"spirit": 24,
"moving": 0,
"x": -8912,
"max_power": 1000,
"health": 100000,
"intellect": 21,
"max_health": 100000,
"stamina": 31
}
}
]
},
{
"schema": 1,
"run_id": "native_full_quest",
"state": "failed",
"started_unix_ms": 1793382935570,
"elapsed_ms": 18652,
"checks": 1,
"failures": 0,
"error": "[string \"...\"]:5: native melee kill",
"bots": [
148
],
"events": [
{
"check": "native primary stat preparation",
"passed": true
},
{
"label": "kill_1",
"value": {
"count": 1,
"spawn": 279754
}
},
{
"label": "kill_2",
"value": {
"count": 2,
"spawn": 279761
}
}
]
},
{
"schema": 1,
"run_id": "native_full_quest_follow",
"state": "passed",
"started_unix_ms": 1793383029984,
"elapsed_ms": 21135,
"checks": 3,
"failures": 0,
"error": "",
"bots": [
148
],
"events": [
{
"check": "native primary stat preparation",
"passed": true
},
{
"label": "encounter_1",
"value": {
"spawn": 279778,
"count": 3
}
},
{
"label": "encounter_2",
"value": {
"spawn": 279812,
"count": 4
}
},
{
"label": "encounter_3",
"value": {
"spawn": 279817,
"count": 5
}
},
{
"label": "encounter_4",
"value": {
"spawn": 279819,
"count": 6
}
},
{
"check": "quest completed through native kill credits",
"passed": true
},
{
"check": "quest rewarded by native handler",
"passed": true
},
{
"label": "final",
"value": {
"map": 0,
"max_power": 1000,
"agility": 36,
"max_health": 100000,
"health": 100000,
"transport": 0,
"stamina": 31,
"alive": 1,
"moving": 0,
"z": 80.9000015258789,
"level": 10,
"y": -138,
"combat": 0,
"x": -8912,
"power": 997,
"strength": 1000010,
"guid": 148,
"spirit": 24,
"intellect": 21
}
}
]
},
{
"schema": 1,
"run_id": "native_quest_accept",
"state": "failed",
"started_unix_ms": 1793382405290,
"elapsed_ms": 11286,
"checks": 0,
"failures": 0,
"error": "[string \"...\"]:5: quest accepted",
"bots": [
148
],
"events": [
{
"label": "initial",
"value": {
"max_health": 5000,
"z": 80.9000015258789,
"level": 1,
"power": 0,
"transport": 0,
"alive": 1,
"y": -138,
"guid": 148,
"max_power": 1000,
"x": -8912,
"combat": 0,
"health": 5000,
"map": 0,
"moving": 0
}
}
]
},
{
"schema": 1,
"run_id": "native_quest_replay",
"state": "passed",
"started_unix_ms": 1793382526677,
"elapsed_ms": 274,
"checks": 3,
"failures": 0,
"error": "",
"bots": [
148
],
"events": [
{
"check": "native abandon",
"passed": true
},
{
"check": "mage-only quest rejected for warrior",
"passed": true
},
{
"check": "native warrior quest accepted again",
"passed": true
}
]
},
{
"schema": 1,
"run_id": "native_quest_warrior",
"state": "passed",
"started_unix_ms": 1793382479623,
"elapsed_ms": 294,
"checks": 1,
"failures": 0,
"error": "",
"bots": [
148
],
"events": [
{
"label": "initial",
"value": {
"power": 0,
"max_power": 1000,
"x": -8912,
"map": 0,
"alive": 1,
"moving": 0,
"max_health": 5000,
"y": -138,
"guid": 148,
"combat": 0,
"transport": 0,
"z": 80.9000015258789,
"health": 5000,
"level": 1
}
},
{
"check": "native quest acceptance: INCOMPLETE",
"passed": true
},
{
"label": "quest_objectives",
"value": {
"1": 0,
"2": 0,
"3": 0,
"4": 0
}
},
{
"label": "final",
"value": {
"power": 0,
"max_power": 1000,
"x": -8912,
"map": 0,
"alive": 1,
"moving": 0,
"max_health": 5000,
"y": -138,
"guid": 148,
"combat": 0,
"transport": 0,
"z": 80.9000015258789,
"health": 5000,
"level": 1
}
}
]
},
{
"schema": 1,
"run_id": "paused_admission",
"state": "passed",
"started_unix_ms": 1793383175649,
"elapsed_ms": 0,
"checks": 1,
"failures": 0,
"error": "",
"bots": [],
"events": [
{
"check": "pause and resume",
"passed": true
}
]
},
{
"schema": 1,
"run_id": "prepare_and_move",
"state": "passed",
"started_unix_ms": 1793382523637,
"elapsed_ms": 488,
"checks": 5,
"failures": 0,
"error": "",
"bots": [
148
],
"events": [
{
"check": "provided inventory",
"passed": true
},
{
"check": "level preparation",
"passed": true
},
{
"check": "health preparation",
"passed": true
},
{
"label": "battle_shout_result",
"value": 255
},
{
"check": "normal learned spell cast",
"passed": true
},
{
"label": "after_movement",
"value": {
"level": 10,
"combat": 0,
"y": -138,
"z": 81.68343353271484,
"guid": 148,
"map": 0,
"power": 1000,
"health": 5000,
"transport": 0,
"x": -8910,
"moving": 0,
"alive": 1,
"max_power": 1000,
"max_health": 5000
}
},
{
"check": "MMAP movement completed",
"passed": true
}
]
},
{
"schema": 1,
"run_id": "runtime_failure",
"state": "failed",
"started_unix_ms": 1793382395281,
"elapsed_ms": 0,
"checks": 0,
"failures": 0,
"error": "...server/server/debug/testbots/archive/runtime_failure.lua:1: expected runtime failure",
"bots": [],
"events": []
},
{
"schema": 1,
"run_id": "state_isolation",
"state": "passed",
"started_unix_ms": 1793382401290,
"elapsed_ms": 0,
"checks": 1,
"failures": 0,
"error": "",
"bots": [],
"events": [
{
"check": "isolated globals",
"passed": true
}
]
},
{
"schema": 1,
"run_id": "state_writer",
"state": "passed",
"started_unix_ms": 1793382400290,
"elapsed_ms": 0,
"checks": 1,
"failures": 0,
"error": "",
"bots": [],
"events": [
{
"check": "writer",
"passed": true
}
]
},
{
"schema": 1,
"run_id": "syntax_failure",
"state": "failed",
"started_unix_ms": 1793382402291,
"elapsed_ms": 0,
"checks": 0,
"failures": 0,
"error": "..._server/server/debug/testbots/archive/syntax_failure.lua:1: syntax error near 'is'",
"bots": [],
"events": []
},
{
"schema": 1,
"run_id": "unrestricted_travel",
"state": "passed",
"started_unix_ms": 1793382524639,
"elapsed_ms": 1097,
"checks": 1,
"failures": 0,
"error": "",
"bots": [
148
],
"events": [
{
"label": "low_level_northrend",
"value": {
"moving": 0,
"health": 60,
"power": 1000,
"combat": 0,
"y": 835.5360107421875,
"max_power": 1000,
"guid": 148,
"z": 680.3350219726562,
"x": 5820.18017578125,
"alive": 1,
"transport": 0,
"map": 571,
"level": 1,
"max_health": 60
}
},
{
"check": "testbot bypasses Adventure area/flight restrictions",
"passed": true
}
]
}
]
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,4 @@
[1/4] cd /home/wow_admin/wow_cata_server/source/TrinityCore && /usr/bin/cmake -DBUILDDIR="/home/wow_admin/wow_cata_server/build/debug" -P /home/wow_admin/wow_cata_server/source/TrinityCore/cmake/genrev.cmake /home/wow_admin/wow_cata_server/build/debug
[2/4] Building CXX object src/server/game/CMakeFiles/game.dir/World/AdventureGroupMgr.cpp.o
[3/4] Linking CXX static library src/server/game/libgame.a
[4/4] Linking CXX executable src/server/worldserver/worldserver
@@ -0,0 +1,9 @@
{
"Clientless.Browser.Dungeon.QueueEnabled": null,
"Clientless.Browser.Dungeon.JoinEnabled": null,
"Clientless.Browser.Raid.QueueEnabled": null,
"Clientless.Browser.Raid.JoinEnabled": null,
"Clientless.Browser.Battleground.QueueEnabled": null,
"Clientless.Browser.Battleground.JoinEnabled": null,
"Clientless.Browser.AllowBotOnlyTests": null
}
@@ -0,0 +1,9 @@
{
"Clientless.Browser.Dungeon.QueueEnabled": "1",
"Clientless.Browser.Dungeon.JoinEnabled": "1",
"Clientless.Browser.Raid.QueueEnabled": "1",
"Clientless.Browser.Raid.JoinEnabled": "0",
"Clientless.Browser.Battleground.QueueEnabled": "1",
"Clientless.Browser.Battleground.JoinEnabled": "0",
"Clientless.Browser.AllowBotOnlyTests": "0"
}
@@ -0,0 +1,79 @@
[
{
"status": "fulfilled",
"value": {
"name": "test_browser_admission",
"chunk_id": "5fcb62",
"wall_time_seconds": 0.332960882,
"exit_code": 0,
"original_token_count": 30,
"output": "Browser admission, last-human departure, independent switches, bot-only override, roles and formation progress passed.\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_browser_participants",
"chunk_id": "192197",
"wall_time_seconds": 0.413228084,
"exit_code": 0,
"original_token_count": 31,
"output": "Production participant gate: exact party, disconnect, live switches, bot-only tests and independent human groups passed.\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_browser_match_order",
"chunk_id": "07e26c",
"wall_time_seconds": 0.500924581,
"exit_code": 0,
"original_token_count": 30,
"output": "Native matching order: last human gets dungeon/raid slot, stale bot-only cache is rejected, and test/config gates hold.\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_browser_bg_brackets",
"chunk_id": "94484e",
"wall_time_seconds": 0.032101788,
"exit_code": 0,
"original_token_count": 27,
"output": "Production BG recruitment uses native brackets, minimum levels, random eligibility and available templates.\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_group_role_composition",
"chunk_id": "d43d31",
"wall_time_seconds": 0.575640471,
"exit_code": 0,
"original_token_count": 31,
"output": "Production role composition: correct party, missing healer, surplus tank, inaccessible/offline member and PvP group passed.\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_adventure_groups",
"chunk_id": "37303a",
"wall_time_seconds": 0.973504747,
"exit_code": 0,
"original_token_count": 47,
"output": "Production recruitment: capitals, different goals, native inviter leadership, joining existing groups, capacity/reservations, raid conversion, planned transition and local contact passed.\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_adventure_instance_begin",
"chunk_id": "8e38d1",
"wall_time_seconds": 0.475982874,
"exit_code": 0,
"original_token_count": 30,
"output": "Production entrance travel uses the existing location planner, requires mapping and retains normal social/area travel.\n"
}
}
]
@@ -0,0 +1,111 @@
{
"26": "Offline",
"62": "Offline",
"34": "Offline",
"63": "Offline",
"33": "Offline",
"140": "Offline",
"36": "Offline",
"35": "Offline",
"40": "Online",
"145": "Offline",
"39": "Offline",
"144": "Offline",
"42": "Online",
"146": "Offline",
"41": "Offline",
"151": "Offline",
"44": "Offline",
"147": "Online",
"43": "Online",
"153": "Offline",
"46": "Online",
"152": "Offline",
"45": "Online",
"48": "Offline",
"47": "Offline",
"50": "Offline",
"49": "Offline",
"52": "Offline",
"51": "Offline",
"54": "Online",
"53": "Offline",
"57": "Offline",
"56": "Offline",
"61": "Offline",
"60": "Offline",
"65": "Offline",
"64": "Offline",
"67": "Offline",
"66": "Offline",
"69": "Offline",
"68": "Offline",
"71": "Offline",
"70": "Offline",
"73": "Online",
"72": "Offline",
"75": "Offline",
"74": "Online",
"77": "Offline",
"76": "Offline",
"79": "Offline",
"78": "Offline",
"81": "Offline",
"80": "Offline",
"83": "Offline",
"82": "Offline",
"85": "Offline",
"84": "Offline",
"87": "Offline",
"86": "Offline",
"89": "Offline",
"88": "Offline",
"91": "Online",
"90": "Offline",
"93": "Offline",
"92": "Online",
"95": "Offline",
"94": "Offline",
"97": "Offline",
"96": "Offline",
"99": "Offline",
"98": "Offline",
"101": "Offline",
"100": "Offline",
"103": "Offline",
"102": "Offline",
"105": "Offline",
"104": "Offline",
"107": "Offline",
"106": "Offline",
"109": "Offline",
"108": "Offline",
"111": "Offline",
"110": "Offline",
"113": "Offline",
"112": "Offline",
"115": "Offline",
"114": "Offline",
"117": "Offline",
"116": "Offline",
"119": "Offline",
"118": "Online",
"121": "Offline",
"120": "Offline",
"123": "Offline",
"122": "Offline",
"125": "Online",
"124": "Offline",
"126": "Offline",
"127": "Offline",
"128": "Offline",
"129": "Offline",
"130": "Offline",
"131": "Offline",
"132": "Offline",
"133": "Offline",
"134": "Offline",
"135": "Offline",
"136": "Offline",
"137": "Offline"
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,165 @@
CPC_PERF windowMs=30001 ticks=8335 players=12 travelMs=0.370 perceptionMs=67.893 transportMs=0.621 flightMs=8.488 actionsMs=70.497 controllersMs=501.458 slowGuid=43 slowMs=4.981
[AdventureBot] taxi-complete guid=91 name='Norara' path=38 source=21 destination=11 remaining=1.12
[AdventureBot] taxi-started guid=91 name='Norara' routeStep=6/17 path=2075 source=11 destination=460 cost=0
[AdventureBot] taxi-complete guid=45 name='Kargarrin' path=101 source=26 destination=27 remaining=3.18
[AdventureBot] recorded-ground-spline guid=45 name='Kargarrin' routeStep=6/11 points=30
CPC_PERF windowMs=30000 ticks=4989 players=12 travelMs=0.294 perceptionMs=52.089 transportMs=0.603 flightMs=5.412 actionsMs=46.038 controllersMs=324.855 slowGuid=45 slowMs=7.832
Clientless removal requested for character GUID 45 (account 7), state=Removing.
CLIENTLESS_SAFE_LOGOUT guid=45
Clientless player character GUID 45 (account 7) reached state=Offline.
[AdventureBot] taxi-complete guid=42 name='Zulana' path=2075 source=11 destination=460 remaining=3.48
Clientless removal requested for character GUID 42 (account 8), state=Removing.
CLIENTLESS_SAFE_LOGOUT guid=42
Clientless player character GUID 42 (account 8) reached state=Offline.
[AdventureBot] taxi-complete guid=92 name='Tholgar' path=12 source=6 destination=2 remaining=11.32
[AdventureBot] taxi-started guid=92 name='Tholgar' routeStep=6/8 path=2221 source=2 destination=582 cost=0
CPC_PERF windowMs=30000 ticks=7215 players=10 travelMs=0.464 perceptionMs=52.920 transportMs=0.866 flightMs=7.018 actionsMs=60.225 controllersMs=437.840 slowGuid=42 slowMs=7.830
[AdventureBot] taxi-complete guid=91 name='Norara' path=2075 source=11 destination=460 remaining=3.48
Clientless removal requested for character GUID 91 (account 12), state=Removing.
CLIENTLESS_SAFE_LOGOUT guid=91
Clientless player character GUID 91 (account 12) reached state=Offline.
Command: clientless node list_nearby [Player: Allitester (GUID Full: 0x0000000000000015 Type: Player Low: 21) (Account: 1) X: -4137.014648 Y: -11503.443359 Z: 9.646135 Map: 530 (Outland) Area: 3524 (r) Zone: Unknown Selected: (GUID Full: 0x0000000000000000 Type: None Low: 0)]
Clientless removal requested for character GUID 125 (account 16), state=Removing.
CLIENTLESS_SAFE_LOGOUT guid=125
Clientless player character GUID 125 (account 16) reached state=Offline.
[AdventureBot] taxi-complete guid=92 name='Tholgar' path=2221 source=2 destination=582 remaining=2.61
Clientless removal requested for character GUID 92 (account 11), state=Removing.
CLIENTLESS_SAFE_LOGOUT guid=92
Clientless player character GUID 92 (account 11) reached state=Offline.
CPC_PERF windowMs=30008 ticks=4889 players=7 travelMs=0.789 perceptionMs=41.280 transportMs=0.683 flightMs=4.955 actionsMs=34.863 controllersMs=301.536 slowGuid=92 slowMs=8.410
CPC_PERF windowMs=30000 ticks=5066 players=7 travelMs=0.212 perceptionMs=31.715 transportMs=0.473 flightMs=4.477 actionsMs=24.908 controllersMs=268.089 slowGuid=43 slowMs=0.515
Command: clientless node list_nearby [Player: Allitester (GUID Full: 0x0000000000000015 Type: Player Low: 21) (Account: 1) X: -4032.959229 Y: -11560.104492 Z: -138.286713 Map: 530 (Outland) Area: 3557 ( ) Zone: Unknown Selected: (GUID Full: 0x0000000000000000 Type: None Low: 0)]
clientless info 40
[?2004l [?2004hTC>clientless flight status 40
[?2004l [?2004hTC>clientless transport status 40
[?2004l [?2004hTC>clientless actioninfo 40
[?2004l [?2004hTC>Character GUID 40 is not managed by ClientlessPlayerMgr.
TC> No free-flight state for this character.
TC> No transport ride state for this character.
TC> Clientless GUID 40 has no action execution state.
TC> clientless info 42
[?2004l [?2004hTC>clientless flight status 42
[?2004l [?2004hTC>clientless transport status 42
[?2004l [?2004hTC>clientless actioninfo 42
[?2004l [?2004hTC>clientless info 43
[?2004l [?2004hTC>clientless flight status 43
[?2004l [?2004hTC>clientless transport status 43
[?2004l [?2004hTC>clientless actioninfo 43
[?2004l [?2004hTC>clientless info 45
[?2004l [?2004hTC>clientless flight status 45
[?2004l [?2004hTC>clientless transport status 45
[?2004l [?2004hTC>clientless actioninfo 45
[?2004l [?2004hTC>clientless info 46
[?2004l [?2004hTC>clientless flight status 46
[?2004l [?2004hTC>clientless transport status 46
[?2004l [?2004hTC>clientless actioninfo 46
[?2004l [?2004hTC>Character GUID 42 is not managed by ClientlessPlayerMgr.
TC> No free-flight state for this character.
TC> No transport ride state for this character.
TC> Clientless GUID 42 has no action execution state.
TC> Clientless GUID 43: account=7 state=Online
Intent: <none>
Action queue: 0
TC> Flight capability GUID 43: enabled=1 riding=225 flightLicense=1 coldWeather=0 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Action GUID 43: state=Idle action='' target='' targetGuid=0 entry=0 detail=''
TC> Character GUID 45 is not managed by ClientlessPlayerMgr.
TC> No free-flight state for this character.
TC> No transport ride state for this character.
TC> Clientless GUID 45 has no action execution state.
TC> Clientless GUID 46: account=8 state=Online
Intent: groupformation
location = poi_npc_287214
Action queue: 0
TC> Flight capability GUID 46: enabled=1 riding=225 flightLicense=1 coldWeather=1 outdoors=1
Flight GUID 46: state=Failed map=571 mountSpell=32244 segments=0 avoidances=0 handoffs=0 travelled=0.0 detail='no safe bounded flight corridor; holding position mounted'
TC> No transport ride state for this character.
TC> Action GUID 46: state=Failed action='travel_to_location' target='node:taxi_257' targetGuid=0 entry=0 detail='no safe bounded flight corridor; holding position mounted'
TC> clientless info 54
[?2004l [?2004hTC>clientless flight status 54
[?2004l [?2004hClientless GUID 54: account=8 state=Online
Intent: instance
location = instance_visit_at_5010
Action queue: 0
TTC> C>Flight capability GUID 54: enabled=1 riding=225 flightLicense=1 coldWeather=1 outdoors=1
Flight GUID 54: state=Failed map=1 mountSpell=32245 segments=42 avoidances=40 handoffs=12 travelled=671.0 detail='no safe bounded flight corridor; holding position mounted'
TC> clientless transport status 54
[?2004l [?2004hTC>clientless actioninfo 54
[?2004l [?2004hTC>No transport ride state for this character.
TC> Action GUID 54: state=Failed action='travel_to_location' target='node:taxi_343' targetGuid=0 entry=0 detail='no safe bounded flight corridor; holding position mounted'
TC> clientless info 73
[?2004l [?2004hTC>clientless flight status 73
[?2004l [?2004hTC>clientless transport status 73
[?2004l [?2004hTC>clientless actioninfo 73
[?2004l [?2004hTC>Clientless GUID 73: account=10 state=Online
Intent: rest
location = poi_npc_286763
Action queue: 0
TC> Flight capability GUID 73: enabled=1 riding=225 flightLicense=1 coldWeather=1 outdoors=1
Flight GUID 73: state=Failed map=0 mountSpell=32245 segments=47 avoidances=1 handoffs=28 travelled=978.8 detail='no safe bounded flight corridor; holding position mounted'
TC> No transport ride state for this character.
TC> Action GUID 73: state=Failed action='travel_to_location' target='node:portal_at_4354_source' targetGuid=0 entry=0 detail='no safe bounded flight corridor; holding position mounted'
TC> clientless info 74
[?2004l [?2004hTC>clientless flight status 74
[?2004l [?2004hTC>clientless transport status 74
[?2004l [?2004hTC>clientless actioninfo 74
[?2004l [?2004hTC>clientless info 91
[?2004l [?2004hTC>clientless flight status 91
[?2004l [?2004hTC>clientless transport status 91
[?2004l [?2004hTC>clientless actioninfo 91
[?2004l [?2004hTC>Clientless GUID 74: account=11 state=Online
Intent: adventure
location = poi_tele_318
Action queue: 0
TC> Flight capability GUID 74: enabled=1 riding=225 flightLicense=1 coldWeather=1 outdoors=1
Flight GUID 74: state=Failed map=1 mountSpell=32235 segments=0 avoidances=0 handoffs=0 travelled=0.0 detail='no safe bounded flight corridor; holding position mounted'
TC> No transport ride state for this character.
TC> Action GUID 74: state=Failed action='travel_to_location' target='node:taxi_559' targetGuid=0 entry=0 detail='no safe bounded flight corridor; holding position mounted'
TC> Character GUID 91 is not managed by ClientlessPlayerMgr.
TC> No free-flight state for this character.
TC> No transport ride state for this character.
TC> Clientless GUID 91 has no action execution state.
TC> clientless info 92
[?2004l [?2004hTC>clientless flight status 92
[?2004l [?2004hTC>clientless transport status 92
[?2004l [?2004hTC>clientless actioninfo 92
[?2004l [?2004hTC>clientless info 118
[?2004l [?2004hTC>clientless flight status 118
[?2004l [?2004hTC>clientless transport status 118
[?2004l [?2004hTC>clientless actioninfo 118
[?2004l [?2004hTC>Character GUID 92 is not managed by ClientlessPlayerMgr.
TC> No free-flight state for this character.
TC> No transport ride state for this character.
TC> Clientless GUID 92 has no action execution state.
TC> Clientless GUID 118: account=15 state=Online
Intent: instance
location = instance_visit_at_4406
Action queue: 0
TC> Flight capability GUID 118: enabled=1 riding=225 flightLicense=1 coldWeather=1 outdoors=1
Flight GUID 118: state=Failed map=1 mountSpell=32235 segments=0 avoidances=0 handoffs=0 travelled=0.0 detail='no safe bounded flight corridor; holding position mounted'
TC> No transport ride state for this character.
TC> Action GUID 118: state=Failed action='travel_to_location' target='node:taxi_559' targetGuid=0 entry=0 detail='no safe bounded flight corridor; holding position mounted'
TC> clientless info 125
[?2004l [?2004hTC>clientless flight status 125
[?2004l [?2004hTC>clientless transport status 125
[?2004l [?2004hTC>clientless actioninfo 125
[?2004l [?2004hTC>clientless info 147
[?2004l [?2004hTC>clientless flight status 147
[?2004l [?2004hTC>clientless transport status 147
[?2004l [?2004hTC>clientless actioninfo 147
[?2004l [?2004hTC>clientless logout status
[?2004l [?2004hTC>Character GUID 125 is not managed by ClientlessPlayerMgr.
TC> No free-flight state for this character.
TC> No transport ride state for this character.
TC> Clientless GUID 125 has no action execution state.
TC> Clientless GUID 147: account=17 state=Online
Intent: rest
location = poi_guard_380
Action queue: 0
TC> Flight capability GUID 147: enabled=1 riding=225 flightLicense=1 coldWeather=0 outdoors=1
Flight GUID 147: state=Arrived map=0 mountSpell=32244 segments=31 avoidances=5 handoffs=17 travelled=645.9 detail='landed on validated destination ground'
TC> No transport ride state for this character.
TC> Action GUID 147: state=Moving action='travel_to_location' target='node:taxi_205' targetGuid=0 entry=0 detail='taxi path 771 68 -> 205'
TC> Safe logout pending=7 sessions=7 combat=2 transport=0 flight=6 loading=0
TC> WaypointMovementGenerator::DoInitialize: creature Orgrimmar Wind Rider (Entry: 51346 GUID: 39920 DB GUID: 287138) doesn't have waypoint path id: 0
@@ -0,0 +1,184 @@
Hits=418 cacheSize=401 startMs=1.139 startCalls=2 flightMs=4397.697 flightCalls=
16210
[AdventureBot] travel-location-planned guid=74 name='Nimbin' location='stonefire
_tavern' anchor='ironforge_gate' steps=23 directRadius=300.0 anchorRadius=1000.0
[AdventureBot] travel-route-step guid=74 name='Nimbin' step=1/23 node='flight_de
parture' edgeType='start'
CPC_ROUTE target='orgrimmar_main_gate' totalMs=2714.680 navMs=10.684 probes=122
cacheHits=197 cacheSize=448 startMs=0.679 startCalls=14 flightMs=1672.349 flight
Calls=6486
[AdventureBot] travel-location-planned guid=73 name='Rixzek' location='poi_guard
_451' anchor='orgrimmar_main_gate' steps=8 directRadius=300.0 anchorRadius=1000.
0
[AdventureBot] travel-route-step guid=73 name='Rixzek' step=1/8 node='flight_dep
arture' edgeType='start'
CPC_ROUTE target='portal_go_47196_source' totalMs=5491.408 navMs=31.772 probes=4
14 cacheHits=271 cacheSize=586 startMs=0.186 startCalls=2 flightMs=4187.629 flig
htCalls=7739
[AdventureBot] travel-location-planned guid=54 name='Falaeriel' location='poi_gu
ard_259' anchor='portal_go_47196_source' steps=19 directRadius=300.0 anchorRadiu
s=1000.0
[AdventureBot] travel-route-step guid=54 name='Falaeriel' step=1/19 node='flight
_departure' edgeType='start'
CPC_ROUTE target='portal_at_2230_source' totalMs=2091.826 navMs=21.763 probes=22
5 cacheHits=304 cacheSize=588 startMs=2.674 startCalls=2 flightMs=1626.526 fligh
tCalls=8672
[AdventureBot] travel-location-planned guid=46 name='Selthas' location='poi_npc_
286595' anchor='portal_at_2230_source' steps=7 directRadius=300.0 anchorRadius=1
000.0
[AdventureBot] travel-route-step guid=46 name='Selthas' step=1/7 node='flight_de
parture' edgeType='start'
CPC_ROUTE target='taxi_11' totalMs=615.964 navMs=0.717 probes=6 cacheHits=28 cac
heSize=588 startMs=2.744 startCalls=2 flightMs=514.901 flightCalls=4543
[AdventureBot] travel-location-planned guid=147 name='Seraenriel' location='poi_
guard_346' anchor='taxi_11' steps=3 directRadius=300.0 anchorRadius=1000.0
[AdventureBot] travel-route-step guid=147 name='Seraenriel' step=1/3 node='taxi_
205' edgeType='start'
CPC_PERF windowMs=56327 ticks=1389 players=7 travelMs=0.021 perceptionMs=1.498 t
ransportMs=0.040 flightMs=0.044 actionsMs=42402.047 controllersMs=1914.943 slowG
uid=118 slowMs=788.003
You are teleporting Fizzira to Stormwind.
TC> You are teleporting Selthas to Orgrimmar.
TC> You are teleporting Falaeriel to Orgrimmar.
TC> You are teleporting Rixzek to Orgrimmar.
TC> You are teleporting Nimbin to Stormwind.
TC> You are teleporting Lillina to Stormwind.
TC> You are teleporting Seraenriel to Orgrimmar.
TC> Adventure GUID 43: enabled=1 schedule=1 phase=0 intent='' location='' micro=
'' deadline=0 detail='social/group interaction; original deadline retained'
TC> Safe logout pending=0 sessions=7 combat=0 transport=0 flight=0 loading=0
TC> CPC_ROUTE target='portal_go_47196_source' totalMs=731.206 navMs=32.218 probe
s=276 cacheHits=409 cacheSize=588 startMs=0.077 startCalls=2 flightMs=484.192 fl
ightCalls=7956
[AdventureBot] travel-route-step guid=54 name='Falaeriel' step=1/18 node='flight
_departure' edgeType='start'
SUPPLY_RESTOCK guid=46 day=20261031 daily=0 afterCombat=1
GROUP_CHANNEL guid=46 zone=1637 text='Ich suche Gefaehrten fuer gemeinsame Beruf
sarbeit. Ziel: HaldarrEncampment.'
SUPPLY_TOPUP guid=43 role='healing_potion' item=22829 added=1 stack=20
SUPPLY_RESTOCK guid=43 day=20261031 daily=0 afterCombat=1
clientless adventure area 43
TC>clientless flight status 43
TC>clientless transport status 43
TC>clientless adventure area 46
TC>clientless flight status 46
TC>clientless transport status 46
TC>clientless adventure area 54
TC>clientless flight status 54
TC>clientless transport status 54
TC>clientless adventure area 73
TC>clientless flight status 73
TC>clientless transport status 73
TC>clientless adventure area 74
TC>clientless flight status 74
TC>clientless transport status 74
TC>clientless adventure area 118
TC>clientless flight status 118
TC>clientless transport status 118
TC>clientless adventure area 147
TC>clientless flight status 147
TC>clientless transport status 147
TC>reload config
TC>clientless population reload
TC>clientless test resume
TC>CPC_ROUTE target='portal_at_2171_target' totalMs=9222.790 navMs=9.078 probes=
75 cacheHits=476 cacheSize=592 startMs=13.774 startCalls=26 flightMs=6820.128 fl
ightCalls=11858
[AdventureBot] travel-route-step guid=118 name='Lillina' step=1/2 node='virtual_
ground_entry' edgeType='start'
CPC_ROUTE target='ironforge_gate' totalMs=847.074 navMs=6.864 probes=45 cacheHit
s=413 cacheSize=592 startMs=9.055 startCalls=26 flightMs=678.242 flightCalls=114
31
[AdventureBot] travel-route-step guid=74 name='Nimbin' step=1/3 node='stormwind_
tradecenter' edgeType='start'
CPC_ROUTE target='orgrimmar_main_gate' totalMs=181.155 navMs=0.055 probes=7 cach
eHits=72 cacheSize=592 startMs=13.955 startCalls=27 flightMs=142.518 flightCalls
=2697
[AdventureBot] travel-route-step guid=73 name='Rixzek' step=1/3 node='virtual_gr
ound_entry' edgeType='start'
CPC_ROUTE target='portal_go_47196_source' totalMs=3035.765 navMs=17.478 probes=1
59 cacheHits=378 cacheSize=592 startMs=11.318 startCalls=27 flightMs=2107.831 fl
ightCalls=9941
[AdventureBot] travel-route-step guid=54 name='Falaeriel' step=1/10 node='flight
_departure' edgeType='start'
CPC_ROUTE target='portal_at_2230_source' totalMs=252.187 navMs=7.789 probes=64 c
acheHits=182 cacheSize=592 startMs=11.345 startCalls=27 flightMs=120.746 flightC
alls=6716
[AdventureBot] travel-route-step guid=46 name='Selthas' step=1/2 node='virtual_g
round_entry' edgeType='start'
[AdventureBot] taxi-started guid=147 name='Seraenriel' routeStep=2/3 path=772 so
urce=205 destination=68 cost=1020
Area access GUID 43: revision=1 map=0 area=5148 factionMask=1 minLevel=1 maxLeve
l=85 gap=5 knownLevel=1 preferFlight=0 nodeMask=-1 allowed=1
TC> Flight capability GUID 43: enabled=1 riding=225 flightLicense=1 coldWeather=
0 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Area access GUID 46: revision=1 map=1 area=5170 factionMask=2 minLevel=1 max
Level=85 gap=5 knownLevel=1 preferFlight=0 nodeMask=-1 allowed=1
TC> Flight capability GUID 46: enabled=1 riding=225 flightLicense=1 coldWeather=
1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Area access GUID 54: revision=1 map=1 area=5170 factionMask=2 minLevel=1 max
Level=85 gap=5 knownLevel=1 preferFlight=0 nodeMask=-1 allowed=1
TC> Flight capability GUID 54: enabled=1 riding=225 flightLicense=1 coldWeather=
1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Area access GUID 73: revision=1 map=1 area=5170 factionMask=2 minLevel=1 max
Level=85 gap=5 knownLevel=1 preferFlight=0 nodeMask=-1 allowed=1
TC> Flight capability GUID 73: enabled=1 riding=225 flightLicense=1 coldWeather=
1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Area access GUID 74: revision=1 map=0 area=5148 factionMask=1 minLevel=1 max
Level=85 gap=5 knownLevel=1 preferFlight=0 nodeMask=-1 allowed=1
TC> Flight capability GUID 74: enabled=1 riding=225 flightLicense=1 coldWeather=
1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Area access GUID 118: revision=1 map=0 area=5148 factionMask=1 minLevel=1 ma
xLevel=85 gap=5 knownLevel=1 preferFlight=0 nodeMask=-1 allowed=1
TC> Flight capability GUID 118: enabled=1 riding=225 flightLicense=1 coldWeather
=1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Area access GUID 147: revision=1 map=1 area=5170 factionMask=2 minLevel=1 ma
xLevel=85 gap=5 knownLevel=1 preferFlight=0 nodeMask=-1 allowed=1
TC> Flight capability GUID 147: enabled=1 riding=225 flightLicense=1 coldWeather
=0 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Using enUS DBC Locale
Will clear `logs` table of entries older than 1209600 seconds every 10 minutes.
Client cache version set to: 22011
WORLD: MMap data directory is: /home/wow_admin/wow_cata_server/data/mmaps
VMap support included. LineOfSight: 1, getHeight: 1, indoorCheck: 1
VMap data directory is: /home/wow_admin/wow_cata_server/data/vmaps
Missing name DungeonFinder.LowPopulation.Enable in config file /home/wow_admin/w
ow_cata_server/server/debug/etc/worldserver.conf, add "DungeonFinder.LowPopulati
on.Enable = 0" to this file
Missing name DungeonFinder.LowPopulation.FallbackDelay in config file /home/wow_
admin/wow_cata_server/server/debug/etc/worldserver.conf, add "DungeonFinder.LowP
opulation.FallbackDelay = 60" to this file
Missing name DungeonFinder.LowPopulation.MinPlayers in config file /home/wow_adm
in/wow_cata_server/server/debug/etc/worldserver.conf, add "DungeonFinder.LowPopu
lation.MinPlayers = 1" to this file
Missing name DungeonFinder.LowPopulation.SoloGroupOutsideTimeout in config file
/home/wow_admin/wow_cata_server/server/debug/etc/worldserver.conf, add "DungeonF
inder.LowPopulation.SoloGroupOutsideTimeout = 300" to this file
TC> Adventure loader enabled=1 schema=0 busy=1 pools=50/5/50/5 known=0 rotations
=0 manager=7 error=''
pool=0 faction=alliance persistent=1 target=50 online=0 pending=0 saved=0
pool=1 faction=alliance persistent=0 target=5 online=0 pending=0 saved=0
pool=2 faction=horde persistent=1 target=50 online=0 pending=0 saved=0
pool=3 faction=horde persistent=0 target=5 online=0 pending=0 saved=0
TC> Testbot job admission resumed; active runs remain controlled separately.
TC> [AdventureBot] recorded-ground-spline guid=118 name='Lillina' routeStep=2/2
points=99
[AdventureBot] recorded-ground-spline guid=73 name='Rixzek' routeStep=2/3 points
=9
[AdventureBot] recorded-ground-spline guid=46 name='Selthas' routeStep=2/2 point
s=100
@@ -0,0 +1,284 @@
TC> Registered clientless session for character GUID 74 (account 11), state=Load
ing.
Created clientless player session for character GUID 74 (account 11).
ClientlessPlayerMgr started character GUID 74 (account 11).
Clientless login started for 'Nimbin' (GUID 74, account 11).
TC> Registered clientless session for character GUID 118 (account 15), state=Loa
ding.
Created clientless player session for character GUID 118 (account 15).
ClientlessPlayerMgr started character GUID 118 (account 15).
Clientless login started for 'Lillina' (GUID 118, account 15).
TC> Registered clientless session for character GUID 147 (account 17), state=Loa
ding.
Created clientless player session for character GUID 147 (account 17).
ClientlessPlayerMgr started character GUID 147 (account 17).
Clientless login started for 'Seraenriel' (GUID 147, account 17).
TC> Initialized transport GameObject grids: map=1 instance=0 grids=13 candidates
=17
Clientless player character GUID 118 (account 15) reached state=Online.
Clientless player character GUID 74 (account 11) reached state=Online.
Loading saved respawn time of 1790175804 for spawnid (0,323981) - spawn does not
exist, ignoring
Loading saved respawn time of 1790090644 for spawnid (0,396680) - spawn does not
exist, ignoring
Loading saved respawn time of 1790019808 for spawnid (0,396681) - spawn does not
exist, ignoring
Loading saved respawn time of 1790019853 for spawnid (0,396682) - spawn does not
exist, ignoring
Initialized transport GameObject grids: map=0 instance=0 grids=4 candidates=15
Clientless player character GUID 73 (account 10) reached state=Online.
Clientless player character GUID 54 (account 8) reached state=Online.
Initialized transport GameObject grids: map=571 instance=0 grids=18 candidates=4
7
Clientless player character GUID 46 (account 8) reached state=Online.
Player::LoadFromDB: Player (GUID Full: 0x0000000000000093 Type: Player Low: 147)
has too short taxi destination list, teleport to original node.
Initialized transport GameObject grids: map=530 instance=0 grids=5 candidates=8
Clientless player character GUID 147 (account 17) reached state=Online.
Clientless player character GUID 43 (account 7) reached state=Online.
ClientlessLua initialized, script root '/home/wow_admin/wow_cata_server/source/T
rinityCore/src/server/scripts/Custom/clientless'.
[AdventureBot][Profile] loaded guid=118 name='Lillina' source='generated:118' ho
me='dun_morogh' canGroundMount=1 mounts=3 mountMinDistance=60.0 mountSpeedRate=2
.00 personality=10 regionAffinity=1 activityAffinity=8
PROFILE_PROFESSIONS guid=118 primary=2
ClientlessLua[118]: adventure profile controller ready for Lillina
ClientlessLua[118]: executed generic adventure script '/home/wow_admin/wow_cata_
server/source/TrinityCore/src/server/scripts/Custom/clientless/adventure/generic
.lua'.
AREA_CATALOG revision=1 areas=3206 nodes=1098 taxiResolved=314 taxiClosedUnknown
=141
ADVENTURE_CATALOG locations=2916 actions=86 lines=76 instanceBands=168
INTENT_TRAVEL guid=118 intent='adventure' location='poi_guard_549' area=0
[AdventureBot][Profile] loaded guid=74 name='Nimbin' source='generated:74' home=
'dun_morogh' canGroundMount=1 mounts=3 mountMinDistance=60.0 mountSpeedRate=2.00
personality=10 regionAffinity=1 activityAffinity=8
PROFILE_PROFESSIONS guid=74 primary=2
ClientlessLua[74]: adventure profile controller ready for Nimbin
ClientlessLua[74]: executed generic adventure script '/home/wow_admin/wow_cata_s
erver/source/TrinityCore/src/server/scripts/Custom/clientless/adventure/generic.
lua'.
INTENT_TRAVEL guid=74 intent='social' location='stonefire_tavern' area=0
[AdventureBot][Profile] loaded guid=73 name='Rixzek' source='generated:73' home=
'durotar' canGroundMount=1 mounts=1 mountMinDistance=60.0 mountSpeedRate=2.00 pe
rsonality=10 regionAffinity=1 activityAffinity=8
PROFILE_PROFESSIONS guid=73 primary=2
ClientlessLua[73]: adventure profile controller ready for Rixzek
ClientlessLua[73]: executed generic adventure script '/home/wow_admin/wow_cata_s
erver/source/TrinityCore/src/server/scripts/Custom/clientless/adventure/generic.
lua'.
INTENT_TRAVEL guid=73 intent='leisure' location='poi_guard_451' area=0
[AdventureBot][Profile] loaded guid=54 name='Falaeriel' source='generated:54' ho
me='eversongwoods' canGroundMount=1 mounts=3 mountMinDistance=60.0 mountSpeedRat
e=2.00 personality=10 regionAffinity=1 activityAffinity=8
PROFILE_PROFESSIONS guid=54 primary=2
ClientlessLua[54]: adventure profile controller ready for Falaeriel
ClientlessLua[54]: executed generic adventure script '/home/wow_admin/wow_cata_s
erver/source/TrinityCore/src/server/scripts/Custom/clientless/adventure/generic.
lua'.
INTENT_TRAVEL guid=54 intent='adventure' location='poi_guard_259' area=0
[AdventureBot][Profile] loaded guid=46 name='Selthas' source='generated:46' home
='eversongwoods' canGroundMount=1 mounts=3 mountMinDistance=60.0 mountSpeedRate=
2.00 personality=10 regionAffinity=1 activityAffinity=8
PROFILE_PROFESSIONS guid=46 primary=2
ClientlessLua[46]: adventure profile controller ready for Selthas
ClientlessLua[46]: executed generic adventure script '/home/wow_admin/wow_cata_s
erver/source/TrinityCore/src/server/scripts/Custom/clientless/adventure/generic.
lua'.
INTENT_TRAVEL guid=46 intent='groupformation' location='poi_npc_286595' area=0
[AdventureBot][Profile] loaded guid=147 name='Seraenriel' source='generated:147'
home='eversongwoods' canGroundMount=1 mounts=3 mountMinDistance=60.0 mountSpeed
Rate=2.00 personality=10 regionAffinity=1 activityAffinity=8
PROFILE_PROFESSIONS guid=147 primary=2
ClientlessLua[147]: adventure profile controller ready for Seraenriel
ClientlessLua[147]: executed generic adventure script '/home/wow_admin/wow_cata_
server/source/TrinityCore/src/server/scripts/Custom/clientless/adventure/generic
.lua'.
INTENT_TRAVEL guid=147 intent='groupformation' location='poi_guard_346' area=0
[AdventureBot][Profile] loaded guid=43 name='Fizzira' source='generated:43' home
='dun_morogh' canGroundMount=1 mounts=3 mountMinDistance=60.0 mountSpeedRate=2.0
0 personality=10 regionAffinity=1 activityAffinity=8
PROFILE_PROFESSIONS guid=43 primary=2
ClientlessLua[43]: adventure profile controller ready for Fizzira
ClientlessLua[43]: executed generic adventure script '/home/wow_admin/wow_cata_s
erver/source/TrinityCore/src/server/scripts/Custom/clientless/adventure/generic.
lua'.
clientless info 43
TC>clientless flight status 43
TC>clientless transport status 43
TC>clientless actioninfo 43
TC>clientless interaction 43
TC>clientless info 46
TC>clientless flight status 46
TC>clientless transport status 46
TC>clientless actioninfo 46
TC>clientless interaction 46
TC>clientless info 54
TC>CreatureAI::EngagementOver called even though creature is not currently engag
ed.
CreatureAI::EngagementOver called even though creature is not currently engaged.
clientless flight status 54
TC>clientless transport status 54
TC>clientless actioninfo 54
TC>clientless interaction 54
TC>clientless info 73
TC>clientless flight status 73
TC>clientless transport status 73
TC>clientless actioninfo 73
TC>clientless interaction 73
TC>clientless info 74
TC>clientless flight status 74
TC>clientless transport status 74
TC>clientless actioninfo 74
TC>clientless interaction 74
TC>clientless info 118
TC>clientless flight status 118
TC>clientless transport status 118
TC>clientless actioninfo 118
TC>clientless interaction 118
TC>clientless info 147
TC>clientless flight status 147
TC>clientless transport status 147
TC>clientless actioninfo 147
TC>clientless interaction 147
TC>Clientless GUID 43: account=7 state=Online
Intent: <none>
Action queue: 0
TC> Flight capability GUID 43: enabled=1 riding=225 flightLicense=1 coldWeather=
0 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Clientless GUID 43 has no action execution state.
TC> Bot group intent='groupformation' next='raid' forming=0 botLed=0 capacity=3
meeting='poi_guard_55'
Group travel leader=0 separationMs=0 protected=0 flight=0 pending=0 route='' det
ail=''
Interactions guid=43 grouped=1 leader=47 partner=0 intent='' schedule='groupform
ation:poi_guard_55'
leaderIdleSeconds=0 afkSeconds=0 sociability=0.45 loyalty=0.85
TC> Clientless GUID 46: account=8 state=Online
Intent: groupformation
location = poi_npc_286595
Action queue: 1
[0] travel_to_location
hard_destination = false
id = poi_npc_286595
TC> Flight capability GUID 46: enabled=1 riding=225 flightLicense=1 coldWeather=
1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Action GUID 46: state=Idle action='' target='' targetGuid=0 entry=0 detail='
'
TC> Bot group intent='groupformation' next='profession' forming=1 botLed=0 capac
ity=3 meeting='poi_npc_286595'
No group travel state.
Interactions guid=46 grouped=0 leader=0 partner=0 intent='groupformation' schedu
le=''
leaderIdleSeconds=0 afkSeconds=0 sociability=0.76 loyalty=0.25
TC> Clientless GUID 54: account=8 state=Online
Intent: adventure
location = poi_guard_259
Action queue: 1
[0] travel_to_location
hard_destination = false
id = poi_guard_259
TC> Flight capability GUID 54: enabled=1 riding=225 flightLicense=1 coldWeather=
1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Action GUID 54: state=Idle action='' target='' targetGuid=0 entry=0 detail='
'
TC> Bot group intent='adventure' next='adventure' forming=0 botLed=0 capacity=3
meeting='poi_guard_259'
No group travel state.
Interactions guid=54 grouped=0 leader=0 partner=0 intent='adventure' schedule=''
leaderIdleSeconds=0 afkSeconds=0 sociability=0.90 loyalty=0.64
TC> Clientless GUID 73: account=10 state=Online
Intent: leisure
location = poi_guard_451
Action queue: 1
[0] travel_to_location
hard_destination = false
id = poi_guard_451
TC> Flight capability GUID 73: enabled=1 riding=225 flightLicense=1 coldWeather=
1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Action GUID 73: state=Idle action='' target='' targetGuid=0 entry=0 detail='
'
TC> Bot group intent='leisure' next='groupformation' forming=0 botLed=0 capacity
=3 meeting='poi_guard_451'
No group travel state.
Interactions guid=73 grouped=0 leader=0 partner=0 intent='leisure' schedule=''
leaderIdleSeconds=0 afkSeconds=0 sociability=0.56 loyalty=0.32
TC> Clientless GUID 74: account=11 state=Online
Intent: social
location = stonefire_tavern
Action queue: 1
[0] travel_to_location
hard_destination = false
id = stonefire_tavern
TC> Flight capability GUID 74: enabled=1 riding=225 flightLicense=1 coldWeather=
1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Action GUID 74: state=Idle action='' target='' targetGuid=0 entry=0 detail='
'
TC> Bot group intent='social' next='social' forming=0 botLed=0 capacity=10 meeti
ng='stonefire_tavern'
No group travel state.
Interactions guid=74 grouped=0 leader=0 partner=0 intent='social' schedule=''
leaderIdleSeconds=0 afkSeconds=0 sociability=0.57 loyalty=0.72
TC> Clientless GUID 118: account=15 state=Online
Intent: adventure
location = poi_guard_549
Action queue: 1
[0] travel_to_location
hard_destination = false
id = poi_guard_549
TC> Flight capability GUID 118: enabled=1 riding=225 flightLicense=1 coldWeather
=1 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Action GUID 118: state=Idle action='' target='' targetGuid=0 entry=0 detail=
''
TC> Bot group intent='adventure' next='groupformation' forming=0 botLed=0 capaci
ty=3 meeting='poi_guard_549'
No group travel state.
Interactions guid=118 grouped=0 leader=0 partner=0 intent='adventure' schedule='
'
leaderIdleSeconds=0 afkSeconds=0 sociability=0.64 loyalty=0.75
TC> Clientless GUID 147: account=17 state=Online
Intent: groupformation
location = poi_guard_346
Action queue: 1
[0] travel_to_location
hard_destination = false
id = poi_guard_346
TC> Flight capability GUID 147: enabled=1 riding=225 flightLicense=1 coldWeather
=0 outdoors=1
No free-flight state for this character.
TC> No transport ride state for this character.
TC> Action GUID 147: state=Idle action='' target='' targetGuid=0 entry=0 detail=
''
TC> Bot group intent='groupformation' next='adventure' forming=1 botLed=0 capaci
ty=3 meeting='poi_guard_346'
No group travel state.
Interactions guid=147 grouped=0 leader=0 partner=0 intent='groupformation' sched
ule=''
leaderIdleSeconds=0 afkSeconds=0 sociability=0.29 loyalty=0.86
TC> [AdventureBot] loaded 3933 clientless world points.
[AdventureBot] ignoring travel edge id=1752 from='portal_go_83_source' to='porta
l_go_83_target': node missing
[AdventureBot] ignoring travel edge id=1822 from='dreadmaul' to='blastedlands_cr
ossroad0': node missing
[AdventureBot] ignoring travel edge id=1823 from='swamp_of_s_crossroad0' to='dre
admaul': node missing
[AdventureBot] ignoring travel edge id=1865 from='azurwatch' to='exodar_gate': n
ode missing
[AdventureBot] ignoring travel edge id=1866 from='ammen_valley' to='azurwatch':
node missing
[AdventureBot] ignoring travel edge id=1869 from='taxi_624' to='azurwatch': node
missing
[AdventureBot] loaded travel graph: 1098 node(s), 1938 directed edge(s).
@@ -0,0 +1,754 @@
{
"total": 120,
"passed": 120,
"failed": 0,
"initial_passed": 114,
"adapter_updates": [
"test_adventure_area_node.py",
"test_adventure_day_persistence.py",
"test_adventure_destination_level.py",
"test_adventure_instance_persistence.py",
"test_adventure_interactions.py",
"test_adventure_leisure.py"
],
"results": [
{
"name": "test_adventure_area_node.py",
"exit_code": 0,
"seconds": 0.44,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_area_node.log",
"rerun_output": "Production area destination excludes outside and unreachable graph nodes.\n",
"initial_failure_log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_area_node.log",
"resolved": "Updated native test adapters and added behavior checks."
},
{
"name": "test_adventure_area_policy.py",
"exit_code": 0,
"seconds": 0.546,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_area_policy.log"
},
{
"name": "test_adventure_area_segment.py",
"exit_code": 0,
"seconds": 0.738,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_area_segment.log"
},
{
"name": "test_adventure_async_database.py",
"exit_code": 0,
"seconds": 0.024,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_async_database.log"
},
{
"name": "test_adventure_behavior_policy.py",
"exit_code": 0,
"seconds": 0.805,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_behavior_policy.log"
},
{
"name": "test_adventure_class_rotation.py",
"exit_code": 0,
"seconds": 0.408,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_class_rotation.log"
},
{
"name": "test_adventure_combat_exercise.py",
"exit_code": 0,
"seconds": 0.777,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_combat_exercise.log"
},
{
"name": "test_adventure_combat_preparation.py",
"exit_code": 0,
"seconds": 0.454,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_combat_preparation.log"
},
{
"name": "test_adventure_combat_reactions.py",
"exit_code": 0,
"seconds": 1.117,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_combat_reactions.log"
},
{
"name": "test_adventure_day_persistence.py",
"exit_code": 0,
"seconds": 0.599,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_day_persistence.log",
"rerun_output": "Production day planner: all 24 TINYINT slots restored across logins, incomplete/old-day replacement, full transaction and curiosity/level weighting passed\n",
"initial_failure_log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_day_persistence.log",
"resolved": "Updated native test adapters and added behavior checks."
},
{
"name": "test_adventure_destination_level.py",
"exit_code": 0,
"seconds": 0.339,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_destination_level.log",
"rerun_output": "Native dungeon/raid minimum levels, unknown destinations and strict adventure invitation levels passed\n",
"initial_failure_log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_destination_level.log",
"resolved": "Updated native test adapters and added behavior checks."
},
{
"name": "test_adventure_economy.py",
"exit_code": 0,
"seconds": 0.749,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_economy.log"
},
{
"name": "test_adventure_economy_catalog.py",
"exit_code": 0,
"seconds": 0.038,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_economy_catalog.log"
},
{
"name": "test_adventure_encounter.py",
"exit_code": 0,
"seconds": 0.688,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_encounter.log"
},
{
"name": "test_adventure_equipment_maintenance.py",
"exit_code": 0,
"seconds": 0.607,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_equipment_maintenance.log"
},
{
"name": "test_adventure_exploration.py",
"exit_code": 0,
"seconds": 0.617,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_exploration.log"
},
{
"name": "test_adventure_exploration_catalog.py",
"exit_code": 0,
"seconds": 0.025,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_exploration_catalog.log"
},
{
"name": "test_adventure_generator_equipment.py",
"exit_code": 0,
"seconds": 0.699,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_generator_equipment.log"
},
{
"name": "test_adventure_generator_ownership.py",
"exit_code": 0,
"seconds": 0.793,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_generator_ownership.log"
},
{
"name": "test_adventure_generator_policy.py",
"exit_code": 0,
"seconds": 4.129,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_generator_policy.log"
},
{
"name": "test_adventure_graph_handover.py",
"exit_code": 0,
"seconds": 0.519,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_graph_handover.log"
},
{
"name": "test_adventure_ground_avoidance.py",
"exit_code": 0,
"seconds": 0.475,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_ground_avoidance.log"
},
{
"name": "test_adventure_group_departure.py",
"exit_code": 0,
"seconds": 0.869,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_group_departure.log"
},
{
"name": "test_adventure_group_gather.py",
"exit_code": 0,
"seconds": 0.536,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_group_gather.log"
},
{
"name": "test_adventure_group_plan.py",
"exit_code": 0,
"seconds": 0.672,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_group_plan.log"
},
{
"name": "test_adventure_group_travel.py",
"exit_code": 0,
"seconds": 1.367,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_group_travel.log"
},
{
"name": "test_adventure_groups.py",
"exit_code": 0,
"seconds": 1.36,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_groups.log"
},
{
"name": "test_adventure_instance.py",
"exit_code": 0,
"seconds": 0.51,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance.log"
},
{
"name": "test_adventure_instance_autoresume.py",
"exit_code": 0,
"seconds": 0.742,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_autoresume.log"
},
{
"name": "test_adventure_instance_begin.py",
"exit_code": 0,
"seconds": 0.665,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_begin.log"
},
{
"name": "test_adventure_instance_catalog.py",
"exit_code": 0,
"seconds": 0.028,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_catalog.log"
},
{
"name": "test_adventure_instance_loader.py",
"exit_code": 0,
"seconds": 0.806,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_loader.log"
},
{
"name": "test_adventure_instance_persistence.py",
"exit_code": 0,
"seconds": 0.396,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_persistence.log",
"rerun_output": "Production instance persistence: phases, original deadline, instance ID, transactional HP marker, failed commit and intent release passed.\n",
"initial_failure_log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_persistence.log",
"resolved": "Updated native test adapters and added behavior checks."
},
{
"name": "test_adventure_instance_variants.py",
"exit_code": 0,
"seconds": 0.764,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_variants.log"
},
{
"name": "test_adventure_intent_state.py",
"exit_code": 0,
"seconds": 0.729,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_intent_state.log"
},
{
"name": "test_adventure_interactions.py",
"exit_code": 0,
"seconds": 0.599,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_interactions.log",
"rerun_output": "/tmp/tmpqf3qnkok/test.cpp: In member function \u2018void AdventureInteractionMgr::Leave(Player*, Record&, const char*)\u2019:\n/tmp/tmpqf3qnkok/test.cpp:145:69: warning: unused parameter \u2018reason\u2019 [-Wunused-parameter]\n 145 | void AdventureInteractionMgr::Leave(Player* p,Record& r,char const* reason)\n | ~~~~~~~~~~~~^~~~~~\nproduction interaction manager: invitations, factions, reservations, follow, AFK and deferred departure passed\n",
"initial_failure_log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_interactions.log",
"resolved": "Updated native test adapters and added behavior checks."
},
{
"name": "test_adventure_leisure.py",
"exit_code": 0,
"seconds": 0.539,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_leisure.log",
"rerun_output": "Leisure: substantial curved MMAP routes, mirrored return, interrupted return, rejected corridors, actual arrival, companion follow, riding, flight and fishing passed.\n",
"initial_failure_log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_leisure.log",
"resolved": "Updated native test adapters and added behavior checks."
},
{
"name": "test_adventure_leisure_catalog.py",
"exit_code": 0,
"seconds": 0.03,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_leisure_catalog.log"
},
{
"name": "test_adventure_location_import.py",
"exit_code": 0,
"seconds": 0.633,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_location_import.log"
},
{
"name": "test_adventure_manager_inventory.py",
"exit_code": 0,
"seconds": 0.529,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_manager_inventory.log"
},
{
"name": "test_adventure_micro_reset.py",
"exit_code": 0,
"seconds": 0.345,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_micro_reset.log"
},
{
"name": "test_adventure_native_lfg.py",
"exit_code": 0,
"seconds": 0.389,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_native_lfg.log"
},
{
"name": "test_adventure_navigation_rescue.py",
"exit_code": 0,
"seconds": 0.47,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_navigation_rescue.log"
},
{
"name": "test_adventure_northrend_flight.py",
"exit_code": 0,
"seconds": 0.642,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_northrend_flight.log"
},
{
"name": "test_adventure_poi_binding.py",
"exit_code": 0,
"seconds": 0.644,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_poi_binding.log"
},
{
"name": "test_adventure_population.py",
"exit_code": 0,
"seconds": 0.738,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_population.log"
},
{
"name": "test_adventure_profession_catalog.py",
"exit_code": 0,
"seconds": 0.03,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profession_catalog.log"
},
{
"name": "test_adventure_profession_profile.py",
"exit_code": 0,
"seconds": 0.567,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profession_profile.log"
},
{
"name": "test_adventure_profession_sightline.py",
"exit_code": 0,
"seconds": 0.523,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profession_sightline.log"
},
{
"name": "test_adventure_profession_targets.py",
"exit_code": 0,
"seconds": 0.861,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profession_targets.log"
},
{
"name": "test_adventure_profile_selection.py",
"exit_code": 0,
"seconds": 0.48,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profile_selection.log"
},
{
"name": "test_adventure_pvp.py",
"exit_code": 0,
"seconds": 0.662,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_pvp.log"
},
{
"name": "test_adventure_recovery_policy.py",
"exit_code": 0,
"seconds": 0.489,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_recovery_policy.log"
},
{
"name": "test_adventure_repair_catalog.py",
"exit_code": 0,
"seconds": 0.027,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_repair_catalog.log"
},
{
"name": "test_adventure_rest.py",
"exit_code": 0,
"seconds": 0.785,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rest.log"
},
{
"name": "test_adventure_rest_fire.py",
"exit_code": 0,
"seconds": 0.662,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rest_fire.log"
},
{
"name": "test_adventure_rest_space.py",
"exit_code": 0,
"seconds": 0.465,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rest_space.log"
},
{
"name": "test_adventure_rest_targets.py",
"exit_code": 0,
"seconds": 0.711,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rest_targets.log"
},
{
"name": "test_adventure_retry_policy.py",
"exit_code": 0,
"seconds": 0.372,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_retry_policy.log"
},
{
"name": "test_adventure_rotation.py",
"exit_code": 0,
"seconds": 0.727,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rotation.log"
},
{
"name": "test_adventure_social.py",
"exit_code": 0,
"seconds": 0.947,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_social.log"
},
{
"name": "test_adventure_social_fire.py",
"exit_code": 0,
"seconds": 0.755,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_social_fire.log"
},
{
"name": "test_adventure_supplies.py",
"exit_code": 0,
"seconds": 0.549,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_supplies.log"
},
{
"name": "test_adventure_supply_catalog.py",
"exit_code": 0,
"seconds": 0.024,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_supply_catalog.log"
},
{
"name": "test_adventure_supply_items.py",
"exit_code": 0,
"seconds": 1.171,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_supply_items.log"
},
{
"name": "test_adventure_talent_templates.py",
"exit_code": 0,
"seconds": 0.597,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_talent_templates.log"
},
{
"name": "test_adventure_training_catalog.py",
"exit_code": 0,
"seconds": 0.026,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_training_catalog.log"
},
{
"name": "test_adventure_walk.py",
"exit_code": 0,
"seconds": 0.419,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_walk.log"
},
{
"name": "test_adventure_world_presence.py",
"exit_code": 0,
"seconds": 0.597,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_world_presence.log"
},
{
"name": "test_browser_admission.py",
"exit_code": 0,
"seconds": 0.464,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_browser_admission.log"
},
{
"name": "test_browser_bg_brackets.py",
"exit_code": 0,
"seconds": 0.095,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_browser_bg_brackets.log"
},
{
"name": "test_browser_match_order.py",
"exit_code": 0,
"seconds": 0.708,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_browser_match_order.log"
},
{
"name": "test_browser_participants.py",
"exit_code": 0,
"seconds": 0.575,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_browser_participants.log"
},
{
"name": "test_capital_portal_seed.py",
"exit_code": 0,
"seconds": 0.032,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_capital_portal_seed.log"
},
{
"name": "test_cheat_explore.py",
"exit_code": 0,
"seconds": 0.314,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_cheat_explore.log"
},
{
"name": "test_city_catalog_parents.py",
"exit_code": 0,
"seconds": 0.039,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_city_catalog_parents.log"
},
{
"name": "test_clientless_character_factory.py",
"exit_code": 0,
"seconds": 0.714,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_character_factory.log"
},
{
"name": "test_clientless_companion.py",
"exit_code": 0,
"seconds": 0.504,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_companion.log"
},
{
"name": "test_clientless_damage_notifications.py",
"exit_code": 0,
"seconds": 0.522,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_damage_notifications.log"
},
{
"name": "test_clientless_near_teleport_observer.py",
"exit_code": 0,
"seconds": 0.082,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_near_teleport_observer.log"
},
{
"name": "test_clientless_skill_preparation.py",
"exit_code": 0,
"seconds": 0.173,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_skill_preparation.log"
},
{
"name": "test_clientless_social_notifications.py",
"exit_code": 0,
"seconds": 0.795,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_social_notifications.log"
},
{
"name": "test_default_phase.py",
"exit_code": 0,
"seconds": 0.317,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_default_phase.log"
},
{
"name": "test_empty_spell_effect.py",
"exit_code": 0,
"seconds": 0.096,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_empty_spell_effect.log"
},
{
"name": "test_flight_area_query.py",
"exit_code": 0,
"seconds": 0.596,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_area_query.log"
},
{
"name": "test_flight_departure.py",
"exit_code": 0,
"seconds": 0.754,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_departure.log"
},
{
"name": "test_flight_handoff.py",
"exit_code": 0,
"seconds": 0.69,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_handoff.log"
},
{
"name": "test_flight_landing_search.py",
"exit_code": 0,
"seconds": 0.468,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_landing_search.log"
},
{
"name": "test_flight_policy.py",
"exit_code": 0,
"seconds": 0.804,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_policy.log"
},
{
"name": "test_flight_terrain_fallback.py",
"exit_code": 0,
"seconds": 0.605,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_terrain_fallback.log"
},
{
"name": "test_follow_spline_velocity.py",
"exit_code": 0,
"seconds": 0.098,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_follow_spline_velocity.log"
},
{
"name": "test_free_flight.py",
"exit_code": 0,
"seconds": 0.76,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_free_flight.log"
},
{
"name": "test_free_flight_planner.py",
"exit_code": 0,
"seconds": 2.419,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_free_flight_planner.log"
},
{
"name": "test_graph_probe_cache.py",
"exit_code": 0,
"seconds": 0.489,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_graph_probe_cache.log"
},
{
"name": "test_ground_exit_continuation.py",
"exit_code": 0,
"seconds": 1.255,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_ground_exit_continuation.log"
},
{
"name": "test_group_flight_follow.py",
"exit_code": 0,
"seconds": 0.727,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_group_flight_follow.log"
},
{
"name": "test_group_flight_mount.py",
"exit_code": 0,
"seconds": 0.306,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_group_flight_mount.log"
},
{
"name": "test_group_role_composition.py",
"exit_code": 0,
"seconds": 0.831,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_group_role_composition.log"
},
{
"name": "test_guildless_group_restore.py",
"exit_code": 0,
"seconds": 0.368,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_guildless_group_restore.log"
},
{
"name": "test_item_equip_cooldown.py",
"exit_code": 0,
"seconds": 0.337,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_item_equip_cooldown.log"
},
{
"name": "test_local_spline_segments.py",
"exit_code": 0,
"seconds": 0.575,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_local_spline_segments.log"
},
{
"name": "test_lua_reload.py",
"exit_code": 0,
"seconds": 0.678,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_lua_reload.log"
},
{
"name": "test_native_skill_slot.py",
"exit_code": 0,
"seconds": 0.449,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_native_skill_slot.log"
},
{
"name": "test_player_pure_max_skill.py",
"exit_code": 0,
"seconds": 0.324,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_player_pure_max_skill.log"
},
{
"name": "test_portal_conditions.py",
"exit_code": 0,
"seconds": 0.027,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_portal_conditions.log"
},
{
"name": "test_portal_transfer.py",
"exit_code": 0,
"seconds": 0.445,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_portal_transfer.log"
},
{
"name": "test_portal_use.py",
"exit_code": 0,
"seconds": 1.243,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_portal_use.log"
},
{
"name": "test_rescue_executor.py",
"exit_code": 0,
"seconds": 0.486,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_rescue_executor.log"
},
{
"name": "test_rescue_graph.py",
"exit_code": 0,
"seconds": 3.761,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_rescue_graph.log"
},
{
"name": "test_route_portal_prerequisites.py",
"exit_code": 0,
"seconds": 0.406,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_route_portal_prerequisites.log"
},
{
"name": "test_safe_logout.py",
"exit_code": 0,
"seconds": 0.091,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_safe_logout.log"
},
{
"name": "test_shared_group_route.py",
"exit_code": 0,
"seconds": 0.75,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_shared_group_route.log"
},
{
"name": "test_taxi_import_disabled.py",
"exit_code": 0,
"seconds": 0.029,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_taxi_import_disabled.log"
},
{
"name": "test_testbot_client.py",
"exit_code": 0,
"seconds": 0.587,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_testbot_client.log"
},
{
"name": "test_transport.py",
"exit_code": 0,
"seconds": 1.187,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport.log"
},
{
"name": "test_transport_deck_control.py",
"exit_code": 0,
"seconds": 0.675,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport_deck_control.log"
},
{
"name": "test_transport_deck_mesh.py",
"exit_code": 0,
"seconds": 1.406,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport_deck_mesh.log"
},
{
"name": "test_transport_deck_return.py",
"exit_code": 0,
"seconds": 0.17,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport_deck_return.log"
},
{
"name": "test_transport_grid_loading.py",
"exit_code": 0,
"seconds": 0.501,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport_grid_loading.log"
},
{
"name": "test_travel_telemetry.py",
"exit_code": 0,
"seconds": 0.511,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_travel_telemetry.log"
}
]
}
@@ -0,0 +1,68 @@
[
{
"status": "fulfilled",
"value": {
"name": "test_adventure_destination_level",
"chunk_id": "96276f",
"wall_time_seconds": 0.309534567,
"exit_code": 0,
"original_token_count": 26,
"output": "Native dungeon/raid minimum levels, unknown destinations and strict adventure invitation levels passed\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_adventure_area_node",
"chunk_id": "26d161",
"wall_time_seconds": 0.38132662,
"exit_code": 0,
"original_token_count": 19,
"output": "Production area destination excludes outside and unreachable graph nodes.\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_adventure_day_persistence",
"chunk_id": "426ca7",
"wall_time_seconds": 0.542735438,
"exit_code": 0,
"original_token_count": 39,
"output": "Production day planner: all 24 TINYINT slots restored across logins, incomplete/old-day replacement, full transaction and curiosity/level weighting passed\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_adventure_instance_persistence",
"chunk_id": "14cd62",
"wall_time_seconds": 0.394777229,
"exit_code": 0,
"original_token_count": 35,
"output": "Production instance persistence: phases, original deadline, instance ID, transactional HP marker, failed commit and intent release passed.\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_adventure_leisure",
"chunk_id": "be87f7",
"wall_time_seconds": 0.532656741,
"exit_code": 0,
"original_token_count": 42,
"output": "Leisure: substantial curved MMAP routes, mirrored return, interrupted return, rejected corridors, actual arrival, companion follow, riding, flight and fishing passed.\n"
}
},
{
"status": "fulfilled",
"value": {
"name": "test_adventure_interactions",
"chunk_id": "bc2985",
"wall_time_seconds": 0.622508384,
"exit_code": 0,
"original_token_count": 123,
"output": "/tmp/tmpqf3qnkok/test.cpp: In member function ‘void AdventureInteractionMgr::Leave(Player*, Record&, const char*)’:\n/tmp/tmpqf3qnkok/test.cpp:145:69: warning: unused parameter ‘reason’ [-Wunused-parameter]\n 145 | void AdventureInteractionMgr::Leave(Player* p,Record& r,char const* reason)\n | ~~~~~~~~~~~~^~~~~~\nproduction interaction manager: invitations, factions, reservations, follow, AFK and deferred departure passed\n"
}
}
]
@@ -0,0 +1,764 @@
{
"total": 120,
"passed": 114,
"failed": [
{
"name": "test_adventure_destination_level.py",
"exit_code": 1,
"seconds": 0.339,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_destination_level.log"
},
{
"name": "test_adventure_area_node.py",
"exit_code": 1,
"seconds": 0.44,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_area_node.log"
},
{
"name": "test_adventure_day_persistence.py",
"exit_code": 1,
"seconds": 0.599,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_day_persistence.log"
},
{
"name": "test_adventure_instance_persistence.py",
"exit_code": 1,
"seconds": 0.396,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_persistence.log"
},
{
"name": "test_adventure_leisure.py",
"exit_code": 1,
"seconds": 0.539,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_leisure.log"
},
{
"name": "test_adventure_interactions.py",
"exit_code": 1,
"seconds": 0.599,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_interactions.log"
}
],
"results": [
{
"name": "test_adventure_area_node.py",
"exit_code": 1,
"seconds": 0.44,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_area_node.log"
},
{
"name": "test_adventure_area_policy.py",
"exit_code": 0,
"seconds": 0.546,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_area_policy.log"
},
{
"name": "test_adventure_area_segment.py",
"exit_code": 0,
"seconds": 0.738,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_area_segment.log"
},
{
"name": "test_adventure_async_database.py",
"exit_code": 0,
"seconds": 0.024,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_async_database.log"
},
{
"name": "test_adventure_behavior_policy.py",
"exit_code": 0,
"seconds": 0.805,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_behavior_policy.log"
},
{
"name": "test_adventure_class_rotation.py",
"exit_code": 0,
"seconds": 0.408,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_class_rotation.log"
},
{
"name": "test_adventure_combat_exercise.py",
"exit_code": 0,
"seconds": 0.777,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_combat_exercise.log"
},
{
"name": "test_adventure_combat_preparation.py",
"exit_code": 0,
"seconds": 0.454,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_combat_preparation.log"
},
{
"name": "test_adventure_combat_reactions.py",
"exit_code": 0,
"seconds": 1.117,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_combat_reactions.log"
},
{
"name": "test_adventure_day_persistence.py",
"exit_code": 1,
"seconds": 0.599,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_day_persistence.log"
},
{
"name": "test_adventure_destination_level.py",
"exit_code": 1,
"seconds": 0.339,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_destination_level.log"
},
{
"name": "test_adventure_economy.py",
"exit_code": 0,
"seconds": 0.749,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_economy.log"
},
{
"name": "test_adventure_economy_catalog.py",
"exit_code": 0,
"seconds": 0.038,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_economy_catalog.log"
},
{
"name": "test_adventure_encounter.py",
"exit_code": 0,
"seconds": 0.688,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_encounter.log"
},
{
"name": "test_adventure_equipment_maintenance.py",
"exit_code": 0,
"seconds": 0.607,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_equipment_maintenance.log"
},
{
"name": "test_adventure_exploration.py",
"exit_code": 0,
"seconds": 0.617,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_exploration.log"
},
{
"name": "test_adventure_exploration_catalog.py",
"exit_code": 0,
"seconds": 0.025,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_exploration_catalog.log"
},
{
"name": "test_adventure_generator_equipment.py",
"exit_code": 0,
"seconds": 0.699,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_generator_equipment.log"
},
{
"name": "test_adventure_generator_ownership.py",
"exit_code": 0,
"seconds": 0.793,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_generator_ownership.log"
},
{
"name": "test_adventure_generator_policy.py",
"exit_code": 0,
"seconds": 4.129,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_generator_policy.log"
},
{
"name": "test_adventure_graph_handover.py",
"exit_code": 0,
"seconds": 0.519,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_graph_handover.log"
},
{
"name": "test_adventure_ground_avoidance.py",
"exit_code": 0,
"seconds": 0.475,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_ground_avoidance.log"
},
{
"name": "test_adventure_group_departure.py",
"exit_code": 0,
"seconds": 0.869,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_group_departure.log"
},
{
"name": "test_adventure_group_gather.py",
"exit_code": 0,
"seconds": 0.536,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_group_gather.log"
},
{
"name": "test_adventure_group_plan.py",
"exit_code": 0,
"seconds": 0.672,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_group_plan.log"
},
{
"name": "test_adventure_group_travel.py",
"exit_code": 0,
"seconds": 1.367,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_group_travel.log"
},
{
"name": "test_adventure_groups.py",
"exit_code": 0,
"seconds": 1.36,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_groups.log"
},
{
"name": "test_adventure_instance.py",
"exit_code": 0,
"seconds": 0.51,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance.log"
},
{
"name": "test_adventure_instance_autoresume.py",
"exit_code": 0,
"seconds": 0.742,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_autoresume.log"
},
{
"name": "test_adventure_instance_begin.py",
"exit_code": 0,
"seconds": 0.665,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_begin.log"
},
{
"name": "test_adventure_instance_catalog.py",
"exit_code": 0,
"seconds": 0.028,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_catalog.log"
},
{
"name": "test_adventure_instance_loader.py",
"exit_code": 0,
"seconds": 0.806,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_loader.log"
},
{
"name": "test_adventure_instance_persistence.py",
"exit_code": 1,
"seconds": 0.396,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_persistence.log"
},
{
"name": "test_adventure_instance_variants.py",
"exit_code": 0,
"seconds": 0.764,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_instance_variants.log"
},
{
"name": "test_adventure_intent_state.py",
"exit_code": 0,
"seconds": 0.729,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_intent_state.log"
},
{
"name": "test_adventure_interactions.py",
"exit_code": 1,
"seconds": 0.599,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_interactions.log"
},
{
"name": "test_adventure_leisure.py",
"exit_code": 1,
"seconds": 0.539,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_leisure.log"
},
{
"name": "test_adventure_leisure_catalog.py",
"exit_code": 0,
"seconds": 0.03,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_leisure_catalog.log"
},
{
"name": "test_adventure_location_import.py",
"exit_code": 0,
"seconds": 0.633,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_location_import.log"
},
{
"name": "test_adventure_manager_inventory.py",
"exit_code": 0,
"seconds": 0.529,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_manager_inventory.log"
},
{
"name": "test_adventure_micro_reset.py",
"exit_code": 0,
"seconds": 0.345,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_micro_reset.log"
},
{
"name": "test_adventure_native_lfg.py",
"exit_code": 0,
"seconds": 0.389,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_native_lfg.log"
},
{
"name": "test_adventure_navigation_rescue.py",
"exit_code": 0,
"seconds": 0.47,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_navigation_rescue.log"
},
{
"name": "test_adventure_northrend_flight.py",
"exit_code": 0,
"seconds": 0.642,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_northrend_flight.log"
},
{
"name": "test_adventure_poi_binding.py",
"exit_code": 0,
"seconds": 0.644,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_poi_binding.log"
},
{
"name": "test_adventure_population.py",
"exit_code": 0,
"seconds": 0.738,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_population.log"
},
{
"name": "test_adventure_profession_catalog.py",
"exit_code": 0,
"seconds": 0.03,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profession_catalog.log"
},
{
"name": "test_adventure_profession_profile.py",
"exit_code": 0,
"seconds": 0.567,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profession_profile.log"
},
{
"name": "test_adventure_profession_sightline.py",
"exit_code": 0,
"seconds": 0.523,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profession_sightline.log"
},
{
"name": "test_adventure_profession_targets.py",
"exit_code": 0,
"seconds": 0.861,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profession_targets.log"
},
{
"name": "test_adventure_profile_selection.py",
"exit_code": 0,
"seconds": 0.48,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_profile_selection.log"
},
{
"name": "test_adventure_pvp.py",
"exit_code": 0,
"seconds": 0.662,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_pvp.log"
},
{
"name": "test_adventure_recovery_policy.py",
"exit_code": 0,
"seconds": 0.489,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_recovery_policy.log"
},
{
"name": "test_adventure_repair_catalog.py",
"exit_code": 0,
"seconds": 0.027,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_repair_catalog.log"
},
{
"name": "test_adventure_rest.py",
"exit_code": 0,
"seconds": 0.785,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rest.log"
},
{
"name": "test_adventure_rest_fire.py",
"exit_code": 0,
"seconds": 0.662,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rest_fire.log"
},
{
"name": "test_adventure_rest_space.py",
"exit_code": 0,
"seconds": 0.465,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rest_space.log"
},
{
"name": "test_adventure_rest_targets.py",
"exit_code": 0,
"seconds": 0.711,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rest_targets.log"
},
{
"name": "test_adventure_retry_policy.py",
"exit_code": 0,
"seconds": 0.372,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_retry_policy.log"
},
{
"name": "test_adventure_rotation.py",
"exit_code": 0,
"seconds": 0.727,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_rotation.log"
},
{
"name": "test_adventure_social.py",
"exit_code": 0,
"seconds": 0.947,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_social.log"
},
{
"name": "test_adventure_social_fire.py",
"exit_code": 0,
"seconds": 0.755,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_social_fire.log"
},
{
"name": "test_adventure_supplies.py",
"exit_code": 0,
"seconds": 0.549,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_supplies.log"
},
{
"name": "test_adventure_supply_catalog.py",
"exit_code": 0,
"seconds": 0.024,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_supply_catalog.log"
},
{
"name": "test_adventure_supply_items.py",
"exit_code": 0,
"seconds": 1.171,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_supply_items.log"
},
{
"name": "test_adventure_talent_templates.py",
"exit_code": 0,
"seconds": 0.597,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_talent_templates.log"
},
{
"name": "test_adventure_training_catalog.py",
"exit_code": 0,
"seconds": 0.026,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_training_catalog.log"
},
{
"name": "test_adventure_walk.py",
"exit_code": 0,
"seconds": 0.419,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_walk.log"
},
{
"name": "test_adventure_world_presence.py",
"exit_code": 0,
"seconds": 0.597,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_adventure_world_presence.log"
},
{
"name": "test_browser_admission.py",
"exit_code": 0,
"seconds": 0.464,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_browser_admission.log"
},
{
"name": "test_browser_bg_brackets.py",
"exit_code": 0,
"seconds": 0.095,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_browser_bg_brackets.log"
},
{
"name": "test_browser_match_order.py",
"exit_code": 0,
"seconds": 0.708,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_browser_match_order.log"
},
{
"name": "test_browser_participants.py",
"exit_code": 0,
"seconds": 0.575,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_browser_participants.log"
},
{
"name": "test_capital_portal_seed.py",
"exit_code": 0,
"seconds": 0.032,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_capital_portal_seed.log"
},
{
"name": "test_cheat_explore.py",
"exit_code": 0,
"seconds": 0.314,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_cheat_explore.log"
},
{
"name": "test_city_catalog_parents.py",
"exit_code": 0,
"seconds": 0.039,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_city_catalog_parents.log"
},
{
"name": "test_clientless_character_factory.py",
"exit_code": 0,
"seconds": 0.714,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_character_factory.log"
},
{
"name": "test_clientless_companion.py",
"exit_code": 0,
"seconds": 0.504,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_companion.log"
},
{
"name": "test_clientless_damage_notifications.py",
"exit_code": 0,
"seconds": 0.522,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_damage_notifications.log"
},
{
"name": "test_clientless_near_teleport_observer.py",
"exit_code": 0,
"seconds": 0.082,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_near_teleport_observer.log"
},
{
"name": "test_clientless_skill_preparation.py",
"exit_code": 0,
"seconds": 0.173,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_skill_preparation.log"
},
{
"name": "test_clientless_social_notifications.py",
"exit_code": 0,
"seconds": 0.795,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_clientless_social_notifications.log"
},
{
"name": "test_default_phase.py",
"exit_code": 0,
"seconds": 0.317,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_default_phase.log"
},
{
"name": "test_empty_spell_effect.py",
"exit_code": 0,
"seconds": 0.096,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_empty_spell_effect.log"
},
{
"name": "test_flight_area_query.py",
"exit_code": 0,
"seconds": 0.596,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_area_query.log"
},
{
"name": "test_flight_departure.py",
"exit_code": 0,
"seconds": 0.754,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_departure.log"
},
{
"name": "test_flight_handoff.py",
"exit_code": 0,
"seconds": 0.69,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_handoff.log"
},
{
"name": "test_flight_landing_search.py",
"exit_code": 0,
"seconds": 0.468,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_landing_search.log"
},
{
"name": "test_flight_policy.py",
"exit_code": 0,
"seconds": 0.804,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_policy.log"
},
{
"name": "test_flight_terrain_fallback.py",
"exit_code": 0,
"seconds": 0.605,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_flight_terrain_fallback.log"
},
{
"name": "test_follow_spline_velocity.py",
"exit_code": 0,
"seconds": 0.098,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_follow_spline_velocity.log"
},
{
"name": "test_free_flight.py",
"exit_code": 0,
"seconds": 0.76,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_free_flight.log"
},
{
"name": "test_free_flight_planner.py",
"exit_code": 0,
"seconds": 2.419,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_free_flight_planner.log"
},
{
"name": "test_graph_probe_cache.py",
"exit_code": 0,
"seconds": 0.489,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_graph_probe_cache.log"
},
{
"name": "test_ground_exit_continuation.py",
"exit_code": 0,
"seconds": 1.255,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_ground_exit_continuation.log"
},
{
"name": "test_group_flight_follow.py",
"exit_code": 0,
"seconds": 0.727,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_group_flight_follow.log"
},
{
"name": "test_group_flight_mount.py",
"exit_code": 0,
"seconds": 0.306,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_group_flight_mount.log"
},
{
"name": "test_group_role_composition.py",
"exit_code": 0,
"seconds": 0.831,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_group_role_composition.log"
},
{
"name": "test_guildless_group_restore.py",
"exit_code": 0,
"seconds": 0.368,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_guildless_group_restore.log"
},
{
"name": "test_item_equip_cooldown.py",
"exit_code": 0,
"seconds": 0.337,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_item_equip_cooldown.log"
},
{
"name": "test_local_spline_segments.py",
"exit_code": 0,
"seconds": 0.575,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_local_spline_segments.log"
},
{
"name": "test_lua_reload.py",
"exit_code": 0,
"seconds": 0.678,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_lua_reload.log"
},
{
"name": "test_native_skill_slot.py",
"exit_code": 0,
"seconds": 0.449,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_native_skill_slot.log"
},
{
"name": "test_player_pure_max_skill.py",
"exit_code": 0,
"seconds": 0.324,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_player_pure_max_skill.log"
},
{
"name": "test_portal_conditions.py",
"exit_code": 0,
"seconds": 0.027,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_portal_conditions.log"
},
{
"name": "test_portal_transfer.py",
"exit_code": 0,
"seconds": 0.445,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_portal_transfer.log"
},
{
"name": "test_portal_use.py",
"exit_code": 0,
"seconds": 1.243,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_portal_use.log"
},
{
"name": "test_rescue_executor.py",
"exit_code": 0,
"seconds": 0.486,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_rescue_executor.log"
},
{
"name": "test_rescue_graph.py",
"exit_code": 0,
"seconds": 3.761,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_rescue_graph.log"
},
{
"name": "test_route_portal_prerequisites.py",
"exit_code": 0,
"seconds": 0.406,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_route_portal_prerequisites.log"
},
{
"name": "test_safe_logout.py",
"exit_code": 0,
"seconds": 0.091,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_safe_logout.log"
},
{
"name": "test_shared_group_route.py",
"exit_code": 0,
"seconds": 0.75,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_shared_group_route.log"
},
{
"name": "test_taxi_import_disabled.py",
"exit_code": 0,
"seconds": 0.029,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_taxi_import_disabled.log"
},
{
"name": "test_testbot_client.py",
"exit_code": 0,
"seconds": 0.587,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_testbot_client.log"
},
{
"name": "test_transport.py",
"exit_code": 0,
"seconds": 1.187,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport.log"
},
{
"name": "test_transport_deck_control.py",
"exit_code": 0,
"seconds": 0.675,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport_deck_control.log"
},
{
"name": "test_transport_deck_mesh.py",
"exit_code": 0,
"seconds": 1.406,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport_deck_mesh.log"
},
{
"name": "test_transport_deck_return.py",
"exit_code": 0,
"seconds": 0.17,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport_deck_return.log"
},
{
"name": "test_transport_grid_loading.py",
"exit_code": 0,
"seconds": 0.501,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_transport_grid_loading.log"
},
{
"name": "test_travel_telemetry.py",
"exit_code": 0,
"seconds": 0.511,
"log": "/home/wow_admin/wow_cata_server/source/TrinityCore/doc/clientless/checkpoints/2026-10-31-browser/regression/test_travel_telemetry.log"
}
]
}
@@ -0,0 +1,18 @@
/tmp/vcore-area-node-p5f0rgyg/test.cpp:52:60: error: ‘Record’ has not been declared
52 | void AdventureBehaviorMgr::LatchGroupTravel(Player* player,Record& r)
| ^~~~~~
/tmp/vcore-area-node-p5f0rgyg/test.cpp:52:6: error: no declaration matches ‘void AdventureBehaviorMgr::LatchGroupTravel(Player*, int&)’
52 | void AdventureBehaviorMgr::LatchGroupTravel(Player* player,Record& r)
| ^~~~~~~~~~~~~~~~~~~~
/tmp/vcore-area-node-p5f0rgyg/test.cpp:52:6: note: no functions named ‘void AdventureBehaviorMgr::LatchGroupTravel(Player*, int&)’
/tmp/vcore-area-node-p5f0rgyg/test.cpp:19:8: note: ‘struct AdventureBehaviorMgr’ defined here
19 | struct AdventureBehaviorMgr{std::string AreaNode(Player*,AdventureLocation const&);};
| ^~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "/home/wow_admin/wow_cata_server/source/TrinityCore/tests/clientless/test_adventure_area_node.py", line 37, in <module>
subprocess.run(['c++','-std=c++17',str(cpp),'-o',str(binary)],check=True)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/subprocess.py", line 578, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['c++', '-std=c++17', '/tmp/vcore-area-node-p5f0rgyg/test.cpp', '-o', '/tmp/vcore-area-node-p5f0rgyg/test']' returned non-zero exit status 1.
@@ -0,0 +1 @@
Area inheritance, faction intersection, level limits, flight overrides and invalid data passed.
@@ -0,0 +1 @@
Segment geography cache, faction isolation, reload permissions, lazy completion and terrain swaps passed.
@@ -0,0 +1 @@
Async creation DB contracts: prepared connection masks, native security column names, no future waits, successful-save cache publication and world-update-only loader hook passed
@@ -0,0 +1 @@
24-hour generation, shared intents with changing destinations, broad location classification and repetition penalties passed.
@@ -0,0 +1 @@
Production class rotations: persistent PvE solo pools, native rank aura IDs, combo/holy power/proc/execute/resource gates, Eclipse and healer coverage passed
@@ -0,0 +1 @@
Production exercise: stance/charge/melee/casts, native validation delegation, bounded lifetime, invalid targets and unchanged native phases passed.
@@ -0,0 +1 @@
Production talent learner: native tiers/dependencies/class gates, all 26 legal level60 points, no capstone bypass and repeat safety passed.
@@ -0,0 +1 @@
Production combat focus, damage ordering, risk filters, corpse radius/delay, flight/group override, blocked escape, danger avoidance and malus-free persisted fallback passed.
@@ -0,0 +1,69 @@
/tmp/tmpz_2oe7ue/test.cpp: In lambda function:
/tmp/tmpz_2oe7ue/test.cpp:84:672: error: ‘struct Player’ has no member named ‘getLevel’
84 | Affinity(profile->ActivityAffinity, "social", 1) * Affinity(profile->Personality, "sociability", 0.5f) + Affinity(profile->ActivityAffinity, "tavern", 0.5f) * Affinity(profile->Personality, "tavern_affinity", 0.5f), Affinity(profile->ActivityAffinity, "adventure", 1) * Affinity(profile->Personality, "adventurousness", 0.5f), Affinity(profile->ActivityAffinity, "profession", 0.5f), Affinity(profile->ActivityAffinity, "rest", 0.5f), Affinity(profile->ActivityAffinity, "leisure", 0.5f), Affinity(profile->ActivityAffinity, "economy", 0.5f), Affinity(profile->ActivityAffinity, "instance", 0.5f), Affinity(profile->ActivityAffinity, "raid", 0.25f), (player->getLevel()>=10?Affinity(profile->ActivityAffinity,"pvp",0.2f)*Affinity(profile->Personality,"aggression",0.5f):0.0f)
| ^~~~~~~~
/tmp/tmpz_2oe7ue/test.cpp:85:9: error: no matching function for call to ‘std::vector<double>::vector(<brace-enclosed initializer list>)’
85 | };
| ^
/tmp/tmpz_2oe7ue/test.cpp:85:9: note: there are 12 candidates
In file included from /usr/include/c++/15/vector:68,
from /usr/include/c++/15/bits/random.h:34,
from /usr/include/c++/15/random:50,
from /home/wow_admin/wow_cata_server/source/TrinityCore/src/server/game/World/AdventureBehaviorPolicy.h:8,
from /tmp/tmpz_2oe7ue/test.cpp:2:
/usr/include/c++/15/bits/stl_vector.h:736:9: note: candidate 1: ‘template<class _InputIterator, class> std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with <template-parameter-2-2> = _InputIterator; _Tp = double; _Alloc = std::allocator<double>]’
736 | vector(_InputIterator __first, _InputIterator __last,
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:736:9: note: candidate expects 3 arguments, 9 provided
/usr/include/c++/15/bits/stl_vector.h:708:7: note: candidate 2: ‘std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = double; _Alloc = std::allocator<double>; allocator_type = std::allocator<double>]’
708 | vector(initializer_list<value_type> __l,
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:708:7: note: candidate expects 2 arguments, 9 provided
/usr/include/c++/15/bits/stl_vector.h:689:7: note: candidate 3: ‘std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, std::__type_identity_t<_Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>; std::__type_identity_t<_Alloc> = std::allocator<double>]’
689 | vector(vector&& __rv, const __type_identity_t<allocator_type>& __m)
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:689:7: note: candidate expects 2 arguments, 9 provided
/usr/include/c++/15/bits/stl_vector.h:670:7: note: candidate 4: ‘std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&, std::false_type) [with _Tp = double; _Alloc = std::allocator<double>; allocator_type = std::allocator<double>; std::false_type = std::false_type]’
670 | vector(vector&& __rv, const allocator_type& __m, false_type)
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:670:7: note: candidate expects 3 arguments, 9 provided
/usr/include/c++/15/bits/stl_vector.h:665:7: note: candidate 5: ‘std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&, std::true_type) [with _Tp = double; _Alloc = std::allocator<double>; allocator_type = std::allocator<double>; std::true_type = std::true_type]’
665 | vector(vector&& __rv, const allocator_type& __m, true_type) noexcept
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:665:7: note: candidate expects 3 arguments, 9 provided
/usr/include/c++/15/bits/stl_vector.h:654:7: note: candidate 6: ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, std::__type_identity_t<_Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>; std::__type_identity_t<_Alloc> = std::allocator<double>]’
654 | vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:654:7: note: candidate expects 2 arguments, 9 provided
/usr/include/c++/15/bits/stl_vector.h:650:7: note: candidate 7: ‘std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = double; _Alloc = std::allocator<double>]’
650 | vector(vector&&) noexcept = default;
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:650:7: note: candidate expects 1 argument, 9 provided
/usr/include/c++/15/bits/stl_vector.h:631:7: note: candidate 8: ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>]’
631 | vector(const vector& __x)
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:631:7: note: candidate expects 1 argument, 9 provided
/usr/include/c++/15/bits/stl_vector.h:599:7: note: candidate 9: ‘std::vector<_Tp, _Alloc>::vector(size_type, const value_type&, const allocator_type&) [with _Tp = double; _Alloc = std::allocator<double>; size_type = long unsigned int; value_type = double; allocator_type = std::allocator<double>]’
599 | vector(size_type __n, const value_type& __value,
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:599:7: note: candidate expects 3 arguments, 9 provided
/usr/include/c++/15/bits/stl_vector.h:586:7: note: candidate 10: ‘std::vector<_Tp, _Alloc>::vector(size_type, const allocator_type&) [with _Tp = double; _Alloc = std::allocator<double>; size_type = long unsigned int; allocator_type = std::allocator<double>]’
586 | vector(size_type __n, const allocator_type& __a = allocator_type())
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:586:7: note: candidate expects 2 arguments, 9 provided
/usr/include/c++/15/bits/stl_vector.h:572:7: note: candidate 11: ‘std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = double; _Alloc = std::allocator<double>; allocator_type = std::allocator<double>]’
572 | vector(const allocator_type& __a) _GLIBCXX_NOEXCEPT
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:572:7: note: candidate expects 1 argument, 9 provided
/usr/include/c++/15/bits/stl_vector.h:561:7: note: candidate 12: ‘std::vector<_Tp, _Alloc>::vector() [with _Tp = double; _Alloc = std::allocator<double>]’
561 | vector() = default;
| ^~~~~~
/usr/include/c++/15/bits/stl_vector.h:561:7: note: candidate expects 0 arguments, 9 provided
Traceback (most recent call last):
File "/home/wow_admin/wow_cata_server/source/TrinityCore/tests/clientless/test_adventure_day_persistence.py", line 77, in <module>
subprocess.run(['g++','-std=c++17','-I',str(root/'src/server/game/World'),str(p/'test.cpp'),'-o',str(p/'test')],check=True)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/subprocess.py", line 578, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['g++', '-std=c++17', '-I', '/home/wow_admin/wow_cata_server/source/TrinityCore/src/server/game/World', '/tmp/tmpz_2oe7ue/test.cpp', '-o', '/tmp/tmpz_2oe7ue/test']' returned non-zero exit status 1.
@@ -0,0 +1,12 @@
/tmp/tmp0t3129d0/test.cpp: In member function ‘bool AdventureLocationMgr::LevelEligible(const Player*, const AdventureLocation&, const std::string&, bool) const’:
/tmp/tmp0t3129d0/test.cpp:25:25: error: ‘AdventureGroupPolicy’ has not been declared
25 | if(intent=="pvp" && AdventureGroupPolicy::WorldPvP(location.ZoneId?location.ZoneId:location.AreaId))strictArea=true;
| ^~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "/home/wow_admin/wow_cata_server/source/TrinityCore/tests/clientless/test_adventure_destination_level.py", line 43, in <module>
subprocess.run(['c++','-std=c++17',str(p/'test.cpp'),'-o',str(p/'test')],check=True)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/subprocess.py", line 578, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['c++', '-std=c++17', '/tmp/tmp0t3129d0/test.cpp', '-o', '/tmp/tmp0t3129d0/test']' returned non-zero exit status 1.
@@ -0,0 +1 @@
Economy: native service roles, friendly/phase/LOS/bounds gates, no bot service targets and coherent performative cues passed.
@@ -0,0 +1 @@
Economy catalog: eleven actions, three faction-bound service anchors, native flag gates and idempotent preservation passed.
@@ -0,0 +1 @@
Production encounters: bot-only exclusion, mixed mode, extension hook, wait/revive, wipe fallback/reentry/gather/return, living-player priority, kick exit and offline cleanup passed
@@ -0,0 +1 @@
Production gear maintenance: same birth/retention gate rejects wrong armor/stats, malformed effects, level, temporary, reputation, map, holiday, native-use and slot mismatches passed
@@ -0,0 +1 @@
Exploration: visible native props only, no chests/traps/furniture, phase/map/LOS/range gates and contextual preparation passed.
@@ -0,0 +1 @@
Exploration catalog: ten actions, shared scenes, default wander replacement, explicit category eligibility and preserved edits passed.
@@ -0,0 +1 @@
Production equipment affinity: mana-only/direct/triggered procs, caster/physical stat effects and bounded cycles passed
@@ -0,0 +1 @@
Production generator commands: batch bounds, dedicated ownership, persistent/online/removing retirement protection and retired login refusal passed
@@ -0,0 +1 @@
Production generator: 6144 cultural names and 61440 real Lua profiles, profession coherence, personality ranges, escaping and equipment/armor gates passed
@@ -0,0 +1 @@
Production graph handover waits for ship/taxi/flight/teleport and stops at safe road/node boundaries.
@@ -0,0 +1 @@
Production ground avoidance: harmful/friendly, phase169, height, reachable safe endpoint, rejected paths and reuse without cast/movement thrashing passed
@@ -0,0 +1 @@
Production handoffs: full-group deadline, late clamp, unchanged next slot, kick, restart persistence, expiry and failed save passed.
@@ -0,0 +1 @@
Production five-minute gathering: exact cutoff, safe corridor return request, preparation cancellation, bounded retries, meeting hold and deadline release passed
@@ -0,0 +1 @@
Production group plans: leader meeting/goal/deadline inheritance, untouched personal day, manual preparation and instance-state guards passed.
@@ -0,0 +1 @@
Production group travel: distinct slots, phase169 cliff safety, width, mounts, flight/kick landing, taxi grace, portal queue, bounded separation and recorded-road validation passed
@@ -0,0 +1 @@
Production recruitment: capitals, different goals, native inviter leadership, joining existing groups, capacity/reservations, raid conversion, planned transition and local contact passed.
@@ -0,0 +1 @@
Production instance lifecycle: time budget, true entry, denied/shared entry, native rear exit, restart, expired copy, late arrival, HP and return replay passed.
@@ -0,0 +1 @@
Deferred instance script: missing schema/visits stays idle; no login work on startup; saved visitors resume with Adventure controllers and native accounts.
@@ -0,0 +1 @@
Production entrance travel uses the existing location planner, requires mapping and retains normal social/area travel.
@@ -0,0 +1 @@
Instance migrations: outside entrances only, native graph preserved, disabled/missing transitions excluded, edits and saved visits preserved.
@@ -0,0 +1 @@
Production instance recovery: no startup DB/login work, asynchronous delayed/paced manual recovery, generated-bot quota ownership, absent-schema compatibility and existing preparation ticks passed
@@ -0,0 +1,12 @@
/tmp/tmpiwrafkp_/save.cpp: In member function ‘bool AdventureBehaviorMgr::RestoreInstance(Player*, Record&)’:
/tmp/tmpiwrafkp_/save.cpp:89:7: error: ‘struct AdventureBehaviorMgr::Record’ has no member named ‘ExpeditionStarted’
89 | r.ExpeditionStarted=true;
| ^~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "/home/wow_admin/wow_cata_server/source/TrinityCore/tests/clientless/test_adventure_instance_persistence.py", line 92, in <module>
subprocess.run(['g++','-std=c++17','-I'+str(root/'src/server/game/World'),str(src),'-o',str(exe)],check=True)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/subprocess.py", line 578, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['g++', '-std=c++17', '-I/home/wow_admin/wow_cata_server/source/TrinityCore/src/server/game/World', '/tmp/tmpiwrafkp_/save.cpp', '-o', '/tmp/tmpiwrafkp_/save']' returned non-zero exit status 1.
@@ -0,0 +1 @@
Real Cataclysm DBC: dungeon normal/heroic, obsolete SFK row, classic raid placeholders, native10/25 normal/heroic and physical entrance reuse passed.
@@ -0,0 +1 @@
Production intent arrival, failed/partial travel, deadlines and safe schedule handover passed.
@@ -0,0 +1,22 @@
/tmp/tmpsnethl81/test.cpp: In member function ‘void AdventureInteractionMgr::Leave(Player*, Record&, const char*)’:
/tmp/tmpsnethl81/test.cpp:144:69: warning: unused parameter ‘reason’ [-Wunused-parameter]
144 | void AdventureInteractionMgr::Leave(Player* p,Record& r,char const* reason)
| ~~~~~~~~~~~~^~~~~~
/tmp/tmpsnethl81/test.cpp: In member function ‘bool AdventureInteractionMgr::Update(Player*, uint32)’:
/tmp/tmpsnethl81/test.cpp:250:75: error: ‘class Player’ has no member named ‘isUsingLfg’
250 | bool protectedTravel=sAdventureGroupTravelMgr->Protected(p) || p->isUsingLfg() || p->InBattlegroundQueue() || p->InBattleground();
| ^~~~~~~~~~
/tmp/tmpsnethl81/test.cpp:250:94: error: ‘class Player’ has no member named ‘InBattlegroundQueue’
250 | bool protectedTravel=sAdventureGroupTravelMgr->Protected(p) || p->isUsingLfg() || p->InBattlegroundQueue() || p->InBattleground();
| ^~~~~~~~~~~~~~~~~~~
/tmp/tmpsnethl81/test.cpp:250:122: error: ‘class Player’ has no member named ‘InBattleground’
250 | bool protectedTravel=sAdventureGroupTravelMgr->Protected(p) || p->isUsingLfg() || p->InBattlegroundQueue() || p->InBattleground();
| ^~~~~~~~~~~~~~
Traceback (most recent call last):
File "/home/wow_admin/wow_cata_server/source/TrinityCore/tests/clientless/test_adventure_interactions.py", line 133, in <module>
subprocess.run(['g++','-std=c++17','-Wall','-Wextra','-I',str(root/'src/server/game/World'),str(p/'test.cpp'),'-o',str(p/'test')],check=True)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/subprocess.py", line 578, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['g++', '-std=c++17', '-Wall', '-Wextra', '-I', '/home/wow_admin/wow_cata_server/source/TrinityCore/src/server/game/World', '/tmp/tmpsnethl81/test.cpp', '-o', '/tmp/tmpsnethl81/test']' returned non-zero exit status 1.
@@ -0,0 +1,22 @@
/tmp/vcore-leisure-5aj8oipv/test.cpp: In member function ‘void AdventureBehaviorMgr::SetWanted(Player*, Record&, const std::string&, const std::string&, time_t)’:
/tmp/vcore-leisure-5aj8oipv/test.cpp:458:33: error: ‘struct AdventureBehaviorMgr::Record’ has no member named ‘ExpeditionStarted’
458 | if(r.WantedIntent!=intent)r.ExpeditionStarted=r.ExpeditionIntent==intent && GameTime::GetGameTime()<r.ExpeditionUntil;
| ^~~~~~~~~~~~~~~~~
/tmp/vcore-leisure-5aj8oipv/test.cpp:458:53: error: ‘struct AdventureBehaviorMgr::Record’ has no member named ‘ExpeditionIntent’
458 | if(r.WantedIntent!=intent)r.ExpeditionStarted=r.ExpeditionIntent==intent && GameTime::GetGameTime()<r.ExpeditionUntil;
| ^~~~~~~~~~~~~~~~
/tmp/vcore-leisure-5aj8oipv/test.cpp:458:107: error: ‘struct AdventureBehaviorMgr::Record’ has no member named ‘ExpeditionUntil’
458 | if(r.WantedIntent!=intent)r.ExpeditionStarted=r.ExpeditionIntent==intent && GameTime::GetGameTime()<r.ExpeditionUntil;
| ^~~~~~~~~~~~~~~
/tmp/vcore-leisure-5aj8oipv/test.cpp:459:61: error: ‘sAdventureGroupMgr’ was not declared in this scope; did you mean ‘sAdventureCombatMgr’?
459 | if(r.WantedIntent!=intent || r.WantedLocation!=location)sAdventureGroupMgr->CancelBrowser(player);
| ^~~~~~~~~~~~~~~~~~
| sAdventureCombatMgr
Traceback (most recent call last):
File "/home/wow_admin/wow_cata_server/source/TrinityCore/tests/clientless/test_adventure_leisure.py", line 239, in <module>
subprocess.run(['c++','-std=c++17','-I'+str(root/'src/server/game/World'),str(cpp),'-o',str(binary)],check=True)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/subprocess.py", line 578, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['c++', '-std=c++17', '-I/home/wow_admin/wow_cata_server/source/TrinityCore/src/server/game/World', '/tmp/vcore-leisure-5aj8oipv/test.cpp', '-o', '/tmp/vcore-leisure-5aj8oipv/test']' returned non-zero exit status 1.
@@ -0,0 +1 @@
Leisure migration: native city anchor, shared scene references, pet-walk mapping and preservation of edited weights passed.
@@ -0,0 +1 @@
Locations: actual Debug SMALLINT reads retain continent IDs; explicit location eligibility and edited weight overrides passed.
@@ -0,0 +1 @@
Production inventory maintenance: only full backpacks, native stack trimming, level-appropriate supplies, tools, leash, fishing pole, containers and untouched equipped slots passed
@@ -0,0 +1 @@
Micro cleanup ends physical local movement, preserves transit and does not stand up dead players.
@@ -0,0 +1 @@
Native LFG: ID26, localized standard channel, zone eligibility, join verification and population throttle passed
@@ -0,0 +1 @@
Real hearth recovery: grace, animation, faction capitals, cancellation, activity gaps and long taxi grace passed
@@ -0,0 +1 @@
Production flight: legacy defaults, level60 riding, level68 cold weather, all-entry denial, repair, faction mount, preserved weights and ordinary-player isolation passed.
@@ -0,0 +1 @@
POI native gossip graph: recursive menus/cycles, unique map, ambiguity rejection, local height anchor.
@@ -0,0 +1 @@
Production population: four independent faction/persistence targets, fair selection, pending reservations, retries, existing inventory, once-per-boot rotation and connected/persistent protection passed
@@ -0,0 +1 @@
Profession catalog: native workstation roles, no workshop/resource inference, idempotence and preserved edits passed.
@@ -0,0 +1 @@
Production profession parser, real Lua profiles, primary restrictions and secondary permissions passed.
@@ -0,0 +1 @@
Native workstation working-surface sightline and blocked geometry rejection passed.
@@ -0,0 +1 @@
Production profession targets: native locks, phase/spawn/loot, stations, corpses, history and trainers passed.
@@ -0,0 +1 @@
Production profile selection: real Lua ID dictionaries, exact 9:1 companion weighting, zero/negative/infinite/NaN/oversized weights rejected and legacy companion fallback passed
@@ -0,0 +1 @@
Production PvP selector: level boundaries, radius, factions, native legality, navigation, intent, personality and resources passed.
@@ -0,0 +1 @@
Five quick redeaths arm the NEXT graveyard fallback; rescue grace/cooldown and asymmetric invitation limits passed.
@@ -0,0 +1 @@
Repair action catalog: proper native service requirement, economy-only intent and preserved administrator weights passed.
@@ -0,0 +1 @@
Recovery: authored places, bounds, arrival, occupancy, full rest duration, failure, reload and interruption passed.
@@ -0,0 +1 @@
Rest fire: shared scene mapping, additive migration, preserved weights and authored creation-place policy passed.
@@ -0,0 +1 @@
Sleep footprint: furniture, body extent, overhead collision, ledges, stairs, missing heights, rotation and scale passed.
@@ -0,0 +1 @@
Native sleep targets: chair exclusion, phase, despawn, floor search, indoors, water, storey, occupancy, bed/surface preference passed.
@@ -0,0 +1 @@
Travel failures: exponential/jittered retry spacing, strict 30s bound and overflow safety passed
@@ -0,0 +1,11 @@
/tmp/tmp6x5ibwkk/test.cpp: In instantiation of ‘std::string Trinity::StringFormat(const char*, A ...) [with A = {}; std::string = std::__cxx11::basic_string<char>]’:
/tmp/tmp6x5ibwkk/test.cpp:22:126: required from ‘void Tx::PAppend(const char*, A ...) [with A = {}]’
22 | struct Tx{std::vector<std::string>sql;template<class...A>void PAppend(char const*f,A...a){sql.push_back(Trinity::StringFormat(f,a...));}};
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/tmp/tmp6x5ibwkk/test.cpp:51:75: required from here
51 | auto barrier=CharacterDatabase.BeginTransaction();barrier->PAppend("DO 0");
| ~~~~~~~~~~~~~~~~^~~~~~~~
/tmp/tmp6x5ibwkk/test.cpp:11:113: warning: format not a string literal and no format arguments [-Wformat-security]
11 | namespace Trinity{template<class...A>std::string StringFormat(char const* f,A...args){char b[4096];std::snprintf(b,sizeof(b),f,args...);return b;}}
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
Production rotation: connected/native-online protection, ownership refusal, native delete failure, world cleanup failure and journal-retained retry before successful profile/plan/state removal passed
@@ -0,0 +1 @@
Production social flow: approach before talk, coherent greeting/talk/listen/farewell, lost targets, native chair confirmation and real fire confirmation passed.
@@ -0,0 +1 @@
Shared fire: native detection/provisioning, buildings/city/parent/zone restrictions, existing fires and outdoor/water checks passed.
@@ -0,0 +1 @@
Production supplies: exact10% boundary, bandage-before-food, native lockout fallback, recovery completion, combat potions, mana-only drinking and daily/post-combat top-ups passed.
@@ -0,0 +1 @@
Supply migrations: all five roles, level60 netherweave tier, editable/disabled catalog preservation and persistent daily stamp passed.
@@ -0,0 +1 @@
Production native-item delegation: usable bandage tiers, native cooldown/lockout gates, real inventory consumption, self targeting and level60 secondary caps passed.
@@ -0,0 +1 @@
Canonical Cata PvE builds: 4.3.4 class/tree/rank/prerequisite gates, all 1..41 point budgets, solo selection coverage passed
@@ -0,0 +1 @@
Training catalog: real dummy requirement, leisure-only intent, bounded duration and preserved administrator weights passed.
@@ -0,0 +1 @@
Production travel gait reaches native spline, survives repaths, prevents mounting and preserves legacy running defaults.
@@ -0,0 +1 @@
Production world presence: persistent PvP, Worgen intent/arrival decisions, travel deferral, native Running Wild, human horse and aura cleanup passed
@@ -0,0 +1 @@
Browser admission, last-human departure, independent switches, bot-only override, roles and formation progress passed.
@@ -0,0 +1 @@
Production BG recruitment uses native brackets, minimum levels, random eligibility and available templates; native Type1 LFR and legacy Type2 browser options.
@@ -0,0 +1 @@
Native matching order: last human gets dungeon/raid slot, stale bot-only cache is rejected, and test/config gates hold.
@@ -0,0 +1 @@
Production participant gate: exact party, disconnect, live switches, bot-only tests and independent human groups passed.
@@ -0,0 +1 @@
Capital seed: native direct/script targets, factions, quest transit closed, wrong spawn entry rejected, manual edits and disabled flags preserved, idempotence.
@@ -0,0 +1 @@
Native cheat explore reveals/clears every zone field on selected player; caller stays unchanged.
@@ -0,0 +1 @@
Editable city catalog parents: Dalaran/CrystalSong, Shattrath/Terokkar, operator preservation, map guard, idempotence and new DBC exports.
@@ -0,0 +1 @@
Production native factory: character/profile atomicity, failed preparation/commit, cache publication order, account/security/name/cap gates passed
@@ -0,0 +1 @@
Native companion: provisioning, delayed summon, ownership, real item target, leash confirmation/timeout, reuse and cleanup passed.
@@ -0,0 +1 @@
Production damage handoff: 16 concurrent map-worker writers, ordered GUID-only events, clientless-only/positive damage gates and post-health notification passed.
@@ -0,0 +1 @@
Production near-teleport observer packet includes actual mover GUID and destination; clientless timestamp refreshed, regular client timestamp preserved.
@@ -0,0 +1 @@
Production offline skill preparation: native tier caps, no downgrading, rank/level/race/tier gates and no modification of online players passed
@@ -0,0 +1 @@
Production social/helper queues: concurrent GUID-only delivery, bounded queues, human/self/zero-damage gates, pet attribution and lethal-cleanup ordering passed
Loaded 100 of 245 files, more files were not shown because too many files have changed in this diff. Show more