protonscr

Frequent EasyAntiCheat network interruptions playing Hunt: Showdown 1896 (Client integrity violation)

protonclosed
ValveSoftware/Proton#8081 · opened 2024-09-08 by MDSchechtman · updated 2024-09-08 · 1 comments · github
MMDSchechtman 2024-09-08 github

This problem has plagued me for months. The game launches and runs fine but often as soon as I join a match, I get kicked by EAC with the error:

Error Code 0x4000a

EasyAntiCheat violation - you have been kicked due to a detected network interruption between client and the Hunt: Showdown server. Please contact support through our website or social media channels

Verifying files which resets the EAC install script sometimes allows me to get past the error for as long as the game client is not closed.

  • (Update) Adding logging for the game specifically +log_verbosity 4 +log_WriteToFileVerbosity 4 shows that there are corrupted files:
<02:45:38> [CryCloud] RECV messageid: 34
<02:45:42> [CryCloud] Heartbeat Sent
<02:46:12> [CryCloud] Heartbeat Sent
<02:46:36> [Error] [EAC] Client Integrity violation detected. Type : GameFileMismatch. Message: Unknown file version (game_hunt/textures3-part6.pak).
<02:46:38> [CryCloud] Sending request: Invoke (0x02000025) remotely on server with messageId = 37, grainId = 185543, bodysize = 0
<02:46:38> [CryCloud] RECV messageid: 3

This results in the kick:

<03:02:06> CPlayerManager::Client_OnDisconnect(cause=17, desc='Remote disconnected: Client integrity violation<ReasonType>10'), reasonType EAC_KickedViolation
<03:02:06> [EAC] Client disconnected by server. Cause : EAC_KickedViolation. Reason: Remote disconnected: Client integrity violation.
<03:02:06> SCHEMATYC: <Always> Triggering PauseMenuQuit with reason: OnClientLocalPlayerDisconnect: EAC_KickedViolationRemote disconnected: Client integrity violation
<03:02:06> S

I'm not sure how this is happening but it explains why verifying files eventually makes the problem go away. Running smartctl does not seem to show any drive issues:

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        53 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    34,982,158 [17.9 TB]
Data Units Written:                 16,865,431 [8.63 TB]
Host Read Commands:                 174,671,344
Host Write Commands:                134,773,502
Controller Busy Time:               197
Power Cycles:                       200
Power On Hours:                     2,195
Unsafe Shutdowns:                   11
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0

Error Information (NVMe Log 0x01, 16 of 256 entries)
No Errors Logged

Self-test Log (NVMe Log 0x06)
Self-test status: No self-test in progress
Num  Test_Description  Status                       Power_on_Hours  Failing_LBA  NSID Seg SCT Code
 0   Short             Completed without error                2195            -     -   -   -    -

It does seem like either files are downloading in a corrupted state when the game updates, or something is actively corrupting them.

Other things I've tried (likely no longer relevant):

  • Connecting via VPN to bypass any local network blocking configurations
  • Tying with a different OS installed on the same computer (Fedora, Windows). Windows did work; Fedora did not.
  • Deleting the compatdata folder
  • Forcing EAC to re-install before booting the game (seemingly possible by changing the registry configuration user.reg in the proton prefix for the game)
  • Deleting EAC files and verifying they are re-downloaded
  • Examining logs (proton log, anticheatlauncher.log) does not seem to contain anything relevant to the network interruption error

The problem seems to be related to Proton in some way but I'm not able to figure out way.

System Information

MMDSchechtman 2024-09-08 github

While further researching I found this is almost certainly caused by bad ram - just hidden by obscure failures.

Nothing extracted yet.