サーバー SDK 5.x への移行 Amazon GameLift Servers
サーバー SDK バージョン 5.x を使用するようにゲームプロジェクトを更新するには、以下の変更を行います。
注記
サーバー SDK バージョン 4.x 以前を引き続き使用する必要がある場合は、バージョン 4 以前のサーバー SDK for Amazon GameLift Servers の使用 のドキュメントとダウンロード情報を参照してください。SDK バージョン 4.0.2 の場合は、公式の GitHub リリース
-
開発環境の最新のサーバー SDK for Amazon GameLift Servers パッケージを取得します [サイトをダウンロード
]。ダウンロードしたパッケージとバージョンに対応する Readmeファイル内のインストール手順を実行します。ゲームプロジェクトでサーバー SDK を使用する方法については、以下の手順を参照してください。 -
次のようにサーバーコードを更新します。
サーバーコードコールバック関数を
onCreateGameSession()からonStartGameSession()に変更します。-
必要に応じて
InitSDK()入力を更新します。-
ゲームサーバービルドを Amazon GameLift Servers マネージド EC2 フリートまたは Amazon GameLift Servers エージェントを搭載した Anywhere フリートにデプロイする場合:
パラメータがない
InitSDK()の呼び出し (C++) (C#) (Unreal)。この呼び出しは、コンピューティング環境と Amazon GameLift Servers サービスへの WebSocket 接続を設定します。 -
ゲームサーバービルドを Amazon GameLift Servers エージェントなしで Anywhere フリートにデプロイする予定がある場合:
サーバーパラメータ (C++) (C#) (Unreal) を使用して
InitSDK()を呼び出します。ゲームサーバープロセスは、これらのパラメータを使用して Amazon GameLift Servers サービスとの接続を確立します。
-
-
ゲームサーバービルドやその他のホストされたアプリケーションが、実行中に他の AWS リソースと通信する場合は、アプリケーションがそれらのリソースにアクセスする方法を変更する必要があります。
AssumeRoleCredentialsの使用を、新しいサーバー SDK アクションGetFleetRoleCredentials()(ゲームサーバー用) に置き換えるか、または共有認証情報 (その他のアプリケーション用)を使用してください。この変更の実装方法の詳細については、「Amazon GameLift Servers ホストされたゲームサーバーを他の AWS リソースに接続する」を参照してください。 -
プロジェクトがサーバー SDK アクション
GetInstanceCertificate()を呼び出して TLS 証明書を取得した場合は、代わりに新しいGetComputeCertificate()(C++) (C#) (Unreal) を使用するようにコードを変更します。 -
ゲームビルドを Amazon GameLift Servers にアップロードする場合 (upload-build
や CreateBuild() など)、 ServerSdkVersionパラメータを使用中の 5.x バージョンに設定します (このパラメータは現在デフォルトは 4.0.2 です)。このパラメータは、ゲームサーバービルドの実際のサーバー SDK ライブラリと一致する必要があります。アップロードされたゲームサーバービルドに間違ったバージョンを指定すると、そのビルドで作成するフリートは失敗します。「Amazon GameLift Servers のゲームサーバービルドを作成する」を参照してください。次の例は、サーバー SDK バージョンを指定する方法を示しています。
aws gamelift upload-build \ --operating-system AMAZON_LINUX_2023 \ --server-sdk-version "5.0.0" \ --build-root "~/mygame" \ --name "My Game Nightly Build" \ --build-version "build 255" \ --region us-west-2 -
「Amazon GameLift Servers フリートインスタンスにリモート接続する」で説明されているとおり、スクリプトを使用してマネージドフリートにリモート接続する場合は、新しいプロセスを使用するようにスクリプトを更新します。