

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# サーバー SDK 5.x への移行 Amazon GameLift Servers
<a name="reference-serversdk5-migration"></a>

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

**注記**  
サーバー SDK バージョン 4.x 以前を引き続き使用する必要がある場合は、[バージョン 4 以前のサーバー SDK for Amazon GameLift Servers の使用](reference-serversdk4.md) のドキュメントとダウンロード情報を参照してください。SDK バージョン 4.0.2 の場合は、[公式の GitHub リリース](https://github.com/amazon-gamelift/amazon-gamelift-servers-csharp-server-sdk/releases)からダウンロードできます。

1. 開発環境の最新のサーバー SDK for Amazon GameLift Servers パッケージを取得します** [[サイトをダウンロード](https://aws.amazon.com/gamelift/servers/getting-started-sdks/)]**。ダウンロードしたパッケージとバージョンの `Readme` ファイルのインストール手順に従います。ゲームプロジェクトでサーバー SDK を使用する方法については、以下の手順を参照してください。
   + [C\$1\$1、C\$1、または Go を使用する開発環境の場合](gamelift-sdk-server-api.md)
   + [Unreal Engine プロジェクトの場合 (C\$1\$1 サーバー SDK for Unreal ライブラリのみ)](integration-engines-setup-unreal.md)
   + [Unity プロジェクトの場合 (C\$1 サーバー SDK for Unity ライブラリのみ)](integration-engines-unity-using.md)
   + [Unreal Engine 用 Amazon GameLift Servers プラグインで使用する場合](unreal-plugin.md)
   + [Unity 用 Amazon GameLift Servers プラグインで使用する場合](unity-plug-in.md)

1. 次のようにサーバーコードを更新します。
   + サーバーコードコールバック関数を `onCreateGameSession()` から `onStartGameSession()` に変更します。
   + 必要に応じて `InitSDK()` 入力を更新します。
     + ゲームサーバービルドを Amazon GameLift Servers マネージド EC2 フリートまたは Amazon GameLift Servers エージェントを搭載した Anywhere フリートにデプロイする場合: 

       パラメータがない `InitSDK()` の呼び出し ([C\$1\$1](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-initsdk)) ([C\$1](integration-server-sdk5-csharp-actions.md#integration-server-sdk5-csharp-initsdk)) ([Unreal](integration-server-sdk5-unreal-actions.md#integration-server-sdk5-unreal-initsdk))。この呼び出しは、コンピューティング環境と Amazon GameLift Servers サービスへの WebSocket 接続を設定します。
     + ゲームサーバービルドを Amazon GameLift Servers エージェントなしで Anywhere フリートにデプロイする予定がある場合:

       サーバーパラメータ ([C\$1\$1](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-initsdk-anywhere)) ([C\$1](integration-server-sdk5-csharp-actions.md#integration-server-sdk5-csharp-initsdk-anywhere)) ([Unreal](integration-server-sdk5-unreal-actions.md#integration-server-sdk5-unreal-initsdk-anywhere)) を使用して `InitSDK()` を呼び出します。ゲームサーバープロセスは、これらのパラメータを使用して Amazon GameLift Servers サービスとの接続を確立します。

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

1. プロジェクトがサーバー SDK アクション `GetInstanceCertificate()` を呼び出して TLS 証明書を取得した場合は、代わりに新しい `GetComputeCertificate()` ([C\$1\$1](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-getcomputecertificate)) ([C\$1](integration-server-sdk5-csharp-actions.md#integration-server-sdk5-csharp-getcomputecertificate)) ([Unreal](integration-server-sdk5-unreal-actions.md#integration-server-sdk5-unreal-getcomputecertificate)) を使用するようにコードを変更します。

1. ゲームビルドを Amazon GameLift Servers にアップロードする場合 ([upload-build](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/upload-build.html) や [CreateBuild()](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateBuild.html) など)、`ServerSdkVersion` パラメータを使用中の 5.x バージョンに設定します (このパラメータは現在デフォルトは 4.0.2 です)。このパラメータは、ゲームサーバービルドの実際のサーバー SDK ライブラリと一致する必要があります。アップロードされたゲームサーバービルドに間違ったバージョンを指定すると、そのビルドで作成するフリートは失敗します。「[Amazon GameLift Servers のゲームサーバービルドを作成する](gamelift-build-cli-uploading.md)」を参照してください。

   次の例は、サーバー 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
   ```

1. 「[フリートインスタンスに接続する](fleets-remote-access.md)」で説明されているとおり、スクリプトを使用してマネージドフリートにリモート接続する場合は、新しいプロセスを使用するようにスクリプトを更新します。