3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【チート対策】Epic Online ServiceのEasy Anti-Cheatをお試しで実装してみる

Posted at

Summary

Epic Online Service(EOS)で配布されているAnti-Cheatを使ってEasy Anti-Cheat(EAC)経由でゲームを起動する方法をまとめました。

環境

・Unity 2020.3.4f1(UnityじゃなくてもOK)
・Windows 10 21H1

1.ゲームの作成

・今回はゲームプログラム側でEOSSDKを使わず、ただ、EAC経由でゲームを起動させるだけなのでエンジンは何でも大丈夫です。
image.png
作れたら実行可能ファイルとして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.cerdevtoolsのルートディレクトリに配置します。

プライベートキーは必ず安全な場所に保管してください

一番下の製品の設定から製品IDサンドボックスIDをメモしておいてください
image.png

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

7.参考

Anti-Cheat インターフェースを使用する|Epic Online Service ドキュメンテーション

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?