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

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

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

ホストされたゲームサーバーは、Amazon GameLift サーバーを使用して Amazon GameLift サービスとSDK通信し、プレイヤーのゲームセッションを開始および管理します。最新バージョンの Amazon GameLift サーバー 5 SDK では、Amazon の新機能に関するいくつかの改善とサポート GameLift を提供しています。ゲームサーバービルドで現在 Amazon GameLift サーバー 4 SDK 以前を使用している場合は、このトピックのガイダンスに従ってゲームを更新します。

Amazon GameLift サーバー 5 SDK について

Amazon GameLift サーバーSDKバージョン 5.0.0 以降には、次の更新が含まれています。

  • 拡張言語 – ライブラリは、C++、C#、Go の言語で使用できます。Unreal Engine で使用する C++ ライブラリを構築できます。

  • ゲームエンジンプラグインのサポート — Unreal Engine および Unity 用の Amazon GameLift スタンドアロンプラグインには、Amazon GameLift サーバー 5 SDK ライブラリが必要です。これらのプラグインは、ゲームを Amazon GameLift に統合、テスト、デプロイしてホストするためのガイド付きワークフローを提供します。サーバー SDK 5.x 用 Unity 用 Amazon GameLift プラグインガイド および Unreal Engine 用 Amazon GameLift プラグインとのゲームの統合のドキュメントを参照してください。

  • Amazon GameLift Anywhere サポート – Anywhereフリートでは、Amazon GameLift の機能 (マッチメーキングを含む) を使用するように独自のホスティングリソースを設定できます。Amazon GameLift Agent を追加して、ゲームセッションのライフサイクル管理を自動化します。オンプレミスハードウェアでの本番ホスティングにはフリーAnywhereトを使用するか、高速反復ゲーム開発用のテスト環境を設定します。Amazon GameLift Anywhere ホスティング および Amazon GameLift Agent を参照してください。

  • テストツールの更新 – Amazon GameLift Anywhere の機能を使用すると、ゲームのローカルまたはクラウドベースのテスト環境を設定できます。Amazon GameLift エージェントの有無にかかわらずテストを設定します。これらのツールは Amazon GameLift Local を置き換えます。「Amazon でローカルテストを設定する GameLift Anywhere」を参照してください。

  • C# の統合 ソリューションNET – C# サーバー 5SDK.1 以降は をサポートしています。NET フレームワーク 4.6.2 (4.6.1 からアップグレード) および 。NET 1 つのソリューションで 6.0。。NET 標準 2.1 は Unity で構築されたライブラリで使用できます。

  • 新しいComputeリソース — この新しいリソースは、さまざまなタイプのホスティングリソースを組み合わせます。これには、クラウドベースのホスティングリソース (マネージドフリートEC2またはコンテナフリート) と、カスタマー管理のホスティングリソース (Anywhere フリート) が含まれます。これには、次の更新が含まれます。

    • Compute リソースの新しいAPI呼び出しには、 ListCompute()DescribeCompute()、 (GetComputeAccess) が含まれます。これらのアクションは、任意のタイプの Amazon GameLift フリートのホスティングリソース情報を返します。一般に、サーバー 5.x SDK を使用するゲームサーバーを持つフリートの場合、コンピューティング固有のアクションを使用してインスタンス固有のアクションを置き換えます。さらに、これらのアクションは、Amazon GameLift Agent を使用しないAnywhereフリートで使用するためのものです。 RegisterCompute()DeregisterCompute()GetComputeAuthTokenおよび ()

    • CloudWatch ディメンション 、FleetIdLocationおよび ActiveComputeの新しいメトリクスComputeType。このメトリックスは以前のメトリクス ActiveInstances に取って代わります。

  • リモートアクセス用の Amazon EC2 Systems Manager (SSM ) – セキュリティを強化するには、Amazon GameLift マネージドフリートのインスタンスに接続するSSHときに SSMの代わりに を使用します。「Amazon GameLift フリートインスタンスにリモート接続する」を参照してください。

ゲームコードを更新する

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

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

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

    • サーバーコードコールバック関数を onCreateGameSession()に変更しますonStartGameSession()

    • 必要に応じてInitSDK()入力を更新します。

      • ゲームサーバービルドを Amazon GameLift マネージドEC2フリートまたは Amazon GameLift Agent を使用するAnywhereフリートのいずれかにデプロイする場合:

        パラメータなしで InitSDK()を呼び出します (C++) (C#) (Unreal ) (Go )。この呼び出しは、コンピューティング環境と Amazon GameLift サービス WebSocket への接続を設定します。

      • Amazon GameLift Agent を使用せずにゲームサーバービルドを Anywhereフリートにデプロイする場合:

        サーバーパラメータ (C++) (C#) (Unreal ) (Go ) InitSDK()を使用して を呼び出します。ゲームサーバープロセスは、これらのパラメータを使用して Amazon GameLift サービスとの接続を確立します。

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

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

  5. ゲームビルドを Amazon にアップロードする場合 GameLift (upload-buildCreateBuild() など)、 ServerSdkVersionパラメータを使用中の 5.x バージョンに設定します (このパラメータは現在、デフォルトで 4.0.2 です)。このパラメータは、ゲームサーバービルドの実際のサーバーSDKライブラリと一致する必要があります。アップロードされたゲームサーバービルドに間違ったバージョンを指定すると、そのビルドで作成したフリートは失敗します。「カスタムサーバービルドを Amazon にアップロードする GameLift」を参照してください。

    次の例は、サーバー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 フリートインスタンスにリモート接続する