Implement native bot recruitment and player admission, leader-owned destinations, intent-specific capacities, preparation scheduling and shared graph and flight travel. Support native group instance visits and separate raid entrances. Include pending personality-driven faction PvP and solo fleeing, preserving the absolute group fleeing exclusion. Add regression fixtures, migration, documentation and test-server evidence.
901 lines
55 KiB
Markdown
901 lines
55 KiB
Markdown
# Aktuell: Automatische Botgruppen, Raid und Gruppenbildung
|
||
|
||
Nutzer beauftragte Umsetzung der gemeinsam bestätigten Planung. Vollständige
|
||
Doku doc/clientless/bot-groups.md. Vorherige uncommittete PvP-/Fluchtarbeit
|
||
wird zusammen mit den Gruppenänderungen auf Nutzerauftrag lokal committet; kein Push. Neue AdventureGroupMgr/Policy,
|
||
native Einladungen und Erst-Einlader-Führung, lokale Gruppen und Kontakt in
|
||
Hauptstädten via sucheNachGruppe (Spielerchat wird nicht ausgewertet).
|
||
Vorbereitungsintent groupformation vergleicht NÄCHSTEN Intent, nie Ziele;
|
||
Sammelpunkt ist Gruppenbildungs-Location des Führers. Instanz5/Raid20 inklusive
|
||
Führer, andere Intents3/social10. Offene Einladungen werden mitgezählt.
|
||
Anführer bestimmt Intent/Ziel/Frist; eigene Tagespläne bleiben erhalten.
|
||
AFK während Bildung ausgesetzt, Übergang zu geplanter Aktivität kein Austritt.
|
||
Kein Warten auf Vollständigkeit/Anwesenheit. Rollen später. Botführer darf PvP
|
||
beginnen, Mitglieder assistieren; Gruppen fliehen weiterhin nie.
|
||
Spieler-Invite an gruppierten Bot erzeugt generische GUID-JoinRequest-Queue,
|
||
Botführer kann Gegeneinladung anbieten und übergibt nach Beitritt nativ Führung.
|
||
Native provisorische Gruppenführer ignorieren eigene Einladung (Regressiontest).
|
||
Raidbildung wählt native25-normal Schwierigkeit; Katalog verlangt>=20 Kapazität
|
||
mit nativem Downscaling für alte20/40-Raids; Zehner-only-Ziele ausgeschlossen.
|
||
Neue CPC route_source-Snapshots mit nativem catch-up, gemeinsame Flugsegmentspur,
|
||
native Gruppeninstanzen statt alter Solo-Sperre. Raid/Dungeon nach nativen Maps.
|
||
Migration world2026_10_28_01 zweimal auf Test-DB angewendet, bestehende Tage erhalten.
|
||
Zusätzlicher Diagnosebefehl adventure prepare <guid> <next> <capital-location> [s].
|
||
Alle66 Tests bestanden; abschließende Interaktions- und Plan-Regressionsfälle
|
||
zusätzlich erneut bestanden. Debug-j10 erfolgreich, abschließend installiert.
|
||
Aktueller Testserver122595 läuft; frische Ready-Meldung, Prozess und Port8085
|
||
bestätigt. Vier Testbots online, Arthoran26 weiterhin offline.
|
||
Nach Anmeldung bildete Lenara31 nativ Gruppe mit Aelion29 (Log Invite accepted1,
|
||
beide grouped1/leader31); nach Stop-Intentwechsel nativ wieder aufgelöst.
|
||
Dabei gefunden/behoben: Gruppentimer darf Behavior.Update bei Botgruppen nicht
|
||
auf1Hz mit falschem diff drosseln; Regressiontest sichert normale World-Ticks.
|
||
Stop-Wanted sperrt sofort weitere Rekrutierung/Annahme, ohne veralteten Intent.
|
||
Diagnose interaction <guid> leave: sicheres natives Verlassen/Testaufräumen.
|
||
Bots29/31 abschließend beide enabled0/grouped0 in Goldhain bestätigt und gespeichert;
|
||
vor Login nativ tele name435 zur sicheren Bereitstellung abseits Flugstart.
|
||
30/32 normale soziale Intents. Keine temporären Profiländerungen/Overrides.
|
||
Persönlicher Plan wird beim Austritt wiederhergestellt; übernommene Ziele ändern
|
||
nicht die persönliche Austrittssignatur (besonders manuelle Aufträge).
|
||
Belege: checkpoints/2026-10-28-bot-groups/, /tmp/vcore-groups-tests-final.log.
|
||
Kein vollständiger Live-Gruppenlauf oder Raid abgenommen.
|
||
|
||
---
|
||
|
||
# Aktuell: Solo-Fluchtlogik ergänzt
|
||
|
||
Nutzer hat Flucht vor deutlich stärkeren Gegnern und bei HP<20% beauftragt,
|
||
mit absoluter Ausnahme für Gruppenmitglieder. Implementierung CombatMgr/Policy:
|
||
+6 Level, gleich-/höherstufige Elite/Bosse, tatsächliche Angreifer; alle Arten.
|
||
Gruppenbeitritt bricht Flucht ab. Alle2s 24 MMAP-Fluchtpunkte, Abstand vergrößern,
|
||
weitere sichtbare Feinde meiden; kein Pfad => stationäre Nahkampfverteidigung.
|
||
Ende erst außerhalb nativem Kampf UND50Y Abstand zur letzten Bedrohung.
|
||
Bestehende Tränke, Intentfristen und Todesablauf erhalten. Details combat-reactions.md.
|
||
Vorherige uncommittete PvP-Änderungen erhalten. Alle63 Tests bestanden inkl.
|
||
erweiterter produktiver Flucht-Zustandsmaschine (/tmp/vcore-flee-tests.log).
|
||
Debug-j10 erfolgreich gebaut und installiert. Testserver105886 mit frischer
|
||
Ready-Meldung und Port8085 geprüft. Vier Testbots erneut angemeldet;29/31
|
||
nach Profilinitialisierung erneut gestoppt (früher Stop während Loading wird
|
||
vom Profilstart überschrieben). Aelion begann kurz nativen Flug Goldhain->SW;
|
||
danach nativer tele name435 nach Goldhain, ebenso Lenara. Beide Status
|
||
endgültig enabled0/stopped bestätigt, saveall. Aelion am nahen taxi_168,
|
||
Lenara am Goldshire-Telepunkt. Keine Live-Fluchtabnahme.
|
||
Kein Commit/Push.
|
||
|
||
---
|
||
|
||
# Aktuell: Offensive Fraktionsbegegnungen
|
||
|
||
Nutzer beauftragte PvP-Erstangriffe gegen gegnerische Bots/Spieler/NPCs:
|
||
50 Yards, maximal +/-5 Level inklusive, Persönlichkeit und Intent maßgeblich.
|
||
Umsetzung in AdventureCombatMgr/Policy; Details combat-reactions.md.
|
||
Alle30s Entscheidung mit adventurousness*danger_tolerance*Intentgewicht;
|
||
Gruppen keine autonomen Erstangriffe, Ruhe/Instanz/deaktiviert friedlich.
|
||
Native PvP/Phase/LOS/MMAP-Regeln, HP60/Mana30 und keine Elite/Boss-NPCs.
|
||
PvE-Zielwahl schließt Fraktions-NPCs aus (kein Umgehen der PvP-Regeln).
|
||
Selbstverteidigung unverändert; eigenständige Fluchtlogik bislang NICHT vorhanden.
|
||
Neuer Produktionstest test_adventure_pvp.py. Debug-j10 erfolgreich gebaut und
|
||
installiert; alle63 Tests bestanden (/tmp/vcore-pvp-tests.log). Testserver100594
|
||
mit frischer Ready-Meldung und Port8085 verifiziert. Bots29..32 nach sauberem
|
||
Logout/Neustart wieder online;29/31 autonome Intents wieder gestoppt,29 steht
|
||
nun am nahen taxi_582 in Goldhain (kurze initiale Reise vor Stop),31 am Node.
|
||
Arthoran26 bleibt offline. Live-PvP nicht ausgeführt/abgenommen.
|
||
|
||
Vorheriger begrenzter Goldhain-Test: Lenara Emote-Antwort und Einladung
|
||
abgelehnt, Aelion Einladung angenommen im Server.log belegt. Folgen nicht
|
||
anhand dieser Logs bestätigt. Aelion29/Lenara31 am goldshire_center, autonome
|
||
Intents für den Test gestoppt. Arthoran26 weiterhin offline. Horde30/32 anderswo.
|
||
Keine neuen Charaktere, Migrationen oder Profiländerungen für PvP erforderlich.
|
||
Kein Commit/Push beauftragt für diese Änderungen.
|
||
|
||
---
|
||
|
||
# Aktuell: Automatische AdventureBot-Erzeugung abgeschlossen
|
||
|
||
Stand28.10.2026 auf feature/clientless-player-core. Nutzer beauftragte einen
|
||
Generator für neue Bots mit RP-Namen/Profilen, passenden Fähigkeiten, Berufen
|
||
und Ausrüstung; Kennzeichnung für spätere temporäre Rotation. Nutzer hat den
|
||
lokalen Commit beauftragt; kein Push. SQL-Migration2026_10_28_00_adventure_generator.sql
|
||
wegen SQL-Ignore bereits gezielt vorgemerkt; Test-Charakter-DB zweimal angewendet.
|
||
|
||
ClientlessCharacterFactory ist generische native Infrastruktur ohne Adventure-
|
||
Abhängigkeit: Player::Create, validierte zufällige Optik, Geburt auf Zielstufe
|
||
via native Initialisierung statt GiveLevel-Belohnungen, Vorbereitungscallback,
|
||
gemeinsamer Save+Profil+Homebind+Ownership-Commit; Cache/Hook erst nach Erfolg.
|
||
Neue AdventureGeneratorMgr/Policy: zehn native legale Klassen-Archetypen,
|
||
zwölf Völker, kulturelle Namensgrammatiken, Herkunft/Beruf/Personalityprofile.
|
||
Profile liegen in Character-DB und werden als generated:<guid> im vorhandenen
|
||
Lua-Sandboxparser geladen. Handgeschriebene Namensprofile haben Vorrang und ihre
|
||
Namen werden bei Erzeugung reserviert. Keine Laufzeitdateien im Profilquellbaum.
|
||
|
||
Wichtige Live-Fixes: Berufs-Lernzauber mit Effekt44 wirken vor Welteintritt
|
||
nicht zuverlässig. Native SkillRaceClass/SkillTiers + Player::SetSkill bereiten
|
||
legale volle Ränge vor; Hilfsfunktion verweigert Online-Spieler. Online-
|
||
Selbstversorgung unverändert. Rollen-Ausrüstung prüft native Equipregeln,
|
||
Werte, temporäre/reputations-/gebietsgebundene Items, Mana-/Zauber-/physische
|
||
Effekte und keine doppelten ausgerüsteten Einträge. Ersetzte Items bleiben in
|
||
Taschen. Native Trainer::CanTeachSpell lediglich read-only öffentlich gemacht.
|
||
Arms nutzt vorhandenen Talentplan, andere Klassen gültigen Tier-Basisplan.
|
||
|
||
Befehle: clientless generate create <account> <count> [level faction archetype
|
||
persistent|temporary seed]; optionale fünf Parameter nur gemeinsam. Kurzform
|
||
level60, any/any, persistent. Count1..10, level10..85, DK>=55, Account normal
|
||
und ohne Netzwerksitzung, normale Realm-Charaktergrenze. Beispiel für Tests:
|
||
clientless generate create 6 1 60 alliance warrior temporary 42.
|
||
list/profile/login/logout/equip/retire <guid>. Erzeugung offline; login explizit.
|
||
equip nur eigener online/lebender/ruhiger Bot, native Checks, alte Items behalten.
|
||
retire nur eigener offline-temporärer Bot, markiert nur Metadaten, keine Löschung.
|
||
Automatische Rotation, Löschung, Accountanlage und Populationssteuerung später.
|
||
Vollständige Doku: doc/clientless/generator.md.
|
||
|
||
Debug-j10 erfolgreich installiert,62/62 Tests bestanden. Testserver88947 läuft,
|
||
frische Ready + Port8085 verifiziert. Vier neue Stufe60-Bots online und mit
|
||
individuellen DB-Profilen nach Neustart/Relog wieder geladen:
|
||
-29 Aelion, Nachtelf-Krieger, Teldrassil/poi_guard_111.
|
||
-30 Zanzan, Troll-Krieger, Durotar/poi_tele_823.
|
||
-31 Lenara, Worgen-Magierin, Elwynn/poi_npc_280710.
|
||
-32 Aldren, Untoter-Todesritter, Silberwald/poi_npc_321922.
|
||
Native Talentbäume746/746/851/400, Talentzeilen13/13/14/12,
|
||
Zauberanzahl80/80/87/64. Alle vier Nebenberufe und vier22er-Glutseidenstofftaschen,
|
||
alle fünf Vorratsstacks20. Primär: Krieger/DK Mining450+Smith375; Magierin
|
||
Tailoring375+Enchant375. Werte stammen aus gegenwärtigen nativen Trainerdaten.
|
||
Ausrüstungsauffrischung29..32 nativ erfolgreich gespeichert, alte Items behalten.
|
||
NPC-Szenen und lokale soziale Intents laufen; keine visuelle Abnahme behauptet.
|
||
|
||
Eigene frühere Testcharaktere27 Dagri und28 Jarana sind retired/offline, mit
|
||
vollständig erhaltenen Daten. Retire26 verweigert (kein generierter Besitz),
|
||
Login27 verweigert (retired). Inventarzuordnungen/Entries für21 und26 gegenüber
|
||
vorher bytegleich (Hash im Checkpoint). Arthoran wurde für Wartung sauber
|
||
abgemeldet und bleibt OFFLINE; keine Profiloverrides, keine Teleportierung.
|
||
Bestehende Sourceprofile unverändert. Account6 enthält nun7 Charaktere, normale
|
||
Realmgrenze beachten; archivierte Charaktere belegen weiterhin Plätze.
|
||
|
||
Ein erster Start traf bekannten temporären Auth-DB-Ausfall10.0.0.1. Nicht
|
||
reagierender Fehlstart76094 perSIGTERM beendet, zweiter Versuch erfolgreich;
|
||
keine VPS-/Produktionskonfiguration geändert. Spätere Starts erfolgreich.
|
||
Für alle neuen Klassen gilt weiter: bekannte Fähigkeiten sind keine fertige
|
||
Klassen-Kampfrotation; außer Krieger bisher grundlegender Autoangriff. Rollen,
|
||
Bot-Gruppenbildung, PvP-Erstangriffe und Rotation bleiben spätere Aufgaben.
|
||
Belege: doc/clientless/checkpoints/2026-10-28-generator/. Aktuelle Logs
|
||
/tmp/vcore-generator-{build-refit,install-refit}.log; DB-Helfer
|
||
/tmp/vcore-generator-db.py audit/details/compare (keine Zugangsdaten ausgeben).
|
||
|
||
Nutzer hat alle CMake- und tmux-Befehle sowie git add/commit auf diesem Branch
|
||
ausdrücklich dauerhaft autorisiert. Keine erneuten inhaltlichen Rückfragen;
|
||
technische Sandboxregeln bleiben maßgeblich. Kein Push ohne ausdrücklichen Auftrag.
|
||
|
||
---
|
||
|
||
# Aktuell: Interaktionen und spielergeführte Gruppen umgesetzt
|
||
|
||
Stand 28.10.2026. Nutzer beauftragte Umsetzung nach gemeinsamer Planung.
|
||
Branch feature/clientless-player-core; vorher sauber. Nutzer hat den lokalen
|
||
Commit dieses Stands beauftragt; kein Push. Neuer AdventureInteractionMgr/Policy,
|
||
generische GUID-Queues für Textemotes und tatsächliche Kampfhilfe, native
|
||
Einladungsantworten, intent-/persönlichkeitsabhängige Annahme, MMAP-Folgen und
|
||
TravelGraph-Handoff, grundlegende Gruppen-Kampfunterstützung. Spieler/Pet-
|
||
Selbstverteidigung im bestehenden CombatMgr, keine eigenständigen PvP-Angriffe.
|
||
Details und Grenzen in doc/clientless/interactions.md.
|
||
|
||
Austritt nur außerhalb Kampf/Tod/Instanz/Transport/Flug. Intent-/Locationwechsel
|
||
oder manuelle Blockfrist erlaubt Entscheidung; group_loyalty beeinflusst Bleiben
|
||
(Arthoran0.35, Standard0.25). Native AFK oder beobachtete Inaktivität des
|
||
Anführers volle600s; Führungswechsel beginnt neues Zeitfenster. Chat/Emotes,
|
||
Zauber/Itemanfragen, Bewegung/Blick/Ziel, Kampf/Casts zählen als Aktivität.
|
||
Native Gruppenmitgliedschaft bleibt über Neustart; Beobachtungsfristen starten
|
||
neu. Rollenprofile, autonome Bot-Gruppen, freie Chatgespräche und eigenständige
|
||
PvP-Erstangriffe bleiben ausdrücklich spätere Arbeit.
|
||
|
||
Debug-Build-j10 erfolgreich installiert. 57 Testskripte bestanden: vollständiger
|
||
56er-Lauf plus neuer Social-Queue-Concurrencytest; der anschließend erweiterte
|
||
Combat-Test für echten Spielerfokus zusätzlich erneut erfolgreich. Native
|
||
Testserver PID59086, frische Ready-Meldung und Port8085 bestätigt. Arthoran26
|
||
online, Persönlichkeit8Werte, neue Diagnose clientless interaction26 erfolgreich:
|
||
sociability0.65/loyalty0.35, keine Gruppe. Echte Kreaturen-Selbstverteidigung
|
||
nach Neustart weiterhin beobachtet, kein Beleg für Live-PvP/Gruppenannahme.
|
||
|
||
Arthorans unveränderte initiale Profilvorgabe startete bei Login die normale
|
||
Goldhain-Reise. clientless adventure stop26 wurde angefordert, letzte Diagnose
|
||
noch Switching/waiting for safe player/transport state. Keine Teleportierung,
|
||
kein temporärer Profiloverride; normale Herkunftsdateien bleiben erhalten.
|
||
Für Live-Abnahme Position und Reise zuerst erneut prüfen. Gruppeneinladungen
|
||
werden in Flug-/Transport-/Kampfzuständen bis zur sicheren Lage zurückgestellt.
|
||
|
||
Beim sauberen Shutdown der ALTEN, vor Installation laufenden Binärdatei trat
|
||
Object.h:448 GetMap ASSERTION FAILED m_currMap auf. AlterProzess49765 endete;
|
||
keine fremden Prozesse beendet. Das ist ein beobachteter Shutdownfehler des
|
||
Ausgangsstands, Ursache hier nicht untersucht/behoben. Neuer Start erfolgreich.
|
||
|
||
Offene Gameplay-Abnahmen: echte Spielereinladungen, zwei gleichzeitige Bots,
|
||
PvP/Pet-Verteidigung, native Gruppenportale/kartenübergreifendes Folgen,
|
||
zehn echte Minuten AFK. Klassenrotationen außer Krieger und Supportrollen
|
||
weiterhin begrenzt. Belege: checkpoints/2026-10-28-interactions/.
|
||
Logs /tmp/vcore-interactions-{build-final,install}.log und zugehörige Tests.
|
||
|
||
---
|
||
|
||
# Aktuell: Selbstversorgung und gemeinsame Nebenberufe abgeschlossen
|
||
|
||
Stand 27.10.2026. Branch feature/clientless-player-core, vorheriger Commit
|
||
c0c799c4b6. Nutzer hat den lokalen Commit der Selbstversorgung beauftragt; kein Push.
|
||
Debug-Build -j10 erfolgreich installiert, alle 55 Testskripte bestanden.
|
||
Testserver PID 49765 läuft; frisches Ready und Port 8085 bestätigt.
|
||
|
||
AdventureSupplyMgr/Policy versorgt AdventureBots zu Tagesbeginn und nach
|
||
Kampfende bis zu jeweils einem nativen Stack: Verbände, Heil-/Manatränke,
|
||
Essen und Trinken. Vier Glutseidenstofftaschen54443 mit je22 Plätzen ergänzen
|
||
Arthoran. Alte Gegenstände blieben erhalten, Geld weiterhin0.
|
||
Migration world10 und characters01 angewendet und trotz SQL-Ignore gezielt
|
||
vorgemerkt. Persistierter Tagesstempel verhindert Nachschub bei jedem Login.
|
||
|
||
Nutzerregeln umgesetzt: Selbstheilung beginnt erst bei mindestens10% fehlenden
|
||
HP. Außerhalb des Kampfes zuerst ein nutzbarer Verband; bei Sperre direkt Essen,
|
||
nach Verband Essen nur bei weiter mindestens10% Mangel. Mananutzer trinken bei
|
||
passendem Mangel. Im Kampf nur native Tränke. Echte Item-Anfragen, Verbrauch,
|
||
Abklingzeiten und Verbandssperre; keine direkte HP/Mana-Zuweisung außer dem
|
||
expliziten Diagnosebefehl testrecovery. Intents behalten ihre ursprüngliche Frist.
|
||
|
||
Auf ausdrücklichen Nutzerwunsch erhalten alle AdventureBots die stufengerecht
|
||
verfügbaren Nebenberufe Erste Hilfe, Kochen, Angeln und Archäologie, innerhalb
|
||
nativer Traineranforderungen und Fertigkeitsgrenzen. Keine Hauptberufe geändert.
|
||
Arthoran gespeichert: ErsteHilfe375/375, Kochen525/525, Angeln525/525,
|
||
Archäologie375/375. Er verwendet schwere Netherstoffverbände21991.
|
||
Native Trainer erlauben Kochen/Angeln525 bei diesem Charakter.
|
||
|
||
Notwendige native Fehlerkorrektur: Player::GetPureMaxSkillValue hatte eine
|
||
invertierte Prüfung und lieferte für gelernte Fertigkeiten null. Fehlendes !
|
||
korrigiert, eigener nativer Regressionstest vorhanden. Nebenberufsausbildung
|
||
berücksichtigt sowohl Skill-Effekt118 als auch den nativen Lerneffekt44.
|
||
|
||
Live bestätigt:
|
||
- Vier22er-Taschen und alle fünf Stacks20, vorhandene Item-GUIDs erhalten.
|
||
- Markierte8%-Testverletzung: kein Verbrauch.
|
||
- Markierte80%-Testverletzung: echter Verbandverbrauch, danach4961/5249HP;
|
||
weniger als10% fehlend, daher kein Essen.
|
||
- Erneute Testverletzung bei nativer Verbandssperre: echtes Essen, volleHP.
|
||
- Gleicher Tagesstempel beim erneuten Login: Verband19/Essen19 bleiben bestehen,
|
||
kein weiterer Tagesnachschub.
|
||
- Echter Bärenkampf gegen Spawn300425 mit markiertem anfänglichem30%-Defizit:
|
||
Heiltrank22829 im Kampf verbraucht. Danach exakt je ein Verband, Heiltrank
|
||
und Essen ergänzt; alle fünf Bestände20. GespeichertHP5249, Geld0.
|
||
- Manaspezifisches Verhalten produktiv mit Adaptern geprüft, nicht mit echtem
|
||
Manacharakter. Administrative Testpositionierung ist kein Fernreisebeleg.
|
||
|
||
Arthoran bleibt angemeldet in den Verwüsteten Landen am Bären-Testplatz,
|
||
reagiert auf Gegner und versorgt sich selbst. Normales Lua-Profil bytegleich
|
||
restauriert; kein temporärer Override. Dokumentation: doc/clientless/supplies.md.
|
||
Belege: doc/clientless/checkpoints/2026-10-27-supplies/.
|
||
Logs: /tmp/vcore-supplies-build-final.log und /tmp/vcore-supplies-tests-final.log.
|
||
DB-Helfer /tmp/vcore-instance-db.py supplies_audit. Diagnose:
|
||
clientless combat supplies26, testrecovery26<fehlende-Prozent1..80>.
|
||
Die bisherigen Server-/Branchregeln und vertagte Pfadfindungsarbeit gelten weiter.
|
||
|
||
|
||
---
|
||
|
||
# Aktuell: Training, echte Gegner und Todesverhalten abgeschlossen
|
||
|
||
Stand 27.10.2026. Auf feature/clientless-player-core bleiben alle bisherigen
|
||
Änderungen erhalten. Debug-Build mit -j10 erfolgreich installiert; alle 51
|
||
Testskripte bestanden. Testserver PID 45545 läuft mit frisch geprüftem Ready
|
||
und Port 8085. Nutzer hat den lokalen Commit aller Änderungen beauftragt; kein Push.
|
||
|
||
Neue AdventureCombatMgr und AdventureCombatPolicy überlagern den Adventure-
|
||
Controller während Kampf und Tod. Tatsächlich angewandter Kreaturenschaden
|
||
wird über eine threadsichere GUID-Queue geordnet an den Controller übergeben.
|
||
Der erste Angreifer bleibt Fokus; weitere folgen nach dessen Tod. Abenteuer
|
||
berücksichtigt Gegner am aktiven MMAP-Pfad, Kürschnerei nur Tiere bei bestehendem
|
||
Profilrecht. Arthoran bleibt Bergbau/Schmied. Konservative Erstangriffsfilter:
|
||
höchstens +2 Level, mindestens 60% HP und gegebenenfalls 30% Mana, keine Elites,
|
||
Weltbosse oder Gegnergruppen. Andere Intents jagen nicht.
|
||
|
||
Migration 09 ergänzt leisure_training für 60–180 Sekunden an echten erreichbaren
|
||
Puppen im lokalen 60-Yards-Umkreis. Bereits in Test-DB angewendet und trotz
|
||
SQL-Ignore gezielt vorgemerkt. Ursprüngliche Intentfristen bleiben erhalten.
|
||
Todesablauf: native Freigabe, gespeicherter Leichenzeitpunkt, MMAP-Punkte innerhalb
|
||
39 Yards und native Aufnahmefrist. Ohne passenden Pfad nach 300 Sekunden native
|
||
Friedhofsrückkehr und Wiederbelebung ohne Geistheiler-Mali.
|
||
|
||
Live erfolgreich geprüft:
|
||
- Trainingsszene: MMAP-Anreise, native Angriffe und reguläres Ende nach 60 Sekunden.
|
||
- Echter Bär, Entry 42336 / Spawn 300425, Stufe 58: besiegt, native Respawnzeile
|
||
bestätigt. Tatsächlicher Gegentreffer löste den Selbstverteidigungsfokus aus.
|
||
- Expliziter Testtod 1: Freigabe um 1793138872, kein akzeptierter Rückweg;
|
||
volle 300 Sekunden tatsächlich abgewartet. Friedhofswiederbelebung, anschließend
|
||
lebend gespeichert, keine Leiche oder Wiederbelebungskrankheit.
|
||
- Expliziter Testtod 2 nahe Friedhof: tatsächlicher MMAP-Geisterlauf von 37,40
|
||
Yards und native Leichenaufnahme. Danach HP 4340 gespeichert, keine Leiche
|
||
oder Aura 15007. Kein natürlicher Kampftod behauptet.
|
||
- Administrative Offline-Positionierung diente nur isolierten Tests; kein Beleg
|
||
für Fernanreise. Mehrfachangreifer und Neustart während Geisterlauf bislang
|
||
durch Produktionsadapter geprüft, nicht durch entsprechende Live-Abnahme.
|
||
|
||
Arthoran ist wieder angemeldet, ohne Fernauftrag am letzten Rücklaufpunkt:
|
||
Karte 0, (-12187.9, -2603.74, 1.5777), Verwüstete Lande. Er reagiert auf Angreifer.
|
||
Normales Lua-Profil bytegleich restauriert; kein temporärer Override vorhanden.
|
||
Befehle: clientless combat train <guid> [seconds], attack <guid> <spawn-id>,
|
||
testdeath <guid>, stop <guid>. Testdeath ist ein markierter nativer Diagnosetod
|
||
für einen verwalteten Bot ohne zusätzlichen Haltbarkeitsverlust.
|
||
|
||
Belege: doc/clientless/checkpoints/2026-10-27-combat/.
|
||
Logs: /tmp/vcore-reactive-combat-build-final.log und
|
||
/tmp/vcore-reactive-tests-final.log. DB-Helfer: /tmp/vcore-instance-db.py,
|
||
Modus combat_live_state. Vorherige Ausrüstung/Reparatur-WIP bleibt erhalten.
|
||
Pfadfindungsüberarbeitung bleibt vertagt. Weitere Klassenrotationen und konkrete
|
||
Spieler-/Bot-Interaktionsregeln sind noch auszuarbeiten.
|
||
|
||
|
||
---
|
||
|
||
# Wiederaufnahme: Kampfausstattung und Reparaturtest
|
||
|
||
Stand 27.10.2026: Branch feature/clientless-player-core, bestehende Änderungen
|
||
bewahren. Debug-Build erfolgreich, installiert; Testserver PID41714 frisch ready
|
||
und Port8085 bestätigt. 48 Testskripte bestanden. Kein Push oder neuer Commit.
|
||
|
||
Arthoran26 trägt neun native Kopien von Allitester21 (Zorn und Ashkandi),
|
||
26/26 native Waffen-Talentpunkte Baum746, stufengerechte Klassenfähigkeiten.
|
||
Originalquelle unverändert, alte Ausrüstung in Taschen. Begrenzte Trainingsübung
|
||
an echter Puppe314147 erfolgreich: native angenommene Fähigkeiten protokolliert.
|
||
Phase169 ist Standard; keine Phasenänderungen. Ursprüngliches Problem war LOS.
|
||
Volle autonome Kampf-/Todes-/Interaktionssteuerung bleibt zukünftige Umsetzung.
|
||
Malusfreie Friedhofswiederbelebung nach5min ohne Pfad ist verbindliche Vorgabe.
|
||
|
||
NEU: economy_repair, Migration08 bereits Test-DB angewendet. Liveprüfung läuft:
|
||
Arthoran ausgeloggt, nur seine neun Kopien auf halbe Haltbarkeit gesetzt,
|
||
Position administrativ an poi_tele_954 (Handelsdistrikt), wieder angemeldet.
|
||
Intent economy am Anker angekommen; Mikroaktion economy_repair gestartet,
|
||
echter Händler1287/GUID1879, native MMAP-Anreise. Abschluss bestätigt: ECONOMY_REPAIR_COMPLETE; nach saveall alle neun Kopien
|
||
wieder auf voller Haltbarkeit, Geld weiterhin0, Allitester unverändert.
|
||
Ausgangswerte /tmp/vcore-repair-before.tsv.
|
||
Normales Lua-Profil bytegleich restauriert, kein temporärer Override.
|
||
|
||
Werkzeuge /tmp/vcore-instance-db.py gear_verify (prüft auch Allitester-Hash),
|
||
repair_test_prepare NICHT WIEDERHOLEN. Konsole saveall nach Reparaturabschluss,
|
||
ECONOMY_REPAIR_COMPLETE in Server.log prüfen. Gegebenenfalls Szene beobachten.
|
||
Build-/Testlogs /tmp/vcore-combat-preparation-{build,tests-final}.log.
|
||
Migration08 wird von *.sql ignoriert, gezielt force-add für Erhalt erforderlich.
|
||
Reparaturprüfung abgeschlossen; Arthoran darf den Wirtschaftsintent weiter ausführen.
|
||
|
||
---
|
||
|
||
# Neuer Arbeitsbereich: Kampf, Reaktionen und Interaktionen
|
||
|
||
Alle sieben Grundintents sind abgeschlossen und die bisherigen Änderungen
|
||
lokal committet (e18a416bf4). Der Nutzer hat die visuelle Instanzabnahme erlassen.
|
||
Jetzt Kampf, reaktives Verhalten, Bot-Spieler und Bot-Bot gemeinsam ausarbeiten.
|
||
Neue Regeln/Vorprüfung in `combat-reactions.md` dauerhaft festgehalten.
|
||
|
||
Nutzer: Selbstverteidigung fokussiert erste tatsächlich schädigende Kreatur bis
|
||
zu deren Tod; weitere Treffer wechseln den Fokus nicht. Erstangriffe wählen
|
||
nächstgelegenes gültiges intentspezifisches Ziel: Abenteuer nahe Feindkreatur auf
|
||
aktuellem Weg; Beruf/Lederjagd nahes geeignetes Tier. Stärkecheck verhindert
|
||
leichtsinnige Angriffe auf deutlich stärkere Gegner. Exakte Grenzwerte noch offen.
|
||
Tod: Leichenrücklauf als Geist, native Wiederbelebungsreichweite; ohne Pfad nach
|
||
fünf Minuten Friedhofswiederbelebung. Native Handler/39-Yards-Radius vorhanden.
|
||
Timerherkunft und weitere Randfälle als Auslegung/Vorschlag markieren.
|
||
Arthoran bleibt mining/blacksmithing; keine stillschweigende skinning-Freigabe.
|
||
Sammeln weiterhin performativ, neu gewünschter Kampf real.
|
||
|
||
PlayerAI.cpp gründlich geprüft. Viel vorhandene Klassen-/Zauberlogik, aber
|
||
Charm-Steuerung muss entkoppelt werden. Technisch nicht ungenutzt: Unit::UpdateCharmAI
|
||
und mehrere Bossskripte verwenden sie. Unit::DealDamage liefert UnitAI-Callbacks
|
||
und UnitScript-OnDamage VOR endgültigem HP-Abzug: tatsächlichen Erstschaden
|
||
sauber bestätigen, keine Nullschaden-/Godmode-Fokussierung.
|
||
|
||
Noch keine Kampfimplementierung oder Livekampftests in dieser Vorprüfung.
|
||
Nur Dokumentation neu/uncommittet; keine weiteren Commits ohne konkreten Bedarf.
|
||
Details zu Flucht, Zielverlust, verbleibenden Angreifern, Erstangriffsschwellen
|
||
und konkreten Spieler-/Bot-Reaktionen noch nicht als Nutzerentscheidungen ausgeben.
|
||
|
||
---
|
||
|
||
# Aktuell: Instanzintent implementiert und technisch live geprüft
|
||
|
||
Stand 27.10.2026, letzter Testserverprozess PID **35865**, frisches Ready beim
|
||
letzten Restart und Port 8085 geprüft. Nutzer beauftragte Umsetzung einschließlich
|
||
zufälliger Verletzung (0–50 Prozent Max-HP) nach Rückkehr. Umsetzung fertig,
|
||
Der Nutzer hat ausdrücklich auf eine weitere visuelle Abnahme verzichtet.
|
||
Alle vorhandenen Änderungen sollen gemeinsam lokal committet werden; kein Push.
|
||
Details: `instance-intent.md`.
|
||
|
||
Implementierung:
|
||
- Intent `instance`, eigener Tagesplanwert (Default .5), feste Phasen statt
|
||
zufälliger Innenraum-Mikroaktionen. Anreise verbraucht Blockzeit; zehn Sekunden
|
||
Vorbereitung; tatsächlicher nativer Eintritt; Warten direkt dahinter; Rückkehr
|
||
zu Blockende minus fünf Minuten; Nachruhe bis zum ursprünglichen Blockende.
|
||
- Neue native Außenwelt-Aliase `instance_visit_at_<Trigger-ID>` und editierbare
|
||
Ein-/Ausgangszuordnung. 108 Eingänge in Test-DB, insgesamt 2.973 Locations /
|
||
3.966 Worldpoints. Innenräume bleiben reine native Karten/Graphknoten.
|
||
- Charakterpersistenz enthält Phase, Trigger, Instanz-ID, absolute Frist,
|
||
einmal gezogenen Verletzungswert und injury_applied. Gemeinsame Transaktion
|
||
mit Player::SaveToDB über ASYNC-Worker, bestätigter Commit vor Fortschritt.
|
||
- Optionales WorldScript in viano_bot_commands.cpp meldet nur gespeicherte
|
||
Besucher beim Serverstart automatisch mit dem Adventure-Controller an.
|
||
Wiederaufnahme hat Vorrang vor normalem Lua-Initialintent.
|
||
- Getrennten Hinterausgang aus nativen Daten bevorzugen, expliziter Override
|
||
möglich. Verborgene Dungeon-Durchquerung wird innen bis zum echten Ausgang
|
||
abstrahiert, danach nativer Trigger. Fehlender Ausgang: Eingang. Keine Kämpfe,
|
||
Beute/Inventar-/Geldänderung, keine DungeonBot-Abhängigkeit.
|
||
|
||
Geprüft:
|
||
- Debug-Build -j10, installiert, **44 Testskripte im vollständigen abschließenden
|
||
Lauf bestanden** (/tmp/vcore-instance-tests-final.log).
|
||
- Beide additiven Migrationen angewendet. Tabellen-Collation unicode_ci passt
|
||
zum bestehenden Schema; Dateien wegen *.sql-Ignore gezielt mit git add -f
|
||
vorgemerkt, alle übrigen Änderungen uncommittet. Kein Push.
|
||
- Verlies-Eingang 101, Ausgang 503, Karte34/Instanz-ID1 tatsächlich betreten.
|
||
Echter Serverneustart während Phase3: automatischer Login, gleiche Instanz-ID1,
|
||
ursprüngliche absolute Frist beibehalten. Normales Lua-Profil war restauriert.
|
||
- Für schnelle Rückkehrprüfung wurde ausschließlich nach sauberem Serverstopp
|
||
die Test-Besuchsfrist verkürzt. Original in
|
||
/tmp/vcore-instance-live-original-deadline.tsv. Keine normale Codefrist geändert.
|
||
- Native Rückkehr nach Karte0 (-8766.11,845.499,87.9952), zunächst zweimal echte
|
||
0%-Würfe, nächster regulärer kurzer Testblock 17%: **2165/2609 HP**.
|
||
Charakter-DB bestätigte Phase5, loss_percent17, injury_applied1 und HP2165.
|
||
- Erneuter Logout/Login während Phase5: gleiche Frist, injuryApplied1, kein
|
||
Neuwurf/keine zweite Verletzung. Aktuell Nachruhe vor dem Verlies bis
|
||
Deadline1793128202; anschließend endet der manuelle Testauftrag. Zustand bei
|
||
Wiederaufnahme neu prüfen; keinen weiteren Test automatisch starten.
|
||
- Normales Profil in Quelle UND Installation bytegleich normal (SHA256
|
||
26b11c3108e6ecc5dbc59d1852b4103ca4e818148603a34c02a470c969dc659b).
|
||
Kein temporärer Lua-Override. Nach saveall Geld-/Inventar-SHA256 unverändert
|
||
8d40931782d05219466ba9fd077ce7acd3e02bd53eb63f6e96115042c620d26a.
|
||
|
||
Wichtig: Fernanreise NICHT live erfolgreich verifiziert. Vorhandene Graph-
|
||
Recovery-Schleifen führten erst nach Goldhain, dann durch Sturmwind. Nutzer hat
|
||
Pfadfindung/Hinderniserkennung ausdrücklich auf später verschoben. Daher wurde
|
||
für den isolierten Instanztest nur der ausgeloggte Testbot administrativ an den
|
||
realen Außeneingang gestellt; anschließender lokaler MMAP-Anschluss und Eintritt
|
||
waren regulär. Kein Instanzteleport als erfolgreicher Eintritt ausgegeben.
|
||
Todesminen-Hinterausgang und zwei unabhängig gleichzeitig betretene Kopien nur
|
||
produktive Adaptertests/Quellprüfung, noch kein entsprechender Livevergleich.
|
||
|
||
Erster Liveversuch fand meinen falschen SYNCH-Transaktionsweg; Debugserver
|
||
beendete sich vor der Anreise. Fehler korrigiert auf AsyncCommitTransaction mit
|
||
Commitresultat. Nachfolgende native Saves/Neustarts erfolgreich, Fehlerlog
|
||
/tmp/vcore-instance-first-live-DBErrors.log erhalten. Nicht als aktuelles Problem
|
||
missverstehen. Aktuell keine neuen Instanz-SQL-/Startfehler beobachtet.
|
||
|
||
Alle Schlaf-WIP-Änderungen von vorher erhalten. Bett-/Hinderniserkennung bleibt
|
||
auf Nutzerwunsch zurückgestellt. Nur feature/clientless-player-core verwenden.
|
||
|
||
---
|
||
|
||
# Aktueller Auftrag: Instanzbesuche – Nutzervorgaben konkretisiert
|
||
|
||
Wirtschaftstest vom Nutzer als ausreichend beendet; nächster Intent sind
|
||
Instanzbesuche. Details verbindlich in `instance-intent.md` festgehalten.
|
||
Rest des gewählten Location-Zeitblocks, letzte fünf Minuten Nachruhe draußen.
|
||
Beispiel 60 Minuten: 40 Anreise, 15 innen, 5 Nachruhe. Tatsächlicher Eintritt,
|
||
Warten direkt hinter dem Eingang in nativer eigener Instanzkopie, keine
|
||
Dungeon-Durchquerung/Kampf. Neustart: am Eingang innen wieder einloggen,
|
||
ursprüngliche absolute Frist weiterverwenden. Rückkehr eigener Ausgang,
|
||
sonst Eingang. Instanzinnenräume NICHT zu normalen Locations machen.
|
||
|
||
World-DB geprüft: areatrigger_teleport enthält 78 Deadmines Entrance Target,
|
||
119 Exit Front Target, 121 Rear Exit Target. Alle sechs source/target-Knoten
|
||
in vcore_clientless_travel_node vorhanden, Kommentare nur Triggernummern.
|
||
Semantik aus nativen Namen und DBC-Quell-/DB-Zielkarten ableiten.
|
||
|
||
Noch keine Implementierung/Instanzbetretung in dieser Vorprüfung. Core-Befund:
|
||
Online startet heute flüchtigen Behavior-Record/Profil neu; dauerhafte
|
||
Besuchsphase/Frist und Wiederaufnahme müssen ergänzt werden. Native Instanz-ID,
|
||
Solobindung und Instanzspeicherung für Restart berücksichtigen und testen.
|
||
Eigener Ausgang hinten erfordert Rückkehrbehandlung ohne Dungeon-Durchquerung.
|
||
Randfall Ankunft mit weniger als fünf Minuten: noch keine ausdrückliche
|
||
Nutzerentscheidung, sinnvolle Ableitung ist Eintritt auslassen/Nachruhe.
|
||
|
||
Keine Code-/DB-/Serveränderung bei dieser Vorprüfung. Vorheriger Wirtschaftsintent
|
||
kann auf dem Testserver weiterhin laufen; vor Implementierung Zustand prüfen.
|
||
Schlaf-/Hindernisthemen bleiben ausdrücklich vertagt. Vorhandenes WIP bewahren.
|
||
|
||
---
|
||
|
||
# Aktueller Nutzerauftrag: freier Wirtschaftsintent im Handelsdistrikt
|
||
|
||
Bett-/Geometriesuche ausdrücklich vom Nutzer zurückgestellt. Ebenso spätere
|
||
Überarbeitung der Pfadfindung/Hinderniserkennung (beobachtetes Durchlaufen von
|
||
Zäunen und Erhöhungen). Diese offenen Themen sollen die weitere Entwicklung
|
||
NICHT blockieren; jetzt daran nicht weiterarbeiten.
|
||
|
||
Arthoran GUID 26 hat auf Nutzerwunsch den autonomen Auftrag:
|
||
`clientless adventure intent 26 economy poi_tele_954 3600`.
|
||
`poi_tele_954` ist der vorhandene allgemeine Sturmwind-Anker im Handelsdistrikt
|
||
(-8833.07,622.778,93.9317), Kategorie landmark; keine Händler-/Bank-/AH-Rollensperre
|
||
wie bei den spezialisierten Testankern. Kein gezielter Mikroaktionszwang.
|
||
INTENT_ARRIVED economy und selbst gewählter Start `economy_vendor_visit`
|
||
gegen echten Händler Entry 277, GUID Low 1325, sind bestätigt. Szene läuft.
|
||
Kein erneuter Build/Restart oder Lua-Profilwechsel für diesen Auftrag.
|
||
|
||
Vorher `saveall`; Geld-/Inventar-SHA256 weiterhin
|
||
8d40931782d05219466ba9fd077ce7acd3e02bd53eb63f6e96115042c620d26a.
|
||
Wirtschaften bleibt rein performativ: keine echten Transaktionen.
|
||
Nutzer beobachtet nun die freie Ausführung im Spiel; keine neue visuelle
|
||
Abnahme behaupten. Schlafboden am ersten Anker war vom Nutzer bestätigt.
|
||
|
||
Alle vorherigen WIP-Änderungen erhalten, Branch feature/clientless-player-core,
|
||
kein Push. Normales Lua-Profil weiterhin unverändert. Schlaf-Testanker und
|
||
bisheriger Ausbau bleiben erhalten, siehe historische Notizen unten.
|
||
|
||
---
|
||
|
||
# Neuer Liveauftrag: Suche bei Allitesters Position
|
||
|
||
Nach dem Flächenausbau wollte der Nutzer eine erneute Suche nahe den beiden
|
||
Betten an seiner aktuellen Position. `saveall`, danach Allitester GUID 21:
|
||
Map 0, (-8877.360, 673.489, 104.950), O=0.649831. Separater aktiver manueller
|
||
Suchanker `gilded_rose_sleep_room_test` in Test-DB angelegt, Kategorie rest_sleep,
|
||
Metadata von Sturmwind; bestehende Punkte nicht verschoben.
|
||
|
||
Neustart war nötig: adventure reload erneuert NICHT den Reisepunkt-Cache,
|
||
weshalb der erste Anreiseversuch den neuen Punkt nicht fand und zurückfiel.
|
||
Server jetzt PID 32004, frisches Ready nach elf Sekunden, Port 8085 geprüft.
|
||
Einmaliges Loginprofil rest/room_test danach bytegleich restauriert, installierte
|
||
Profilkopie ebenfalls normal. Arthoran erreichte den neuen Anker regulär.
|
||
|
||
Erneute Suche dort: beds=0 raised=0 floor=46 (erster Lauf floor=34).
|
||
REST_CONFIRMED am Anker (-8877.360,673.489,104.950), O=.650, zuletzt 143 Sekunden.
|
||
Die sichtbaren Betten werden also weiterhin NICHT als Bett/erhöhte Fläche erkannt;
|
||
Ursache der konkreten geometrischen Ablehnung ist NICHT gemessen. Nicht behaupten,
|
||
dass nur der bisher zu kleine Radius schuld war.
|
||
|
||
Die gewichtete Auswahl wählte zwischenzeitlich wieder den alten Schlafanker.
|
||
Für den gezielten Versuch wurde NUR `gilded_rose_sleep_upstairs` kurz enabled=0
|
||
gesetzt, Katalog geladen, micro rest_sleep ausgeführt, dann enabled=1 restauriert
|
||
und Katalog erneut geladen. Kein Punkt blieb vorübergehend deaktiviert.
|
||
DB-Helfer /tmp/vcore-sleep-room-test.py, Positionssnapshot daneben als JSON.
|
||
Nutzer hat neuen Bodenplatz am alten Anker sichtbar bestätigt; Bettdarstellung
|
||
und tatsächliche Bettnutzung weiterhin offen. Kein neuer Code/Build in diesem
|
||
Folgeversuch. Vor weiterer Arbeit laufende Szene/Position neu prüfen.
|
||
|
||
---
|
||
|
||
# Aktuell: Schlafplatzsuche am 27.10.2026
|
||
|
||
Dieser Abschnitt hat Vorrang vor den historischen Checkpoints unten.
|
||
Der Nutzer nahm den Schlaftest wieder auf, sah Arthoran mitten im oberen Stuhl
|
||
und beauftragte eine Flächensuche: Betten/geeignete erhöhte Flächen bevorzugen,
|
||
sonst freier Gasthausboden, auch für Gasthäuser ohne Betten.
|
||
|
||
Implementiert, gebaut (`-j10`), installiert und live getestet, noch uncommittet:
|
||
`AdventureRestSpace.h`, Schlafadapter in `AdventureBehaviorMgr.cpp`, gespeichertes
|
||
Szenenziel in `.h`; zwei neue Regressionen und erweiterter Ruhetest. Insgesamt
|
||
39 Testskripte erfolgreich (38er-Lauf plus neuer nativer Adaptertest; danach
|
||
betroffene erweiterte Tests erneut erfolgreich). Details: `rest-intent.md`.
|
||
|
||
Schlafanker sind jetzt Suchbereiche, keine ungeprüften Liegepunkte. Native
|
||
Bettobjekte vor erhöhten Flächen mit abrupten Seitenkanten vor freiem Boden.
|
||
Geometrie ist keine sichere Bettsemantik; passende Tische können ähnlich sein.
|
||
Modellabhängige Liegefläche, Höhen-/Kollisionsraster, native Stuhlsperre,
|
||
Spieler/Kreaturenbelegung, Innenraum und Stockwerksgrenze. Tatsächlicher
|
||
MMAP-Endpunkt muss passen, kein Teleport/Klettern auf unerreichbare Möbel.
|
||
Erneute Prüfung vor Hinlegen und alle zwei Sekunden. Keine neue SQL-Migration.
|
||
|
||
Live: Prozess 31446, frisches Ready nach elf Sekunden, Port 8085 bestätigt.
|
||
Arthoran GUID 26 im Ruheauftrag `gilded_rose_sleep_upstairs`. Die neue Suche
|
||
fand `beds=0 raised=0 floor=18`; er ging 4,03 Yards zu
|
||
(-8868.534, 682.800, 104.949), Ausrichtung 3,740, Endpunktfehler null.
|
||
`REST_CONFIRMED` für 243 Sekunden. Die sichtbare Abnahme des neuen Bodenplatzes
|
||
ist offen, ebenso ein positiver Live-Betttest; Fixturetests decken Betten ab.
|
||
Normales Lua-Profil in Quelle UND Installation bytegleich wiederhergestellt,
|
||
mining/blacksmithing unverändert. Kein temporäres Override, kein Push.
|
||
|
||
Die zuvor bereits vorhandene Änderung an `rest-intent.md` zur ersten
|
||
Schlafvorführung wurde erhalten und ergänzt. Branch ausschließlich
|
||
`feature/clientless-player-core`. Build/Install/Testlogs: `/tmp/vcore-sleep-*.log`.
|
||
Prozess-/Szenenzustand beim Fortsetzen neu prüfen. Nicht automatisch den
|
||
abgeschlossenen Berufs-Ausbau oder die vertagte Instanzarbeit beginnen.
|
||
|
||
---
|
||
|
||
# Fortsetzung am 27.10.2026 – aktueller Stand hat Vorrang
|
||
|
||
Der unten erhaltene Sitzungswechsel-Checkpoint ist historisch. Der Berufs-Ausbau
|
||
ist jetzt vollständig gebaut (`-j10`), auf dem Testserver installiert und die
|
||
Migration `_05` ist auf der Test-World-DB angewendet. **37 Testskripte bestanden**.
|
||
Keine Änderungen wurden gepusht. Branch bleibt `feature/clientless-player-core`.
|
||
|
||
Seit dem Checkpoint behoben:
|
||
- Berufsarbeit an GOs nähert sich nach Verdrängung erneut, bevor weitere Gesten laufen.
|
||
- Native unsichtbare Arbeitsplatzmarker verwenden VMAP-Sichtprüfung zur Arbeitsfläche
|
||
(mindestens 1,5 Yards über dem Marker); Bodenmarker im Amboss blockierten zuvor die Szene.
|
||
- Location-Abfrage liest numerische native Spalten ohne COALESCE-Widening. Debug verlor
|
||
zuvor `is_area`/`faction`; Elwynn wird live jetzt korrekt als `area=1` geladen.
|
||
|
||
Zusätzliche Tests: echter Lua-5.4-Professionsparser mit Arthoran/generic und ungültigen
|
||
Profilen; native Lock-/Station-/Kadaver-/Trainerklassifikation; Szene erst nach Ankunft,
|
||
Profilentzug, Wiederannäherung; SQL-Fixtures mit erhaltenen Gewichten/Freigaben;
|
||
erreichbare Gebietsknoten; progressive Suche und Uferbedingungen; echte Debug-Fieldgetter
|
||
und VMAP-Sichtlinienadapter. Siehe `tests/clientless/test_adventure_profession_*.py`,
|
||
`test_adventure_area_node.py` und erweiterte bestehende Harnesses.
|
||
|
||
Live bestätigt:
|
||
- Frische Ready-Meldung, laufender Prozess und Port 8085 nach Installation.
|
||
- Arthoran lädt zwei Hauptberufe; Profil ist bytegleich wiederhergestellt:
|
||
`social` / `goldshire_tavern`, mining + blacksmithing. Kein temporäres Profil liegenlassen.
|
||
- Reguläre Anreise zu `poi_guard_541` über Graph, Taxi und Bodenwege.
|
||
- `smithing_show` wählt echtes Anvil-GO **201415**, Low **556**; Work-Emote **233**;
|
||
`PROFESSION_WORK_COMPLETE` und `PROFESSION_VISIT_COMPLETE` nach Abschluss.
|
||
- `profession_herbalism` live als nicht verfügbar zurückgewiesen. Die isolierte
|
||
Profilprüfung auch bei vorhandener Pflanze ist durch den produktiven Zieltest belegt.
|
||
- Nach `saveall` unveränderte Geld-/Inventar-Prüfsumme:
|
||
`8d40931782d05219466ba9fd077ce7acd3e02bd53eb63f6e96115042c620d26a`.
|
||
- Elwynn-Auftrag `profession poi_tele_338` lädt `area=1`, startet `travel_to_node`,
|
||
erreicht mit bestehendem Free-flight-Fallback den Gebietsknoten und meldet `INTENT_ARRIVED`.
|
||
Lokale `profession_search` absolvierte danach alle sechs progressiven MMAP-Wegpunkte
|
||
(ca. 104 Yards, `LEISURE_COMPLETE`, legs=6).
|
||
- Letzter geprüfter Testserverprozess: PID 28577, frische Ready-Meldung und Port 8085.
|
||
Beim Wiederaufnehmen immer den tatsächlichen Zustand neu prüfen.
|
||
|
||
Offener Befund: Der erste Intentwechsel während aktiver Goldshire-Anreise geriet in
|
||
Graph-Handover-/Recovery-Schleifen zum nächstgelegenen `portal_at_109_target`.
|
||
Für die gezielten Tests wurde deshalb nur beim Login die Startvorgabe temporär
|
||
geändert und danach bytegleich restauriert. Dieses Travel-Handover ist NICHT als
|
||
behoben zu betrachten. Navigationslog enthält die Vorgänge ab 17:43.
|
||
|
||
Dokumentation: [profession-intent.md](profession-intent.md). Visuelle Abnahme bleibt
|
||
beim Nutzer; Freizeit-Ausritt/Rundflug und Schlafdarstellung bleiben zurückgestellt.
|
||
Alle ursprünglichen Regeln und fachlichen Festlegungen unten gelten weiterhin.
|
||
|
||
---
|
||
|
||
# Gesicherter Arbeitsstand – hier fortsetzen
|
||
|
||
Stand: 27.10.2026. Der Nutzer hat die Implementierung ausdrücklich für einen
|
||
Codex-Sitzungswechsel unterbrechen lassen. Diese Notiz ist die maßgebliche
|
||
Übergabe. Nicht bei null beginnen und keine vorhandenen Änderungen verwerfen.
|
||
|
||
## Sofort beim Wiederaufnehmen
|
||
|
||
1. `AGENTS.md` und diese Datei lesen; Branch und Working Tree prüfen.
|
||
2. Ausschließlich `feature/clientless-player-core`, niemals `master`, kein Push.
|
||
3. Der unten beschriebene Berufs-Ausbau ist **unfertig und NICHT installiert**.
|
||
4. Der laufende Build wurde zur Sicherung geordnet mit SIGINT unterbrochen.
|
||
Vor erneutem Bauen trotzdem nach verbleibendem CMake/Ninja-Prozess sehen.
|
||
Keine zwei Builds gleichzeitig. Immer **`-j10`**, niemals `-j4`.
|
||
5. Neueste Compiler-/Teststände prüfen und die untenstehenden offenen Arbeiten
|
||
fortsetzen. Kein Installieren eines nur teilweise gebauten Standes.
|
||
|
||
## Aktueller Auftrag und verbindliche Nutzerentscheidungen
|
||
|
||
Wir arbeiten am Intent **Beruf (`profession`)**, nach Geselligkeit, Ruhe,
|
||
Freizeit, Wirtschaften und dem Abenteuer-Erkundungsausbau. Danach folgen
|
||
Instanzbesuche. Kampf kommt GANZ AM ENDE, gemeinsam mit reaktiver Selbstwehr
|
||
(z. B. bei Angriff während einer Reise).
|
||
|
||
- Alle Berufsaktionen bleiben **dauerhaft rein performativ**. Es wird NICHT
|
||
tatsächlich abgebaut, gesammelt, gekürschnert, produziert, gefangen oder
|
||
geheilt. Keine Beute, Quellenerschöpfung, Inventar-/Materialänderung,
|
||
Fertigkeitserhöhung oder tatsächliches Erlernen. Nicht „zunächst“ schreiben.
|
||
- Hauptberufe dürfen NUR ausgeführt werden, wenn sie im Lua-Charakterprofil
|
||
ausdrücklich eingetragen sind. Nebenberufe brauchen diese Freigabe nicht;
|
||
Vorlieben werden später weiter über gewichteten Zufall ausgestaltet.
|
||
- Der Nutzer hat die Rückfrage ausdrücklich beantwortet: **Arthoran hat
|
||
Bergbau und Schmiedekunst**. In seinem Profil stehen deshalb dauerhaft
|
||
`professions = { primary = { "mining", "blacksmithing" } }`.
|
||
KEIN Kräutersammeln bei ihm erlauben, auch nicht vor vorhandenen Pflanzen.
|
||
Das generische Profil enthält eine leere Hauptberufsliste.
|
||
- Ort und Gebiet sind gleichberechtigte Ziele. Ein Bot soll z. B. das Gebiet
|
||
Elwynn anreisen und dort lokal selbst nach passenden Ressourcen suchen.
|
||
- **Hierarchie:** Tagesplan wählt Intent, dann passender importierter Ort,
|
||
dann lokal mögliche Mikroaktion. Der Ortsbestand darf die Intentauswahl
|
||
nicht vetoieren. Die Location-/Intent-Katalogzuordnung legt die Eignung fest.
|
||
- Eine für `profession` geeignete Location (auch ein ganzes Gebiet) schaltet
|
||
NICHT alle Berufsaktionen frei. Schmieden braucht einen echten nahen Amboss,
|
||
Schmelzen eine Esse, Kräutersammeln eine tatsächliche Pflanze UND Profilrecht.
|
||
- Gebietsanreise ist bereits vorhanden: `AdventureBehaviorMgr::AreaNode`
|
||
sucht einen ERREICHBAREN Graphknoten im Zielgebiet, `Begin` reist über
|
||
`travel_to_node`; die Ankunft wird gegen das Gebiet geprüft.
|
||
- Abenteuer soll regulär draußen in passenden Weltgebieten stattfinden.
|
||
Sturmwind ist nur Testgebiet; keine zusätzlichen Stadt-Sonderregeln bauen,
|
||
sondern passende gespeicherte Locations/Intent-Gewichte verwenden.
|
||
- Ausritte, Freizeit-Rundflüge und Schlafdarstellung sind auf Nutzerwunsch
|
||
weiterhin für spätere visuelle Tests zurückgestellt. Jetzt nicht testen.
|
||
|
||
## Umgebung und Betriebszustand beim Sichern
|
||
|
||
- Source: `/home/wow_admin/wow_cata_server/source/TrinityCore`.
|
||
- Build: `/home/wow_admin/wow_cata_server/build/debug`, Ninja, Debug.
|
||
- Install: `/home/wow_admin/wow_cata_server/server/debug`.
|
||
- Testserver: tmux `vcore-worldserver`, cwd `server/debug/bin`, `./worldserver`.
|
||
- Vor dem Sichern lief **PID 19058**, letzter installierter Abenteuer-Ausbau.
|
||
Diesen nicht blind wiederverwenden: Prozesszustand beim Fortsetzen prüfen.
|
||
- Arthoran: Charakter GUID **26**, Account 6, aktuell Abenteuer am importierten
|
||
Sturmwind-Ort `poi_tele_954`. Allitester GUID 21 kann als Zuschauer online sein.
|
||
- Der BERUFS-Ausbau wurde noch nicht installiert; SQL-Migration `_05` wurde
|
||
noch NICHT eingespielt. Der laufende Server ist daher der vorherige Stand.
|
||
- Arthorans normale Startvorgabe im gespeicherten Lua-Profil ist wieder
|
||
`social` / `goldshire_tavern`. Es gibt aktuell KEIN temporäres Login-Profil.
|
||
- Der letzte Build wurde mit j10 unterbrochen, bei 749/751 Schritten (libgame.a gelinkt; letzte Linkschritte noch offen). Die nächste
|
||
inkrementelle Ausführung kann normal weiterbauen; Objektdateien erhalten.
|
||
- Erster Build hatte nur den Fehler `Creature::GetDeathState` statt
|
||
`getDeathState`. Das wurde bereits korrigiert. Der daraufhin neu gestartete
|
||
Build hatte bis zur Unterbrechung keine weiteren gemeldeten Compilerfehler.
|
||
- CMake wurde mit den bestehenden Einstellungen neu ausgeführt, um die neue
|
||
`AdventureProfessionTargets.cpp` einzusammeln (CollectSourceFiles ohne
|
||
CONFIGURE_DEPENDS). Das löste einen größeren Build aus. Nicht grundlos
|
||
erneut konfigurieren, nur mit j10 weiterbauen.
|
||
|
||
## Bereits geschriebene, noch unfertige Berufs-Implementierung
|
||
|
||
### Profil und Regeln
|
||
|
||
- `AdventureProfessionPolicy.h`: reine Regeln/Task-Spezifikationen, elf
|
||
Hauptberufe, kanonische englische Bezeichner, Nebenberufe ohne Primärfreigabe.
|
||
Hauptberufsrecht stammt aus dem Profil, NICHT aus `Player::HasSkill`.
|
||
- `ClientlessAdventureProfile::PrimaryProfessions` und Lua-Parser für
|
||
`professions.primary` als Array. Unbekannte Namen warnen und gewähren nichts.
|
||
- `arthoran.lua`: mining + blacksmithing. `generic.lua`: leeres Array.
|
||
- `Trainer.h`: nur neuer generischer, read-only Zugriff `GetSpells() const`.
|
||
Kein Lernen/Trainer-Handler wird aufgerufen.
|
||
|
||
### Echte Ressourcen und Arbeitsplätze
|
||
|
||
- Neu: `AdventureProfessionTargets.{h,cpp}`.
|
||
- Erz/Pflanzen: echte aktive CHΕST-GOs, native Lock-/Skill-Anforderungen aus
|
||
`sLockStore` / `SkillByLockType`, nicht bloß Namen oder Locationkategorie.
|
||
Nur sichtbare, phasenrichtige, bereite und erreichbare Ziele.
|
||
- Kürschnerei: vorhandener toter BEAST-Kadaver im Zustand CORPSE mit nativem
|
||
SKINNABLE-Flag. Kein Erzeugen/Töten eines Tiers. Kampf/Jagd später.
|
||
- Arbeitsplätze: neuer editierbarer Katalog `vcore_adventure_workstation`
|
||
mit GO-Templateentry, semantischer Rolle und enabled. Keine Bot-/Ort-ID-Liste.
|
||
Native Fokuskennungen geprüft: 1 Amboss, 3 Esse, 4 Kochfeuer, 663 Alchemielabor,
|
||
1589 Lexikon. 623/543 sind besondere Amboss-/Essenfokusse.
|
||
- Native unsichtbare SPELL_FOCUS-Marker repräsentieren reale Kartenarbeitsplätze
|
||
und dürfen dafür genutzt werden. Keine Aktivierung/Objektbenutzung.
|
||
- Rollen ohne reale erkennbare Arbeitsplätze bleiben nicht verfügbar; keine
|
||
beliebige Werkstatt-Location als Amboss behandeln.
|
||
- Trainer: native Tradeskill-Trainer, deren native Spell-/SkillLine-Daten zu
|
||
einem erlaubten Haupt- oder einem Nebenberuf passen. Reines Gespräch.
|
||
|
||
### Szenen und bestehende Legacy-Aktionen
|
||
|
||
- Wiederverwendete `AdventureSocialActions` mit `Cue::Work`, professionellen
|
||
Zielprüfungen, nativen Emote-Zuständen, Abschlussbetrachtung und kurzem
|
||
Wegtreten. Keine Harvest-/Craft-/Loot-/Teach-/Heal-Aufrufe.
|
||
- Profil und Ziel werden auch während der Szene erneut geprüft.
|
||
- Alte `mining_show` / `smithing_show` (Kind `work`, Requirement ore/forge)
|
||
werden in `ResolvedAction` auf dieselben neuen gesperrten Szenen umgelegt.
|
||
Es darf KEIN Legacy-Bypass der Profil- oder Arbeitsplatzprüfung verbleiben.
|
||
- Nach vollständiger Sammeldarstellung wird `work:<GUID>` in der bestehenden
|
||
Zielhistorie gespeichert. Kürzlich bearbeitete Ressourcen werden gemieden,
|
||
damit die unverändert stehen bleibende Quelle nicht endlos wiederholt wird.
|
||
Nur Erzbetrachtung (`ore_inspect`) setzt diese Bearbeitungssperre nicht.
|
||
|
||
### Gebietssuche / gemeinsame Erkundungssteuerung
|
||
|
||
- Neue Suche `profession_search`, Requirement `work_search`, Kind `outing`.
|
||
- Wiederverwendete MMAP-Routensteuerung: progressive Hinwege, an erreichten
|
||
Kontrollpunkten erneut mögliche Berufsarbeit prüfen und Suche dann beenden.
|
||
- Bei Gebietsaufträgen wird der lokale Anker nach bestätigtem Suchfortschritt
|
||
verschoben. Weiteres Durchsuchen bleibt über jeden MMAP-Punkt im Zielgebiet.
|
||
- Gebiets-Abenteuerwege sind jetzt ebenfalls progressiv; normale Freizeitwege
|
||
bleiben bestätigte Hin-/Rückwege. Keine Stadt-Sonderregel.
|
||
- Zusätzliche native Uferprüfung für performatives Berufsangeln im Gebiet,
|
||
ohne zwingenden speziellen Fishing-Location-Key. Ausgerüstete Angel bleibt
|
||
nötig. Kein wirklicher Angelzauber/Fang. Noch nicht live getestet.
|
||
|
||
### Neue Migration
|
||
|
||
`sql/custom/world/2026_10_27_05_adventure_profession.sql` (noch NICHT angewendet):
|
||
Arbeitsplatzrollen, neue Arbeits-/Such-/Nebenberufs-/Gesprächsaktionen,
|
||
Berufsgewichtung für Gebiet/Wildnis/Siedlung, neue Texte. Native Fokusdaten
|
||
haben Vorrang; Namen ergänzen nur erkennbare geeignete Props. Geänderte
|
||
Gewichte/disabled-Rollen sollen bei Wiederholung erhalten bleiben.
|
||
|
||
## Offene Arbeiten – konkret hier weiter
|
||
|
||
1. Aktuellen C++-Diff kritisch prüfen; dies ist ein WIP, keine fertige Abnahme.
|
||
Insbesondere Berufsszenen, Legacy-Auflösung, progressive Ankeraktualisierung,
|
||
Ressourcen-Wiederholungsdämpfung und Uferprüfung gegen Nutzerregeln prüfen.
|
||
2. `cmake --build /home/wow_admin/wow_cata_server/build/debug -j10` fortsetzen.
|
||
Vorher prüfen, dass kein alter Build mehr läuft. Weitere Fehler beheben.
|
||
3. Vollständige Tests erneut laufen lassen. Vor dem Berufs-Ausbau waren
|
||
**32 Tests grün**. Seitdem gab es 7 Mock-/Harness-Anpassungsfehler, deren
|
||
Fixes bereits TEILWEISE geschrieben sind. Alte Fehlerdateien sind historisch!
|
||
- Economy/Exploration/Social-fire: neues Policy-Include und Profilfelder,
|
||
Targets-Stub für zusätzlich mitkompilierte Zweige.
|
||
- Social: Map-/Position-/Origin-Stubs und native Work-Emotes ergänzt;
|
||
zuletzt nach INVALID_HEIGHT-Fix wieder grün.
|
||
- Exploration und Leisure: nach Anpassungen zuletzt wieder grün.
|
||
- Intent-state: neue Scene-Felder Progressive/Route/Step ergänzt;
|
||
letzter Fehler fehlende Player::GetExactDist(Position const&). Der
|
||
Überladungs-Fix ist bereits geschrieben, aber noch nicht erneut geprüft.
|
||
- Rest-fire: PrimaryProfessions in Mock-Profil/-Kontext ergänzt;
|
||
aktuellen Zustand durch erneuten Lauf prüfen.
|
||
4. Neue aussagekräftige Berufs-Tests fehlen noch! Geplant:
|
||
- tatsächlichen neuen Lua-Parser mit realem Lua 5.4 ausführen, inklusive
|
||
Arthoran mining/blacksmithing, leeres/ungültiges Profil sperrt Hauptberufe;
|
||
- Mining+Smithing darf vorhandene Kräuter NICHT bearbeiten, umgekehrt darf
|
||
Herbalism+Alchemy keine Erz-/Schmiedearbeit; sekundäre Aktionen ohne Liste;
|
||
- produktive native Zielklassifikation: Lock-Skills statt Namen, Amboss
|
||
versus Esse versus bloße Workshop-/Gebietszuordnung, falsche Phase,
|
||
despawnte/gelootete Quelle, Kadaverprüfung und passende Trainer;
|
||
- native Arbeitsgeste erst NACH tatsächlicher Ankunft, Profilentzug während
|
||
laufender Szene, keine Objektbenutzung/Casts/Inventaränderung, Abschluss;
|
||
- Migration auf Schemafixtures ausführen, Idempotenz und bearbeitete
|
||
Gewichte/Arbeitsplatzfreigaben erhalten;
|
||
- Gebiets-Anreise über erreichbaren Graphnode und lokale progressive Suche
|
||
innerhalb des Gebiets, Stopp bei gefundenem zulässigem Arbeitsplatz.
|
||
5. Erst dann neue Migration auf TEST-DB anwenden. Noch kein profession_apply-
|
||
Modus im gesicherten DB-Helfer! Ergänzen oder engen eigenen Helfer schreiben.
|
||
6. Erfolgreichen Build nach sauberem Serverstopp installieren, neu starten und
|
||
frische Ready-Meldung + Prozess + Port 8085 prüfen. AGENTS-Recovery beachten.
|
||
7. Live prüfen: tatsächlicher Amboss in Sturmwind (z. B. importierter
|
||
`poi_guard_541`, Schmiedebereich), dann Gebietsziel `poi_tele_338` = Elwynn,
|
||
Gebiet 12, echtes travel_to_node und lokale Ressourcen-/Arbeitsplatzsuche.
|
||
Kräuter muss Arthoran verweigern. Inventar/Geld und Ressourcen unverändert
|
||
nachweisen. Keine gefälschten Ressourcen, Spawns oder Teleports.
|
||
8. Berufs-Dokumentation schreiben, Katalog-/Standdokumente aktualisieren und
|
||
offen gebliebene Live-/visuelle Prüfungen ehrlich benennen.
|
||
|
||
## Wichtige vorherige Ergebnisse – nicht neu implementieren
|
||
|
||
- Reisegraph: optionale virtuelle Exits regelmäßig (6 s) während Weiterbewegung
|
||
prüfen, kein Abbruch nach fünf Versuchen, Kante nicht mitten darin umkehren.
|
||
Free-flight-Fallback getrennt von künstlichen Normalreise-Auswahlregeln.
|
||
- Ruhe/Feuer: gemeinsames natives Kochfeuer 818, neue Feuer nie in Gebäuden/
|
||
Städten. Schlafdarstellung weiterhin vertagt.
|
||
- Freizeit: Katze (Spell 10673, Creature 7385), Leine (Item 37460, Spell 48722),
|
||
echte native Begleiter-/Itemverwendung. Kanal beim Gehen erhalten. Owned-only
|
||
Cleanup, keine Veränderung fremder Begleiter. Nutzer hat sichtbare Katze,
|
||
Leine, zusammenhängende Routen und flüssige Bewegung ausdrücklich abgenommen.
|
||
- Native Follow-Fix: aktive Player-Splinegeschwindigkeit statt Run-Flag wählen;
|
||
SetWalk setzt die Gait-Auswahl, nicht MOVEMENTFLAG_WALKING. Das beseitigte
|
||
die ständigen Zwei-Meter-Pausen. Nicht wieder entfernen.
|
||
- Native Spline-Kurzsegment-Fix: 0,11 Yards Mindestabstand beim Splitten.
|
||
- Wirtschaften rein performativ; Händler/Bank/AH und Vergleich mit zwei GUIDs
|
||
technisch live geprüft, Geld/Inventar danach bytegleich.
|
||
- Importfehler behoben: SMALLINT maps über GetUInt16 statt GetUInt32, das in
|
||
Debug Null ergab. Gezielte, idempotente `clientless adventure repairimport`
|
||
reparierte 2.159 unveränderte abgeleitete Orte, ergänzte 217. Jetzt **2.864**
|
||
aktive semantische Locations / 3.857 Worldpoints. 16 manuelle Orte unverändert.
|
||
Vier Horde-Hauptstädte korrekt auf Karte/Fraktion zugeordnet. Nicht die
|
||
originalen world-DB-Quellen ändern. Snapshots liegen bei dieser Übergabe.
|
||
- Location-Zuordnung: kein versteckter Wirtschaften-Fallback mehr im Code;
|
||
`_04` materialisiert ausdrückliche Kategorie-/Intent-Gewichte, inklusive
|
||
begrenzter Freizeitgewichtung für Tavernen. Tagesplan-Intent unabhängig davon.
|
||
- Abenteuer `_04`: native Objektuntersuchung ohne Use, Scout/Equipment,
|
||
zusammenhängende Bodenwege. Zehn neue Aktionen, 32 Tests bestanden, technisch
|
||
live in Sturmwind: Pestle's Apothecary 197117, Weller's Arsenal 197121,
|
||
80-Yards-Erkundungsweg mit zehn bestätigten Hin-/Rückwegpunkten. Visuelle
|
||
Abnahme und gefährliche offene Welt weiterhin separat.
|
||
|
||
## Werkzeuge, Logs und reproduzierbarer Betrieb
|
||
|
||
Dauerhafte Kopien für diese Übergabe:
|
||
`doc/clientless/checkpoints/2026-10-27-profession/`.
|
||
Darin Build-/Configurelogs, historische fehlgeschlagene Testausgaben,
|
||
Ortskatalog-Snapshots und die bisherigen schmalen DB-Helfer. Diese Helfer lesen
|
||
Verbindungsdaten aus der lokalen Testserverkonfiguration; keine Passwörter
|
||
im Chat/Logs ausgeben. Sie enthalten keine fest codierten Zugangsdaten.
|
||
Die Helfer bei Bedarf wieder nach `/tmp` kopieren; Pfade gelten für diesen Host.
|
||
|
||
Wichtige Live-Logs (normal und ohne vorsorgliche Elevation lesen):
|
||
`/home/wow_admin/wow_cata_server/server/debug/bin/Server.log`,
|
||
`adventurebot-navigation.log`, `DBErrors.log`. Server.log wird beim Start neu
|
||
begonnen, Navigations-/DBErrorslogs können ältere Fehler enthalten. Bekannte
|
||
alte Script-/Spell-Warnungen nicht mit neuem Startup-Versagen verwechseln.
|
||
|
||
Buildbefehle: `cmake --build .../build/debug -j10`, bestehende Installation
|
||
mit `cmake --install .../build/debug`. Tool-Sandbox für Build/Install/tmux/DB
|
||
beachten, aber normale Logs nicht vorsorglich eskalieren. Keine laufende
|
||
Executable überschreiben. Kein Push.
|
||
|
||
Für gezielte Tests nach Restart wurde bisher nur beim Login die Startvorgabe
|
||
in arthoran.lua temporär geändert, vorher byteweise gesichert, nach
|
||
`[AdventureBot][Profile] loaded guid=26` exakt zurückgesetzt. Die jetzt dauerhaft
|
||
vereinbarten Hauptberufe dabei unbedingt erhalten. Keine temporären Profile
|
||
liegenlassen. Alternativ normalen Login abwarten und per Console Intent setzen;
|
||
auf unerwünschte automatische Goldshire-Anreise achten.
|
||
|
||
Console-Beispiele ohne führenden Punkt:
|
||
`clientless login 26`, `clientless adventure status 26`,
|
||
`clientless adventure intent 26 profession poi_guard_541 3600`,
|
||
`clientless adventure intent 26 profession poi_tele_338 3600`,
|
||
`clientless adventure micro 26 <action_key>`, `saveall`.
|
||
|
||
Der Nutzer möchte vor allem konkrete, überprüfte Ergebnisse und wenig
|
||
Bestätigungsfragen. Die Hauptberufs-Rückfrage ist bereits BEANTWORTET; nicht
|
||
noch einmal stellen. Testservermanagement und lokale Commits sind autorisiert.
|