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.
Recommended Workaround
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.
- Arch users could use this EAC-specific glibc from the AUR: https://aur.archlinux.org/packages/glibc-eac
- Gentoo users could enable the fix using the
hash-sysv-compat
USE flag onsys-libs/glibc
.
To reiterate, this glibc flag does not appear to fix VRChat's particular flavor of EAC failures.