Summary
Epic Online Service(EOS)で配布されているAnti-Cheatを使ってEasy Anti-Cheat(EAC)経由でゲームを起動する方法をまとめました。
環境
・Unity 2020.3.4f1(UnityじゃなくてもOK)
・Windows 10 21H1
1.ゲームの作成
・今回はゲームプログラム側でEOSSDKを使わず、ただ、EAC経由でゲームを起動させるだけなのでエンジンは何でも大丈夫です。

作れたら実行可能ファイルとしてEXEを出力しておきます。
2. デベロッパーポータルから必要なものをダウンロード
ここから、事前にデベロッパー登録を済ませておきます
できたら適当なProductを作って、
「プレイヤーモデレーション」→「アンチチート」の中のダウンロードをクリックします
「product_<プロダクトID>.zip」がダウンロードされるので解凍します。
デベロッパーポータルトップページに戻ってSDKをクリックし、SDKをダウンロードします。
このとき、SDKのバージョンを指定しますが、中のツールだけ使うので何でも良いです。
SDKを解凍し、
SDK/Tools/EOS_AntiCheatTools-win32-x64-x.x.x.zipを更に解凍します。
その中にあるdevtoolsフォルダを開き、アンチチートのところでダウンロードしたzipの中の
base_private.keyと、base_public.cerをdevtoolsのルートディレクトリに配置します。
プライベートキーは必ず安全な場所に保管してください
一番下の製品の設定から製品IDとサンドボックスIDをメモしておいてください

3.ファイル適合性ツールの設定
anticheat_integritytool.cfgをお好きなエディタで開きます。
変更する箇所は、
working_directoryをゲームプログラムがあるフォルダにしてください。
・例えばD:\MyGame\binならworking_directory = "D:\\MyGame\\bin"のように\にもう一つ\を付け加えてください
最低限の設定はこれだけですが、他にもたくさん設定できることろがあります(コンフィグのコメント参照)
devtoolsフォルダをコマンドプロンプトやPowershellで開いて、
anticheat_integritytool.exe -productid <製品ID>
と入力します。
これでファイル適合性ツールの設定は完了です。
4.Anti-Cheat Bootstrapper の設定
さっきのdevtoolsからフォルダを1つ上がって、distフォルダの中身をゲームプログラムのルートディレクトリにすべてコピーします。
EasyAntiCheat/Settings.jsonを開きます。
変更する箇所は、
「productid」→製品ID
「sandboxid」→サンドボックスID
「title」→EACのタイトル(お好みで)
「executable」→ゲームプログラムの実行可能ファイル
これらが変更できたら、セーブします
settings.jsonと同じ場所にあるSplashScreen.pngはEACが起動するときに表示されるスプラッシュスクリーンの画像ファイルです。
変えてみても面白いかも・・・?
EasyAntiCheat/EasyAntiCheat_EOS_Setup.exeのプロパティを開き、
「互換性」→「管理者としてこのプログラムを実行する」にチェックを入れます。
EasyAntiCheatディレクトリをコマンドプロンプトorPowershellで開き、
「EasyAntiCheat_EOS_Setup.exe install <製品ID>」を実行します。
そうするとEACのサービスがWindowsに登録されます。
5.起動
start_protected_game.exeをダブルクリックで起動してみましょう。
FortniteやApex LegendsでよくみるEACの起動画面が出て、ロードが終わった後に、ゲームが起動するはずです。
お疲れ様でした
6.SDKについて
今回は導入がめんどくさくてやらなかったですが、EOSSDKを使うことによって保護状態などがゲーム側で取得できるようになるっぽいので、
本格的に導入する場合はSDKの導入もほぼ必須になります
(この記事の方法だとゲームプログラムを直接起動すればEACを回避することができてしまうため)