Skip to content

Settings

Alex S. edited this page Feb 21, 2025 · 1 revision

UltimateAntiCheat offers a range of settings which can modify how the program behaves.

Settings are baked in/compiled with the program instead of being in an external file. This is done to prevent end users from editing a config file to circumvent specific detections or enforcements. Settings can be changed in main.cpp, and new ones can be added in Common/Settings.hpp. Both debug build and release build have their own set, since different settings are suitable for each type of build.

Settings list:

  • bEnableNetworking - Turns on/off server communications
  • bEnforceSecureBoot - Enforces secure boot, which is often used in competitive play (which can be changed through the bcdedit Windows command)
  • bEnforceDSE - Turns on/off driver signature enforcement (or Windows Test Mode)
  • bEnforceNoKDBG - Turns on/off kernel debugging checks (which can be changed through the bcdedit Windows command)
  • bUseAntiDebugging - Turns on/off anti-debugging checks
  • bUseIntegrityChecking - Turns on/off section integrity checks
  • bCheckThreadIntegrity - Turns on/off thread suspension & thread exit code checks
  • bCheckHypervisor - Turns on/off hypervisor checks
  • bRequireRunAsAdministrator - Whether the program has to be run as an administrator (recommended to always be set to true)
  • bUsingDriver - Whether or not to load the driver at startup (no driver included in the open source version of this project, so you'll need to provide your own)
  • bEnableLogging - Whether or not to write log messages to the output file specified in logFileName
  • allowedParents - List of allowed parent processes. The program will not start up if its parent does not match one of the list's values
  • logFileName - Name of the file to write logging messages to
  • KMDriverName (in Settings.hpp) - Name of the driver service to load
  • KMDriverPath (in Settings.hpp) - Path of the driver to load

Clone this wiki locally