はじめに
テスト環境
- Windows 11
- Unreal Engine 5.4.4(ソースコードビルド版)
- Amazon GameLift Plugin Unreal 2.0.1
- GameLift Cpp Server SDK 5.2.0
- OpenSSL 3.3.0 9 Apr 2024
手順
サーバーパッケージへのファイルの追加
手順1
こちらを参考にしてクライアントとサーバーをパッケージ化し Amazon GameLift の Anywhere Fleet でローカルマルチプレイを出来る状態にする。

手順2
「{プロジェクト名}/Plugins/GameLiftPlugin/Resources/CloudFormation/extra_server_resources」にある「install.bat」を「WindowsServer」フォルダ直下にコピペする。

手順3
「C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Redist/MSVC/v143」等にある「vc_redist.x64.exe」を「WindowsServer」フォルダ直下にコピペする。

手順4
こちらを参考に最新版の OpenSSL をローカルでビルドして「libcrypto-3-x64.dll」と「libssl-3-x64.dll」を生成し、「WindowsServer/{プロジェクト名}/Binaries/Win64」内にコピペする。
(AWS 公式ドキュメントでは UE のソースからこれらのバイナリファイルをコピペするように書かれていますが、この記事のテスト環境である UE 5.4.4 の「libssl-1_1-x64.dll」と「libcrypto-1_1-x64.dll」をサーバーパッケージ内にコピペすると Unreal Editor からのシナリオのデプロイに失敗します)

シナリオのデプロイ
手順5
Unreal Editor に戻り、ツールバーから「Managed EC2」を押す。

手順6
「Set up your game with Amazon GameLift > Amazon GameLift integration complete」を押す。

手順7
「Select deployment scenario > Single-region fleet」を選択して「Select scenario」を押す。

手順8
「Set game parameters」の「Server build name」を任意の名前に、「Server build OS」を「Windows Server 2016」に、「Server build folder」を「WindowsServer」フォルダのパスに、「Server build executable」を「{WindowsServer フォルダへのパス}/WindowsServer/{プロジェクト名}/Binaries/Win64/{プロジェクト名}Server.exe」に、「Client configuration output path」を「{WindowsClient フォルダへのパス}/WindowsClient/{プロジェクト名}/Content/CloudFormation」にして「Set parameters for deployment」を押す。

手順9
「Deploy scenario > Deploy scenario」を押す。

デプロイの進捗状況はアウトプットログから見れるほか、AWS のコンソールの CloudFormation のスタックからも確認できる。

デバッグ
手順10
30分ほど待ち、「Deploy scenario > Deployment status」が「Deployed」になったら「Start Client」を押す。

手順11
「Client build executable」に「{WindowsClient フォルダへのパス}/WindowsClient/{プロジェクト名}Client.exe」と入力して「Start Client」を押す。

手順12
クライアントが起動したら「Test Cloud Deployment」を押す。

手順13
「Username」に任意のメールアドレスを、「Password」に記号とアルファベット(大文字と小文字)、数字を含んだ任意のパスワードを入力して「Sign up」を押す。

手順14
入力したメールアドレスに届いたコードを「Confirmation Code」に入力して「Confirm」を押す。

手順15
「Username」と「Password」が入力されている状態で「Login」を押す。

手順16
Unreal Editor からクライアントをもう1つ起動して先程と同じメールアドレスとパスワードを入力してログインし、オンラインマルチプレイ出来ている事を確認する。
