fix(dev-new): disable Warden so the Android client can log in #384
No reviewers
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos!384
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/wow-disable-warden"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Logging in from the Android handheld (KONKR Pocket FIT, Snapdragon G3 Gen 3) running the
3.3.5a client under GameHub Lite crashes immediately after authentication:
Evidence
0B4E4360is a heap address, well outsideWow.exe's own code region (~0x00400000).That is dynamically generated code, not the client binary — which is exactly what Warden
is: the worldserver pushes freshly generated x86 to the client each check cycle and
Scan.dllexecutes it. GameHub translates x86 to ARM64 via FEX, and FEX chokes oncode that appears at runtime. The crash timing matches Warden's first check cycle.
Why disabling it costs nothing here
Warden.ClientCheckFailAction = 0was already set, so the realm logged check failuresand acted on none of them. The realm is single-user, so the anti-cheat has nothing to
protect; its only observable effect is breaking the handheld client.
Verification
Applied by hand to
/var/lib/wow/etc/worldserver.confondev-newand restartedpodman-wow-worldserver.service. World port was back up in ~18s, and the containerconfirms it reads the value through the
/var/lib/wow/etcbind mount:That manual edit is temporary —
wow-config.servicereinstallsworldserver.conffrom the Nix store unconditionally on every run (unlike
playerbots.conf, which isguarded). This PR is what makes it survive.
Pre-commit dry-build:
:: dev-new OK.