サーバー SDK 5.x への移行 Amazon GameLift Servers - Amazon GameLift Servers

サーバー SDK 5.x への移行 Amazon GameLift Servers

サーバー SDK バージョン 5.x を使用するようにゲームプロジェクトを更新するには、以下の変更を行います。

注記

サーバー SDK バージョン 4.x 以前を引き続き使用する必要がある場合は、バージョン 4 以前のサーバー SDK for Amazon GameLift Servers の使用 のドキュメントとダウンロード情報を参照してください。SDK バージョン 4.0.2 の場合は、公式の GitHub リリースからダウンロードできます。

  1. 開発環境の最新のサーバー SDK for Amazon GameLift Servers パッケージを取得します [サイトをダウンロード]。ダウンロードしたパッケージとバージョンに対応する Readme ファイル内のインストール手順を実行します。ゲームプロジェクトでサーバー SDK を使用する方法については、以下の手順を参照してください。

  2. 次のようにサーバーコードを更新します。

    • サーバーコードコールバック関数を 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 サービスとの接続を確立します。

  3. ゲームサーバービルドやその他のホストされたアプリケーションが、実行中に他の AWS リソースと通信する場合は、アプリケーションがそれらのリソースにアクセスする方法を変更する必要があります。AssumeRoleCredentials の使用を、新しいサーバー SDK アクションGetFleetRoleCredentials() (ゲームサーバー用) に置き換えるか、または共有認証情報 (その他のアプリケーション用)を使用してください。この変更の実装方法の詳細については、「Amazon GameLift Servers ホストされたゲームサーバーを他の AWS リソースに接続する」を参照してください。

  4. プロジェクトがサーバー SDK アクション GetInstanceCertificate() を呼び出して TLS 証明書を取得した場合は、代わりに新しい GetComputeCertificate() (C++) (C#) (Unreal) を使用するようにコードを変更します。

  5. ゲームビルドを Amazon GameLift Servers にアップロードする場合 (upload-buildCreateBuild() など)、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
  6. Amazon GameLift Servers フリートインスタンスにリモート接続する」で説明されているとおり、スクリプトを使用してマネージドフリートにリモート接続する場合は、新しいプロセスを使用するようにスクリプトを更新します。