Skip to main content

SARD Guard

SARD Guard is our stand-alone version of anti-cheat which provides same functions while not requring in-game integration. Usualy it's used by tournament platforms that want to ensure competitive integrity for 3rd-party games, though we see cases some specific use cases that may benefit games:

  • Web-first games that are ported as PWA for desktop
  • Restrictions on 3rd party library integration on client-side
note

Later in this article we gonna describe SARD Guard flow with Steam games. For other platforms and 1st party games, process will look similiar, but please contact us for analyzing your specific use-case

Client-side workflow

SARD Guard is an installable .exe that could be obtained from sard.ac or directly published on your web-portal. Installed and launched SARD Guard works as follows SARD Guard flow, client part

  1. SARD makes sure its process has started before Steam. In case Steam is already running user is asked to relaunch it.
  2. After that SARD waits for game to be launched on Steam
  3. When it happens SARD is ready to validate particular player running SARD Guard

Validation process

SARD Guard flow, client part

  1. When platform is ready to validate a player, usualy on server connection, platform has to make API request to SARD server with SteamId
  2. SARD server checks if such SteamId is playing particular game and has SARD guard activated and returning result to platform server
  3. SARD Guard downloads additional files specific to particular game and platform (or checks existing ones if user previously played on platform)
  4. SARD starts actively running and will send Kick request server to platform in case it sees player cheating

API specification

Player validation

Validation process differes a bit from classic SARD and requries more data to fully function

Sample request
curl -X POST https://admin.sard.ac/sardguardserver/api/XXX/register' \
--header 'Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
--header 'Content-Type: application/json' \
--data '{
"SteamId": "SSSSSSSSSSSSSSSSS",
"AppId": "AAAAA"}'
  • URL: Validation endpoint, where XXX represents unique string of your enviroment, known as SARD-key
  • Authorization: Token provided to you in Admin panel under validation section
  • Data: SARD server expects to receive
    • SteamId as string in SteamID64 format (17 digit number)
    • AppId as string representing numerical Id of the game

Sanctions

Sanctions API is essential for SARD Guard to fully work. Integration process is described in corresponding article sanctions

Supported games

Currently SARD Guard is tailored for Steam game + platform server, which can determine player connection to server setup. For example:

  • Counter-strike
  • Rust
  • Day Z
note

SARD guard could be modified for your specific game and platform, please contact us for further information.