diff --git a/gaming/troubleshooting.md b/gaming/troubleshooting.md index 840b638..86459df 100644 --- a/gaming/troubleshooting.md +++ b/gaming/troubleshooting.md @@ -214,45 +214,56 @@ For full HDR setup (vk-hdr-layer, KDE config, per-API env vars), see the **steam **Diagnostic tip**: Look for rapid retry patterns in Pi-hole logs (same domain queried every 1-3s from the Xbox IP) — this signals a blocked domain causing timeout loops. -## Gray Zone Warfare — EAC Failures on Proton (2026-03-31) +## Gray Zone Warfare — EAC Failures on Proton (2026-03-31) [RESOLVED] **Severity:** High — game unplayable online +**Status:** RESOLVED — corrupted prebuild world cache file -**Problem:** EAC errors when connecting to servers on Linux/Proton. Two error codes observed: -- `0x0002000F` — "The client failed to register in time" (EAC timeout) -- `0x00020011` — "The client failed to start the session" (EAC session init failure) +**Problem:** EAC errors when connecting to servers on Linux/Proton. Three error codes observed across attempts: +- `0x0002000A` — "The client failed an anti-cheat client runtime check" (the actual root cause) +- `0x0002000F` — "The client failed to register in time" (downstream timeout) +- `0x00020011` — "The client failed to start the session" (downstream session failure) -Game launches fine, EAC bootstrapper reports success ("Easy Anti-Cheat successfully loaded in-game"), but fails when joining a server at "Synchronizing Live Data". +Game launches fine, EAC bootstrapper reports success, but fails when joining a server at "Synchronizing Live Data". -**Root Cause:** EOS SDK cannot load `steam_api64.dll` at startup: +**Root Cause:** A corrupted/stale prebuild world cache file that EAC flagged during runtime checks: ``` -LogEOSSDK: Error: Unable to load the Steamworks library: steam_api64.dll -LogEOSSDK: Error: Integrated Platform Steam failed to get steamworks sdk +LogEOSAntiCheat: [AntiCheatClient] [PollStatusInternal] Client Violation with Type: 5 +Message: Unknown file version (GZW/Content/SKALLA/PrebuildWorldData/World/cache/0xb9af63cee2e43b6c_0x3cb3b3354fb31606.dat) ``` -Without Steam integration, EOS has no user identity → `Invalid user EOS ID` → EAC cannot start a client session. The `steam_api64.dll` exists in the game tree at `Engine/Binaries/ThirdParty/Steamworks/Steamv158/Win64/` but EOS isn't resolving that path under Wine/Proton. +EAC scanned this file, found an unrecognized version, and flagged a client violation. The other errors (`0x0002000F`, `0x00020011`) were downstream consequences — EAC couldn't complete session registration after the violation. -Additionally: upgrading from GE-Proton9-25 to GE-Proton10-25 and nuking the compatdata prefix may have triggered the regression. **The game was working earlier the same day on GE-Proton9-25.** +Compounding factors that made diagnosis harder: +- Epic EOS scheduled maintenance (Fortnite v40.10, Apr 1 08:00-09:30 UTC) returned 503s from `api.epicgames.dev/auth/v1/oauth/token`, masking the real issue +- `steam_api64.dll` EOS SDK errors at startup are **benign noise** under Proton — red herring +- Nuking the compatdata prefix and upgrading Proton happened concurrently, adding confusion + +**Fix:** +1. Delete the specific cache file: `rm "GZW/Content/SKALLA/PrebuildWorldData/World/cache/0xb9af63cee2e43b6c_0x3cb3b3354fb31606.dat"` +2. Verify game files in Steam — Steam redownloads a fresh copy with different hash +3. Launch game — clean logs, no EAC errors + +Key detail: the file was the same size (60.7MB) before and after, but different md5 hash — Steam's verify replaced it with a corrected version. **Log locations:** - EAC bootstrapper: `compatdata/2479810/pfx/drive_c/users/steamuser/AppData/Roaming/EasyAntiCheat/.../anticheatlauncher.log` - Game log: `compatdata/2479810/pfx/drive_c/users/steamuser/AppData/Local/GZW/Saved/Logs/GZW.log` - STL launch log: `~/.config/steamtinkerlaunch/logs/gamelaunch/id/2479810.log` -**What was tried (did NOT fix):** -1. Installed Proton EasyAntiCheat Runtime (AppID 1826330) -2. Deleted stale world cache (`GZW/Content/SKALLA/PrebuildWorldData/World/cache/`) -3. Nuked compatdata prefix for clean rebuild -4. Verified game files (Steam repaired 20 files) -5. Upgraded to GE-Proton10-25 +**What did NOT fix it (for reference):** +1. Installing Proton EasyAntiCheat Runtime (AppID 1826330) — good to have but not the issue +2. Deleting the entire cache directory without re-verifying — Steam verify re-downloaded the same bad file the first time (20 files fixed); needed a second targeted delete + verify +3. Nuking compatdata prefix for clean rebuild +4. Switching Proton versions (GE-Proton9-25 ↔ GE-Proton10-25) -**What to try next:** -1. **Restore GE-Proton9-25** — the version that was working earlier. Old prefix backed up at `compatdata/2479810.bak` -2. **Check Proton issue [#7721](https://github.com/ValveSoftware/Proton/issues/7721)** — master tracking issue for GZW on Proton -3. **`split_lock_detect=off`** kernel param — reported to help with EAC init timeouts on some systems - -**Lesson:** Don't upgrade Proton versions on a game that's currently working. Pin working Proton versions per-game in STL configs and only upgrade intentionally with a rollback plan (keep the old compatdata prefix). +**Lessons:** +- When EAC logs show "Unknown file version" for a specific `.dat` file, delete that file and verify — don't nuke the whole cache or prefix +- `steam_api64.dll` EOS errors are benign under Proton and not related to EAC failures +- Check Epic's status page for scheduled maintenance before deep-diving Proton issues +- Multiple verify-and-fix cycles may be needed — the first verify can redownload a stale cached version from Steam's CDN **Game version:** 0.4.0.0-231948-H (EA Pre-Alpha) +**Working Proton:** GE-Proton10-25 **STL config:** `~/.config/steamtinkerlaunch/gamecfgs/id/2479810.conf` ## Useful Commands