Skip to main content

How to Get Started

FACEIT Anti-Cheat helps prevent and reduce cheating in multiplayer video games. It provides tools that can launch game titles in a "protected" execution environment. This helps combat cheating in two ways:

  • FACEIT Anti-Cheat can detect cheating when it happens - in this case, when a cheat is running on a user's machine. Players utilising these methods are identified so that the right punishments can be applied.
  • FACEIT Anti-Cheat can prevent cheating from happening - some known cheat software is blocked right away.
caution

FACEIT Anti-Cheat is not digital rights management (DRM) software, and does not perform code obfuscation. It should not be used to replace these types of tools.

FACEIT Anti-Cheat is designed for use in multiplayer scenarios, and is not useful in offline play.

The FACEIT Game Client SDK's Anti-Cheat interface is supported for use on 64-bit editions of Windows 10 and 11. This interface interacts with the FACEIT Anti-Cheat Client Application itself, which the user must have installed on their machine.

The FACEIT Game Server SDK's Anti-Cheat interface is supported on both Windows and Linux servers, and operates without any further dependencies.

Availability

DomainInterface Presence
C++Client and Server SDK v3.0.0+
UnrealClient and Server SDK v6.0.0+
C#Client and Server SDK v6.0.0+

Overview

The FACEIT Game Client SDK provides a bridge between a game and the FACEIT Anti-Cheat system service. Any messages produced by the Anti-Cheat service are passed through the SDK and should be sent to the server that the game client is connected to.

The FACEIT Game Server SDK manages Anti-Cheat communications for each connected player. If the player is not running Anti-Cheat on their machine, or they have been banned, they are kicked from the game server.

Anti-Cheat Game Configuration

We provide configuration settings to adjust the strictness of the requirements that the FACEIT Anti-Cheat application imposes on a user's computer. With stricter requirements, fewer aspects of the system will be able to be exploited by cheats.

Navigate into your game in the Labs Portal and then to Anti-Cheat in the menu. There you will be able to tweak the following settings:

  • Date for oldest OS security update allowed: players will not be allowed to run the game with the FACEIT Anti-Cheat if their last security patch is older than this date
  • Whether secure boot is required for Windows 11 or not

Our recommendation is to chose a date closest to latest as possible for OS security updates and requiring secure boot. If you are not sure which settings to chose for your game, we will be happy to advise you - please reach out to your FACEIT Technical Integration contact.

Prerequisites

To use FACEIT Anti-Cheat in your game, you must:

  • Adhere to the game development prerequisites described below.
  • Adopt a client-server game network architecture.
  • Ensure that the communications between the game client and server are securely encrypted.
  • Ensure that your game executable and dependent libraries are properly signed with code signing certificates, and the subject names of these certificates are listed in your game project in the FACEIT Labs Portal.
  • Integrate the FACEIT Anti-Cheat into your game server and client using the interfaces provided in the FACEIT SDK.
  • Test the integration and confirm it works as intended.

Game Development Prerequisites

For FACEIT Anti-Cheat to be effective, it needs to work on top of a solid game foundation that follows best security practices, and actively addresses game issues as they are discovered.

Game Architecture

Your game should be built on dedicated game servers with authority over the game state. This is important in order to avoid situations where players can modify the game state in their favour.

For example, cheats that allow players to fly can be completely prevented by giving game servers authority on players positions and movements.

Game Quality and Exploits

Game logic errors, bugs or edge cases are often discovered and exploited by players. Issues like these should be fixed and addressed by the game developer as soon as possible, as they are generally outside of the scope of what anti-cheat solutions are able to cater for.

Having a small dedicated team that works at solving and addressing game issues can significantly improve your player experience in partnership with your anti-cheat service.

Game Network Encryption

It is very important that the network connection between your game server and game client is encrypted. When leaving the connection unencrypted, you are leaving the game open to "man-in-the-middle" attacks which are often employed by cheaters.

For games that run on Unreal Engine, the DTLSHandlerComponent plugin can be used to secure the game network connections.

Player Reports

Reports from other players constitute important signals to provide additional context and feedback on the effectiveness of the anti-cheat protection, and players' perception of the amount of cheating occurring in your game. It is important to share this feedback with your FACEIT Labs contact.