lvra.gitlab.io/content/docs/vrchat/eac.md
2024-08-30 02:00:39 +00:00

2.7 KiB

weight title
50 Easy Anti-Cheat

Easy Anti-Cheat

Sometimes, seemingly randomly, you can get an EAC error during the VRChat startup/login screen. It looks like a message box, with the title "Anti-cheat Error", a message referring to a filepath that failed to validate integrity, and a single button labeled "Quit".

  • The filepath in the message always refers to a file within steamapps/common/VRChat.
  • The EAC error can trigger even when all these files are completely pristine.
  • The problem file can be different each time.
  • EAC doesn't care about any of the files in AppData/LocalLow/VRChat. This means yt-dlp.exe, logs, the local cache, etc are not subject to integrity checks.
  • Getting multiple EAC errors in a row is very possible. But if it triggers 10 out of 10 attempts in quick succession, call us.
  • Some EAC info is also written to the VRChat log file.

Wrapper script for starting VRChat: startvrc.sh on GitHub

Set startup options for VRChat: /path/to/startvrc.sh %command%

If you're using extra env vars, they should go first: PRESSURE_VESSEL_FILESYSTEMS_RW=/run/user/1000/monado_comp_ipc /path/to/startvrc.sh %command%

Root Cause

We are still trying to determine the cause.

It is likely caused by a race condition. Closing unnecessary apps or otherwise lowering your CPU usage before starting VRChat seems to make the EAC error happen significantly less often. It is safe to crank the CPU usage back up after the home world has loaded.

The following sections do not fix the issue, but are still kept on the wiki to dispel rumors and record research.

(Outdated) glibc dt_gnu_hash

Previously, we believed it to be related to an incompatible glibc version. However, upon further testing, this turned out to be insufficient.

In other games with EAC, getting past the EAC splash screen had required glibc to be built with a specific flag to work.1,2 (--hash-style=both)

Flatpak Steam includes this flag, however Flatpak Steam is not recommended for VR.

As of 2024-02-09, Arch Linux no longer ships with this flag.

To reiterate, this glibc flag does not appear to fix VRChat's particular flavor of EAC failures.