Amazon GameLift Servers の働き - Amazon GameLift Servers

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

Amazon GameLift Servers の働き

このトピックでは、 がマルチプレイヤーゲームサーバーの専用ホスティングAmazon GameLift Serversを管理し、プレイヤーが利用できるようにする方法について説明します。また、コア機能の仕組みについても概説します。

ゲームサーバーのホスティング

を使用するとAmazon GameLift Servers、マネージド Amazon GameLift Servers、Amazon GameLift ServersFleetIQ、および Amazon GameLift ServersAnywhere のさまざまな方法でゲームサーバーをホストできます。詳細についてはAmazon GameLift ServersFleetIQ、「 とは」を参照してくださいAmazon GameLift ServersFleetIQ。

フリートは、ゲームのニーズに合わせて設計できます。フリートの設計に関する詳細については、「Amazon GameLift Servers EC2 マネージドフリートをカスタマイズする」を参照してください。

マネージド Amazon GameLift Servers

マネージド を使用するとAmazon GameLift Servers、 インスタンスと呼ばれるAmazon GameLift Servers仮想コンピューティングリソースでゲームサーバーをホストできます。インスタンスのフリートを作成し、それらをデプロイしてゲームサーバー (カスタムゲームサーバーまたはリアルタイムサーバー) を実行して、ホスティングリソースを設定します。

Amazon GameLift ServersAnywhere

Amazon GameLift ServersAnywhere を使用すると、管理するコンピューティングでゲームサーバーをホストできます。コンピューティングを参照する Anywhere フリートを作成して、ホスティングリソースを設定します。

フリートのエイリアス

エイリアスは、フリート間で転送できる指定先であり、一般的なフリートのロケーションを指定する便利な方法です。エイリアスを使用すると、ゲームクライアントを変更せずに、ゲームクライアントをあるフリートから別のフリートに切り替えることができます。コンテンツを指定するターミナルエイリアスを作成することもできます。

ゲームセッションの実行

ゲームサーバービルドをフリートにデプロイし、各インスタンスでゲームサーバープロセスAmazon GameLift Serversを起動すると、フリートはゲームセッションをホストできます。 は、ゲームクライアントサービスがバックエンドサービスまたは にプレイスメントリクエストを送信すると、新しいゲームセッションAmazon GameLift Serversを開始しますAmazon GameLift Servers。

ゲームセッションの配置とFleetIQアルゴリズム

キューはFleetIQアルゴリズムを使用して、新しいゲームセッションをホストする利用可能なゲームサーバーを選択します。ゲームセッション配置のキーコンポーネントは、Amazon GameLift Serversゲームセッションキューです。ゲームセッションキューに、そのキューがゲームセッションを配置できる場所を決定するフリートのリストを割り当てます。ゲームセッションのキューの詳細と、ゲーム用にそれらを設計する方法については、「ゲームセッションキューをカスタマイズする」を参照してください。

UDP ping ビーコンによるゲームセッション配置の最適化

Amazon GameLift Servers UDP ping ビーコンを使用すると、異なる場所のプレイヤーとゲームサーバー間の UDP パケットのラウンドトリップレイテンシーを計算して、ゲームセッションに最適な場所を選択することができます。UDP ping ビーコンとそれらを使用してレイテンシーを測定する方法の詳細については、「」を参照してくださいUDP ping ビーコン

  • 配置にゲームセッションキューを使用するゲームの場合、配置リクエストにはレイテンシーデータを含めることができます。レイテンシーデータは、キューが自動的に配置場所の優先順位付けに使用します。優先順位付けをさらにカスタマイズし、レイテンシー値の上限を含むポリシーを設定できます。「ゲームセッションプレイスメントに優先順位を付ける」を参照してください。

  • ゲームセッションキューを使用しないが、複数のロケーションを持つフリートがあるゲームの場合、 にゲームセッションリクエストを行う前に、レイテンシーデータを評価し、利用可能な最適なロケーションを選択できますAmazon GameLift Servers。の「ゲームセッションの取得と作成」セクションを参照してくださいゲームクライアントAmazon GameLift Serversに を追加する

  • マッチメーキングFlexMatchに を使用している場合は、レイテンシーデータを使用するようにマッチルールを設定できます。Amazon GameLift Servers FlexMatch デベロッパーガイドの「プレイヤーのマッチメーキングのリクエスト」と「ルールタイプのレイテンシーFlexMatchルール」セクションを参照してください。

ゲームへのプレーヤーのConnection

ゲームセッションプレイスメントプロセスのパートとして、キューまたはゲームセッションは新しいゲームセッションをスタートするように選択したゲームサーバーに求めます。ゲームサーバーはプロンプトに応答し、プレイヤー接続を受け入れる準備ができAmazon GameLift Serversたら にレポートします。 Amazon GameLift Servers は接続情報をバックエンドサービスまたはゲームクライアントサービスに配信します。ゲームクライアントはこの情報を使用してゲームセッションに直接Connectし、ゲームに参加します。

フリートの容量のスケーリング

フリートがアクティブになりゲームセッションをホスティングできるようになると、プレイヤーの需要に合わせてフリートキャパシティを調整できます。すべての新規プレイヤーが素早くゲームを見つけるられるようにすることと、アイドル状態のリソースを浪費することの間でバランスを図ることをお勧めします。

Amazon GameLift Servers は、非常に効果的な自動スケーリングツールを提供します。または、フリート容量を手動で設定できます。詳細については、「を使用したゲームホスティング容量のスケーリング Amazon GameLift Servers」を参照してください。

Auto scaling

Amazon GameLift Servers には、自動スケーリングの 2 つの方法があります。

追加のスケーリング機能
  • ゲームセッション保護 – スケールダウンイベント中にアクティブなプレイヤーをホストしているゲームセッションを終了Amazon GameLift Serversしないようにします。

  • [Scaling limits](スケーリング制限) – フリートのインスタンス数に下限と上限を設定することで全体的なインスタンスの使用量をコントロールします。

  • [自動スケーリングの停止] – 自動スケーリングポリシーを変更または削除せずに、フリートロケーションレベルで自動スケーリングを停止します。

  • [スケーリングメトリクス] – フリートのキャパシティおよびスケーリングイベントを追跡します。

Amazon GameLift Servers のモニタリング

フリートが稼働している場合、 Amazon GameLift Serversはデプロイされたゲームサーバーのパフォーマンスのモニタリングに役立つさまざまな情報を収集します。この情報を使用して、リソースの使用を最適化し、問題をトラブルシューティングし、ゲームでプレイヤーがどのようにアクティブであるかを把握できます。 は以下をAmazon GameLift Servers収集します。

  • フリート、場所、ゲームセッション、プレイヤーセッションに関する詳細

  • 使用状況メトリクス

  • サーバープロセスの健全性

  • ゲームセッションログ

でのモニタリングの詳細についてはAmazon GameLift Servers、「」を参照してくださいAmazon GameLift Servers のモニタリング

他の AWS リソースの使用

ゲームサーバーとアプリケーションは、他の AWS リソースと通信できます。たとえば、プレイヤーの認証やソーシャル ネットワークのために一連のウェブサービスを使用する場合があります。ゲームサーバーが AWS アカウント が管理する AWS リソースにアクセスできるようにするには、 が AWS リソースAmazon GameLift Serversへのアクセスを明示的に許可します。

Amazon GameLift Servers には、このタイプのアクセスを管理するためのオプションがいくつかあります。詳細については、「フリートの他の AWS リソースと通信する」を参照してください。