Steam provides several tools to help manage cheating in online video games. Whether you choose to integrate our anti-cheat APIs or use your own solution, make sure you give your customers proper warning that such a system exists and that you have UI ingame that clearly explains the ban.
For an introduction to anti-cheat and general best practices, we recommend that you watch the Steam Dev Days
talk "Anti-Cheat for Multiplayer Games" (slides
Valve Anti-Cheat (VAC) is an automated system designed to detect cheats installed on users' computers. If a user connects to a VAC-Secured server from a computer with identifiable cheats installed, the VAC system will ban the user from playing that game on VAC-Secured servers in the future.NOTE: VAC only attempts to detect cheats reported by the developer. Valve does not actively seek out cheats either automatically or through manual digging.
See the VAC Integration
documentation for more details.
Game Bans allow you to utilize Valve’s banning infrastructure rather than implement your own ban tracking system. When you ban a player using the ICheatReportingService/RequestPlayerGameBan
Web API, the ban will be publicly visible on that person's Steam profile.
Below is a list of best practices when using the provided Steamworks anti-cheat services. For broader anti-cheat best practices, please refer to the video above.
- Running servers for your game is strongly suggested. Having a server handle game state and only transmitting game state to the user when necessary can help prevent cheating. For example only transmitting player position when necessary. The server can also be authoritative on player position and other game states to prevent speed hacking or god mode.
- If your game uses peer-to-peer, each user should validate the others to prevent the host from having full control of the game state which would allow them to cheat or bypass restrictions.
- When the Authentication API call ISteamGameServer::BeginAuthSession returns
k_EAuthSessionResponseVACCheckTimedOut, the player should be removed from the server as VAC is unable to challenge the user or the user is in a state that would indicate they may be running a cheat.
- When a user is banned or kicked they should receive clear messaging in-game explaining why they are unable to play.
Required Permissions For Editing Anti-Cheat PoliciesWho can set or edit Anti-Cheat policies for my product?
Only certain publisher accounts have the necessary permissions to enable or adjust anti-cheat policies for your products on Steam. If you don't have the necessary permissions as detailed below, the best bet is to contact one of your Steamworks administrators, which is a user within your organization that has the ability to grant permissions. A list of your Steamworks administrators can be found on the right column of your Steamworks home page
(unless you are an administrator yourself).
The following permissions are required for a specific account in order to set or adjust anti-cheat policies for a product:
Gift RestrictionsEnabling Anti-Cheat API access affects gift copies of your game!
Both VAC and Game Ban enabled games can either be bought for your own account, or gifted immediately. If you directly gift a game to someone who gets permanently banned, you won’t be able to gift that game again.
Frequently Asked QuestionsQ: How does a VAC ban or Game Ban impact the user?
A: When a user is banned via either one of our anti-cheat services, the following happens:
- The account cannot join secure servers for the AppIDs they are banned.
- The ban is publicly displayed on their Steam Community profile.
- The account can no longer share VAC enabled games.
- If the user is borrowing the game via Family Library Sharing, the ban is also applied to the actual owner of the game.
More details can be found in our customer facing FAQs: Valve Anti-Cheat System (VAC)
, I've been VAC banned
, and Banned by Game Developer (Game Ban)
.Q: Can I use bans in other games to block users from playing in my game?
A: No. VAC and Game bans should only prevent the user from playing on VAC secured servers in the game they received a ban in. A permanent ban should only be issued for your game if the user was caught cheating in your game.