Skip to content
anti-cheat.org
↑ ↓ navigate · ↵ openanti-cheat.org

Anti-cheat architecture

Where each design runs, read top to bottom. A crossed-out layer is the one that cannot exist when a Windows game runs on Proton.

Ring 0: kernel-mode driver

Not supported on Proton
  1. Game (Windows .exe under Wine)

  2. Anti-cheat service (user-mode)

  3. Anti-cheat driver (.sys)

    Needs a Windows kernel to load into

  4. Linux kernel

    Proton runs here; there is no Windows kernel

Valve states kernel-space anti-cheat is not supported on Proton. Examples we track include Vanguard and Ricochet.

Ring 3: user-mode runtime

Works if the developer enables it
  1. Game (Windows .exe under Wine)

  2. Anti-cheat client (.dll)

    Runs under Wine like the game

  3. Linux anti-cheat module (.so)

    Loaded in place of the driver; see Runtime files

  4. Linux kernel

Easy Anti-Cheat and BattlEye each offer a Linux path. Whether a game uses it is the developer's choice, so check the tracker.

Server-side detection

No client driver
  1. Game (Windows .exe under Wine)

  2. Game traffic and match data

    Analyzed on the developer's servers

  3. Detection service

    Statistical, no component on your machine

Nothing extra is installed on the client, so Proton adds no anti-cheat-specific obstacle. FairFight is the example listed on game pages.

Source for the Proton limits: Valve Steamworks: Proton . Diagrams are simplified.