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を回避することができてしまうため)