Unreal 用プラグイン: Amazon GameLift Servers Anywhere でゲームをローカルでホストする - Amazon GameLift Servers

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

Unreal 用プラグイン: Amazon GameLift Servers Anywhere でゲームをローカルでホストする

Anywhere フリートを使用して、ローカルワークステーションをゲームサーバーのホストとして設定します。これを使用して、クラウドベースのマネージドフリートにデプロイする前にゲームサーバーの統合をテストできます。また、反復ゲーム開発中のローカルテストにも役立ちます。

Amazon GameLift Servers Anywhere ワークフローを開始するには:
  • Unreal エディタのメインツールバーで、Amazon GameLift Servers メニューを選択し、[Anywhere でホストする] を選択します。このアクションにより [Anywhere のデプロイ] というプラグインページが開き、ゲームコンポーネントを統合、ビルド、起動するための 6 つのステップのプロセスが表示されます。

ステップ 1: プロファイルを設定する

このワークフローに従うときに使用したいプロファイルを選択します。選択したプロファイルは、ワークフローのすべてのステップに影響します。作成するすべてのリソースは、プロファイルの AWS アカウントに関連付けられ、プロファイルのデフォルト AWS リージョンに配置されます。プロファイルユーザーのアクセス許可によって、 AWS リソースとアクションへのアクセスが決まります。

ユーザープロファイルを設定する
  1. 使用可能なプロファイルのドロップダウンリストからプロファイルを選択します。プロファイルをまだ作成していない場合、または新しいプロファイルを作成したい場合は、Amazon GameLift メニューに移動し、[ AWS ユーザープロファイルの設定] を選択します。

  2. ブートストラップステータスが [アクティブ] ではない場合、[ブートストラッププロファイル] を選択して、ステータスが [アクティブ] になるまで待機します。

ステップ 2: ゲームコードをセットアップする

このステップでは、Amazon GameLift Servers と連携するようにゲームサーバーとゲームクライアントビルドを準備します。ゲームコードをまだ統合していない場合は、「Unreal 用プラグイン: ゲームコードを統合」を参照してください。ローカルワークステーションのゲーム実行可能ファイルへのパスを入力します。

  • ゲームサーバー: ゲームサーバーをサーバー SDK for Amazon GameLift Servers と統合し、ゲームサーバービルドをパッケージ化します。手順については、「Unreal 用プラグイン: ゲームコードを統合」を参照してください。Amazon GameLift Servers サービスとの通信を確立し、プロンプトに応答して新しいゲームセッションを開始し、ゲームクライアント接続を受け入れるには、ゲームサーバーをサーバー SDK と統合する必要があります。

  • ゲームクライアント: 少なくとも、IP アドレスとポート情報を使用してゲームサーバーに接続できるゲームクライアントが必要です。ゲームクライアントコンポーネントを 用にまだ設定していない場合はAmazon GameLift Servers、 AWS CLI ツールを使用して新しいゲームセッションを手動でリクエストし、接続情報を取得し、その情報を使用してゲームクライアントを接続できます。

    ある時点で、新しいゲームセッションリクエストを Amazon GameLift Servers サービスに送信し、接続情報をゲームクライアントに中継するためのバックエンドサービスが必要です。プラグインに含まれているテストマップを使用して、クライアントの Amazon GameLift Servers 機能をゲームプロジェクトに追加します。カスタムソリューションの構築については、「Amazon GameLift Servers ゲームクライアント機能の統合する」を参照してください。

ステップ 3: Anywhere フリートに接続する

このステップでは、使用する Anywhere フリートを指定します。Anywhere フリートは、ゲームサーバーをホスティングするための、どこにでも配置できる一連のコンピューティングリソースを定義します。

  • 現在使用している AWS アカウントに既存の Anywhere フリートがある場合は、フリート名ドロップダウンフィールドを開き、フリートを選択します。このドロップダウンには、現在アクティブなユーザープロファイルの AWS リージョン内の Anywhere フリートのみが表示されます。

  • 既存のフリートがない場合、または新しいフリートを作成する場合は、[新しい Anywhere フリートを作成] を選択してフリート名を指定します。

プロジェクトに Anywhere フリートを選択すると、Amazon GameLift Servers はフリートのステータスがアクティブであることを確認し、フリート ID を表示します。このリクエストの進行状況は Unreal エディタの出力ログで追跡できます。

ステップ 4: ワークステーションを登録する

このステップでは、ローカルワークステーションを新しい Anywhere フリートのコンピューティングリソースとして登録します。

Anywhere コンピューティングとしてワークステーションを登録する
  1. ローカルマシンのコンピューティング名を入力します。フリートに複数のコンピューティングを追加する場合、名前は一意でなければなりません。

  2. ローカルマシンの IP アドレスを入力します。このフィールドはデフォルトでマシンのパブリック IP アドレスになります。ゲームクライアントとサーバーを同じマシンで実行している限り、localhost (127.0.0.1) を使用することもできます。

  3. [コンピューティングを登録] を選択します。このリクエストの進行状況は Unreal エディタの出力ログで追跡できます。

このアクションに応じて、Amazon GameLift Servers はコンピューティングに接続できることを確認し、新しく登録されたコンピューティングに関する情報を返します。また、ゲーム実行ファイルが Amazon GameLift Servers サービスとの通信を初期化する際に必要となるコンソール引数も作成します。

ステップ 5: 認証トークンを生成する

Anywhere コンピューティングで実行されているゲームサーバープロセスには、Amazon GameLift Servers サービスを呼び出すための認証トークンが必要です。プラグインからゲームサーバーを起動するたびに、プラグインは Anywhere フリートの認証トークンを自動的に生成して保存します。認証トークンの値はコマンドライン引数として保存され、サーバーコードはランタイム時にそれを取得できます。

上記のコード例では、API リクエストにAWS Signature Version 4 (SigV4) を使用することもできます。SigV4 は、API リクエストに認証情報を追加するための AWS 署名プロトコルです。

このステップでは何もする必要はありません。

ステップ 6: ゲームを起動する

この時点で、Amazon GameLift Servers を使用してローカルワークステーションでマルチプレイヤーゲームを起動してプレイするために必要なタスクはすべて完了しています。

ホストされたゲームをプレイする
  1. ゲームサーバーを起動します。ゲームサーバーは、ゲームセッションをホストする準備ができたときに Amazon GameLift Servers に通知します。

  2. ゲームクライアントを起動し、新しい機能を使用して新しいゲームセッションを開始します。このリクエストは、新しいバックエンドサービスを介して Amazon GameLift Servers に送信されます。これに応答して、Amazon GameLift Servers はローカルマシンで実行されているゲームサーバーを呼び出し、新しいゲームセッションを開始します。ゲームセッションでプレイヤーを受け入れる準備が整うと、Amazon GameLift Servers はゲームクライアントがゲームセッションに参加するための接続情報を提供します。