Files
Put these files next to the packaged game executable that actually runs:
YourGame.exe
anticheat.dll
anticheat.lic
anticheat.ini
For Unreal packaged games, check both the launcher executable and the shipping binary under Binaries\Win64. Korvayne files must sit next to the executable that loads the DLL.
Dropper: tools/KorvayneDropper.exe can copy the DLL, license, and config into a selected packaged game folder. It does not generate licenses and it does not modify game startup code.
Load the DLL
Windows does not automatically load every DLL placed next to an executable. The game must load anticheat.dll once at startup.
- Unreal normally uses a plugin, subsystem, or startup module that calls
GetDllHandle. - Unity uses the provided C# wrapper and native plugin placement.
- Custom engines can call
LoadLibrary("anticheat.dll")early in startup.
Create config
- Open
tools/KorvayneConfigurator.exe. - Start with the Detection only preset.
- Keep telemetry and access checks disabled until local logs work.
- Save the file as
anticheat.ini. - Place it next to the game executable.
First run
Start the game, close it normally, then look for anticheat.log next to the executable. A healthy startup includes a valid license line and a line saying protection is active.
[ACModule][INFO] licensed to Example Studio
[ACModule][INFO] enforcement active: restore=0 eject=0 ...
[ACModule][INFO] self-protection active ...
If the log says the SDK is unlicensed, expired, or malformed, fix the license before tuning detection. The host game should keep running, but Korvayne will not arm sensors.
First QA pass
After the game loads Korvayne, keep the first pass in report-only mode. Start the game normally, restart it a few times, and test the launchers, overlays, capture tools, modding tools, and developer tools your players or team normally use.
Title-specific external-handle tests should use studio QA tooling or a dedicated internal test target.
Stop here before ValueGuard: only continue once the game opens, the license works, local logs appear, and normal player tooling does not create noisy false positives.
