Commit graph

  • 971bdc7d79
    Merge pull request #4 from aciderix/claude/funny-gates-79hnf2 main aciderix 2026-07-01 21:49:17 +02:00
  • 0717fe8f75 bp_trace: add exec-breakpoint mode; note WOW64 Dr-register limitation (hw bps not firing via Wow64SetThreadContext - needs 64-bit context path or INT3). mem_scan confirmed creature level lives in uninitialized memory (0x55/0xaaaa fill). claude/funny-gates-79hnf2 aciderix 2026-06-29 09:58:53 +02:00
  • 5de599d933 fix(bp_trace): suspend/resume thread around Dr writes so both arming and CLEARING stick (running-thread SetThreadContext was a no-op -> stale Dr fired post-detach -> game crash) aciderix 2026-06-29 08:12:03 +02:00
  • 231399b45f tools: hardware-breakpoint tracer (bp_trace.py) + attach test. Dr0-3 access breakpoints to find the code touching a creature level field, symbolized via aret. Fixed Dr-clearing on detach (stale debug reg crashed the game seconds later). aciderix 2026-06-29 06:09:57 +02:00
  • bac7ebe0c0 tools: mem_scan.py - read the running game's memory (VirtualQueryEx+ReadProcessMemory) to locate creature structs by SpecContainerId, toward a hardware breakpoint on the level field aciderix 2026-06-29 05:55:58 +02:00
  • f2c3ce561e tools: binary<->logs tracer (code_sampler.py EIP sampler via Wow64GetThreadContext + trace_link.py symbolizer/correlator using ARET index). Links running game native code to server request timeline; built the ARET decompiler to symbolize. Pipeline doc in CODE_TRACE_PIPELINE.md. aciderix 2026-06-29 05:45:35 +02:00
  • 988610f2f4 server: schema-complete tutorial hero equipment (adds PowerUp/DyeTemplateId/IsBranded) - fixes garbage mob levels (1e9) to clean values. Tutorial castle still presents mobs at its intrinsic level (~30); scaling to a level-1 attacker is the open question. aciderix 2026-06-29 00:40:05 +02:00
  • 27b7fe1e4c server: keep ForceCastleLevelOnBuildables on tutorial (caps mobs ~26 vs 400). Mob-level=1 for the tutorial still needs the exact level-forcing mechanic - TODO next session. aciderix 2026-06-29 00:24:15 +02:00
  • 492aeda944 server: drop ForceCastleLevelOnBuildables on tutorial attack so creatures scale to AdjustedHeroLevel (1) instead of the castle intrinsic level (26) aciderix 2026-06-29 00:21:18 +02:00
  • 588eb5e2cb server: tutorial castle gets ForceCastleLevelOnBuildables + level fields (capture omitted them -> mobs spawned at level 1e9 and crashed combat) aciderix 2026-06-29 00:16:08 +02:00
  • 09322e26fb server: tutorial keeps the captured hero (full equipment) instead of build_hero whose Equipment slots are all null - fixes headless hero + combat null-deref [null+0x54] @0x8EB4A0 aciderix 2026-06-29 00:12:17 +02:00
  • f9a58a0ab4 server: XMPP stub listener absorbs chat connect (127.0.0.1:80) to stop the chat event-watcher tight-loop that froze the game in combat aciderix 2026-06-29 00:08:39 +02:00
  • a91ad99af5 server: tutorial StartAttack serves captured fight (DefenderAccountSummary+6rooms) fixing combat-scene null-deref; launcher uses stable user_id (player1) so the account persists across launches. aciderix 2026-06-29 00:00:19 +02:00
  • b82ab1fa72 server: ChooseDisplayName returns empty body; ChooseFirstHero returns full hero; PriceReductionIds is an array. Fixes the post-name hang and the hero-selection loop (client aborted on wrong-typed responses). aciderix 2026-06-28 23:54:00 +02:00
  • 515ab0f7d9 docs: handoff - game boots to stable StarterCastleSelection; blocker is native Opal UI interaction aciderix 2026-06-28 23:08:34 +02:00
  • cbb8cf4188 server: buy castle emits CastleBought+Wallet+SkusModifiers (match real capture order/set) aciderix 2026-06-28 23:03:40 +02:00
  • 56ce362cc6 server: fix onboarding (StarterCastleSelection no longer crashes, castle purchase works) aciderix 2026-06-28 21:58:41 +02:00
  • dbb943d83f fix: GetCastleForSaleBuildInfo returns valid Draft (StarterCastleSelection crashed on empty draft) aciderix 2026-06-28 15:37:32 +02:00
  • 0e83d537e8 MILESTONE: game boots into Home/castle! starter castle + MineStatuses={} fix aciderix 2026-06-28 15:34:29 +02:00
  • afc68fd6b8 fix: starter BuildInfo.Draft with heart room - empty Draft crashed Home state (null deref +0x10) aciderix 2026-06-28 15:26:27 +02:00
  • 0abce8a897 manual push aciderix 2026-06-23 16:19:02 +02:00
  • c73bfd49e7 fix: Objectives=[] prevents ErrorPanel (AccountObjective has no matching fields) aciderix 2026-06-23 16:01:17 +02:00
  • 15add3fd7e auto-fix loop: Windows CDP autonomous iteration + LastViewedDates fix aciderix 2026-06-23 15:11:33 +02:00
  • 54749f89da fix: CompletedAchievements must be [] (last type mismatch vs real server capture) aciderix 2026-06-23 14:50:23 +02:00
  • 8a626c2662 fix: BuyBack must be {} not [] (object, not list) aciderix 2026-06-23 14:42:05 +02:00
  • f7cc360d0d fix: OwnerSpecialPacks must be [] (ushort mistyped, contains list of special packs) aciderix 2026-06-23 14:32:56 +02:00
  • aad53753bc fix: InventoryThemes must be [] not 0 (ushort schema mismatch) aciderix 2026-06-23 14:19:40 +02:00
  • 545ab187ba fix: add missing array fields (HeroCorpses etc.) causing OnAccountInformationTaskError on Windows aciderix 2026-06-23 14:10:53 +02:00
  • 6a37946827 fix: launcher uses memory SSL patch + correct GetAccountInfo format (DefendLog, XmppInfo, IdleThresholds) aciderix 2026-06-23 13:53:11 +02:00
  • 7a5300c5d1 server: fix connection (port 13432, /auth endpoint, launcher script) aciderix 2026-06-23 13:10:31 +02:00
  • a02f30cf08 fix: zero-out ClientSettings URL placeholders to prevent maintenance screen aciderix 2026-06-23 09:41:05 +02:00
  • 17e7cb9dbd windows: direct-from-repo scripts (setup_windows.bat + start_server.bat + _gen_certs.py) aciderix 2026-06-23 09:23:20 +02:00
  • 4af950e879
    windows/setup.bat: show certutil error + checks + GUI fallback for CA install aciderix 2026-06-23 07:06:39 +00:00
  • bef9fa20d3
    server: write state/logs next to the .exe (not the ephemeral PyInstaller temp) aciderix 2026-06-23 07:04:28 +00:00
  • c42ecb5393
    Merge pull request #2 from aciderix/claude/funny-gates-79hnf2 1 aciderix 2026-06-23 08:59:22 +02:00
  • c5047a5548
    ci: smoke-test uses -SkipCertificateCheck (PS7); exe itself was already fine aciderix 2026-06-23 06:33:50 +00:00
  • b3abfc049a
    ci: fix YAML (colon in step name broke parsing) aciderix 2026-06-23 06:31:52 +00:00
  • 23efbe78d1
    ci: smoke-test the exe from the assembled bundle (catalog/certs adjacent) aciderix 2026-06-23 06:31:16 +00:00
  • f29d5c6e66
    ci: fix invalid workflow YAML (here-string broke parsing -> 0 jobs, no Run button) aciderix 2026-06-23 06:27:26 +00:00
  • f1289ff887
    Merge pull request #1 from aciderix/claude/funny-gates-79hnf2 aciderix 2026-06-23 08:24:34 +02:00
  • 7f69a6ac85
    server: built-in diagnose subcommand (exe can diagnose without Python) aciderix 2026-06-23 06:19:42 +00:00
  • afb9631f5f
    chore: gitignore all runtime *.log artifacts (mqel_requests.log etc.) aciderix 2026-06-23 06:14:32 +00:00
  • 364d1321c9
    windows: test kit (exe in releases) + AI diagnosis docs + frozen-path support aciderix 2026-06-23 06:13:40 +00:00
  • 124efa3721
    server: structured AI-diagnosable tracing + diagnose.py aciderix 2026-06-23 06:06:16 +00:00
  • 7af68fccd9
    docs: refresh remaining-limits summary (mapping found, barèmes resolved) aciderix 2026-06-22 23:01:24 +00:00
  • deb7431f6f
    docs: equipment validation done (slot/level), verification 54/54 aciderix 2026-06-22 23:00:56 +00:00
  • 1e33fe8173
    server: equipment validation (slot<->category + level requirement), catalog-sourced aciderix 2026-06-22 23:00:28 +00:00
  • 2eb9b95cc0
    server: trap construction cost from catalog (Traps.ConstructionPoints) aciderix 2026-06-22 22:39:19 +00:00
  • 184e0ecaad
    docs: economy now 100% catalog-sourced (trophies included), no invented barèmes aciderix 2026-06-22 22:33:32 +00:00
  • 1274d590f7
    server: real PvP trophy formula from the catalog (last barème resolved) aciderix 2026-06-22 22:33:11 +00:00
  • 257023c9a4
    docs: per-creature economy now real (SpecContainerId = creature id); only PvP trophy delta remains a barème aciderix 2026-06-22 22:25:59 +00:00
  • f70f4c2fa9
    server: real per-creature loot/xp/construction (SpecContainerId == creature id) aciderix 2026-06-22 22:25:40 +00:00
  • 99b2917bc8
    server: source construction cap + mine yield from the catalog (real per-rank) aciderix 2026-06-22 22:13:34 +00:00
  • deb218f965
    docs: update SERVER.md -- catalog economy, real item stats, live services aciderix 2026-06-22 22:04:28 +00:00
  • ae085179a4
    e2e: full game test covers catalog economy + live services (53 checks) aciderix 2026-06-22 22:02:58 +00:00
  • a6495a74dc
    server: make level-3 read services live (shop, leaderboard, defend log, trophies) aciderix 2026-06-22 22:02:17 +00:00
  • 6805a1a010
    e2e: sell check uses the item's real catalog SellPrice (not the old flat +50) aciderix 2026-06-22 21:58:56 +00:00
  • 086e4e387f
    server: catalog-sourced economy + real item stats (sell, drop, forge, hero stats) aciderix 2026-06-22 21:57:07 +00:00
  • 2393a9500e
    docs: SERVER.md -- architecture, coverage, verification, and honest limits aciderix 2026-06-22 13:39:44 +00:00
  • 0678f5aa06
    command bus: accurate coverage report (43 stateful, 10 no-op, 0 unknown) aciderix 2026-06-22 13:33:28 +00:00
  • c1ef7fa815
    e2e: full game test now covers levels 1-3 end to end (48 checks, all green) aciderix 2026-06-22 13:32:28 +00:00
  • 28fbe32ffc
    server: wire level-3 social services (guilds, friends, news) statefully aciderix 2026-06-22 13:31:22 +00:00
  • 1d937ffa19
    server: make ALL remaining level-2 commands stateful (forge, mines, gear, ...) aciderix 2026-06-22 13:27:02 +00:00
  • 019a6b785a
    e2e: extend full game test with construction, progression, PvP (31 checks) aciderix 2026-06-22 13:15:00 +00:00
  • 9dc2c47211
    server: PvP -- attack another player's built+published castle aciderix 2026-06-22 13:13:59 +00:00
  • 69686a88ce
    server: hero progression -- XP and level up from the real curve aciderix 2026-06-22 13:12:29 +00:00
  • d2891888e5
    server: stateful personal-castle construction (place/remove creatures, upgrade) aciderix 2026-06-22 13:10:53 +00:00
  • 60711f859c
    e2e: comprehensive network game test (24 checks, all green) aciderix 2026-06-22 13:05:03 +00:00
  • 63a34aafc6
    server: make the SendCommands bus stateful (purchases, equip, slots, progression) aciderix 2026-06-22 13:03:29 +00:00
  • 234fc7cd84
    server: EndAttack always returns a real EndAttackInfo (clean leave-combat) aciderix 2026-06-22 12:59:28 +00:00
  • 069be9898b
    e2e/cdp: full ordered playthrough via the live client (all invariants green) aciderix 2026-06-22 12:49:54 +00:00
  • 1f788600d1
    server: wire attack selection, castle info, scripted loot, castles for sale aciderix 2026-06-22 12:47:21 +00:00
  • da20784a28
    server: wire new-player account + hero loadout from the catalog aciderix 2026-06-22 12:42:31 +00:00
  • d8fd9ca063
    server: StartAttack serves the REAL tutorial castle from the catalog aciderix 2026-06-22 12:35:21 +00:00
  • cdb62fbcfc
    catalog: vendor the FULL decrypted GameplaySettings + loader (real game content) aciderix 2026-06-22 12:32:24 +00:00
  • 71261b927f
    e2e/cdp: read combat composition + live UI text/controls without rendering aciderix 2026-06-22 12:13:03 +00:00
  • 8d8dc8cf7f
    e2e/cdp: drive the LOOT/ECONOMY loop through the live client JS framework aciderix 2026-06-22 11:32:48 +00:00
  • d8810e2c00
    server: implement LOOT/ECONOMY loop (StartAttack -> EndAttack(Victory) -> reward) aciderix 2026-06-22 11:10:08 +00:00
  • b7b0b0d776
    docs: complete in-container test - capability, the list/object bug it found, limits aciderix 2026-06-22 08:08:28 +00:00
  • 8e7a028fda
    gate: revert array_fields to data-confirmed set (offset-oracle imprecise near clusters) aciderix 2026-06-22 08:07:34 +00:00
  • 41793e558d
    gate: +11 array fields closed via automated game-oracle loop (114 total) aciderix 2026-06-22 08:04:58 +00:00
  • 89532491bd
    gate: extend array_fields (game-oracle: HeroCorpses, InventoryDecorations) aciderix 2026-06-22 07:51:39 +00:00
  • 4ae2900579
    gate: emit [] for list fields the catalog mistyped as object (full-test found it) aciderix 2026-06-22 07:44:37 +00:00
  • 87f2e89542
    docs: list the remaining 91 value-ambiguous enum contracts (all UI models, flagged) aciderix 2026-06-22 07:31:16 +00:00
  • 410dfb411f
    gate: add safe binary-catalog enum tier (Ghidra flat, JS-guarded) aciderix 2026-06-22 07:20:01 +00:00
  • 428a34ad17
    docs: bulk enum auto-resolution proven unsafe (JS/binary enum divergence) aciderix 2026-06-22 07:11:18 +00:00
  • f74f05b40a
    gate: scope confirmed enums by (Contract.Field), collision-free resolution aciderix 2026-06-22 07:04:17 +00:00
  • 413c04e708
    enums: dual-confirm server-only values with ARET + Ghidra (NotificationType, CreatureRank, Rank) aciderix 2026-06-22 06:50:46 +00:00
  • e98a1ddfc6
    server: gitignore the generated uncertain.log runtime artifact aciderix 2026-06-22 06:17:26 +00:00
  • d334693eaa
    server: confidence-tagged enums + uncertainty log (trace suspect values to in-game bugs) aciderix 2026-06-22 06:16:19 +00:00
  • 54978b9d87
    server: stateful TLS backend + agent oracle (envelope, gate, state round-trip) aciderix 2026-06-21 23:41:25 +00:00
  • 3e08398936
    server: recover enum integers from client JS; gate auto-converts; agent validates aciderix 2026-06-21 23:22:23 +00:00
  • e3b605256c
    e2e: CDP agent drives full account->hero->lobby->attack flow vs local server aciderix 2026-06-21 23:10:40 +00:00
  • e549917cbb
    e2e: working CDP control agent (Python drives hyperquest framework) aciderix 2026-06-21 22:59:02 +00:00
  • be3dea4963
    e2e: CDP control path proven - inject hyperquest framework into CEF V8 from Python aciderix 2026-06-21 22:40:58 +00:00
  • 49e02ba3cb
    e2e: reach the webview; isolate CEF-renderer-under-Wine as the final wall aciderix 2026-06-21 22:28:21 +00:00
  • 2a80d46eac
    e2e: BREAKTHROUGH 2 - client boots stable, connects to local server over TLS aciderix 2026-06-21 22:15:36 +00:00
  • 4eb16507d2
    e2e: BREAKTHROUGH - 1-byte text-render skip clears the InitFonts wall aciderix 2026-06-21 17:57:28 +00:00
  • a23325e8b1
    e2e: evaluate external font-fix suggestions; all in-container avenues exhausted aciderix 2026-06-21 17:47:28 +00:00
  • 65a3fcb60a
    e2e: boot reaches InitFonts under Wine; glyph subsystem is the proven wall aciderix 2026-06-21 17:08:57 +00:00