Configuring the Lobby with the Admin Portal
概要
AccelByte Gaming Services (AGS) のロビーサービスは、WebSocket プロトコル を使用することで、ゲームとプレイヤーとの間の継続的な接続を提供します。
Websocket は、サーバーとクライアント間の双方向通信を可能にすることで、信頼性の高いリアルタイムのデータ転送を保証します。ロビーサービスは、ゲームのメインハブであるため、他の多くのサービスに接続されています。
目標
このガイドの目標は、次の事項を説明することです。
- ロビーの概要と、管理者ポータルでの設定方法
- ロビーの設定と、それがどのようにゲームに反映されるのか
前提条件
ロビーの設定の管理
ロビーの設定とは、プレイヤーの接続を管理するバックエンドサービスの設定とカスタマイズのプロセスを意味します。これには、ロビーで処理されるさまざまな項目の設定が含まれます。
[Lobby Concurrent User (CCU) (ロビーの同時接続ユーザー(CCU))]
[Lobby Concurrent User (CCU) (ロビーの同時接続ユーザー(CCU))]には、アクティブプレイヤーの総数が表示されます。この値は毎分更新されます。
[Enable or Disable Lobby (ロビーを有効化または無効化)]
一時的にロビーを無効化して、ゲームのメンテナンスを行えます。ロビーが無効になると、アクティブプレイヤーの接続が切断され、すべてのプレイヤーはロビーに接続できなくなります。ロビーが再度有効になるまで、この動作を活用してプレイヤーのプレイをブロックできます。
[Lobby Configuration (ロビーの設定)]
このセクションには、ロビーの全般設定が含まれます。
- [Keep Player's Activity (プレイヤーのアクティビティを保持)]:プレイヤーがロビーから切断された後、プレイヤーの任意のセッションデータ (Game Client SDK を介して設定可能) を保持するかどうかを決定します。このオプションをオンに切り替えると、接続が切断されてもプレイヤーセッションデータが保存されます。[Activity (アクティビティ)]は任意の文字列として設定できます(「Playing Survival (サバイバルをプレイ中)」「In Lobby (ロビーに滞在中)」「In Match (マッチ中)」など)。
[Entitlement Check (エンタイトルメントチェック)]
このセクションにはエンタイトルメントの設定が含まれています。
[Entitlement Check (エンタイトルメントチェック)]:ロビーへのアクセス権を付与する前に、プレイヤーが必要なエンタイトルメントを持っているかをバックエンドでチェックするかどうかを決定します。これはセキュリティの追加レイヤーとして使用できます。このチェックにより、ゲームにアクセス可能なクライアント ID とクライアントの秘密へのアクセス権をプレイヤーが持っているものの、それが購入されたものではない場合に、プレイヤーがゲームにアクセスすることを防ぎます。
[Select Item (アイテムを選択)]:これにより、[Entitlement Check (エンタイトルメントチェック)]で使用するアイテムを決定します。アイテムは、E コマース設定内のアイテムのリストから選択します。
[Lobby Service Rate Limit (ロビーサービスのレート制限)]
以下の設定は、エラーが返される前にプレイヤーがロビーサービスに対して行えるリクエストの数を決定するために、連携して機能します。
- [Duration Limit (ms) (時間制限(ミリ秒))]:ロビーサービスに対して一定量のリクエストを行うとブロックされることになる時間幅(ミリ秒単位)を決定します。この設定は[Burst Limit (バースト制限)]設定と連携して機能します。
- [Burst Limit (バースト制限)]:特定の時間幅内に、ロビーサービスに対して行えるリクエストの数を決定します。この設定は[Duration Limit (時間制限)]設定と連携して機能します。
この 2 つの設定が連携することで、単位時間あたりのリクエストのレートが決定されます。たとえば、[Duration Limit (時間制限)]が 1000 ミリ秒で、[Burst Limit (バースト制限)]が 3 であれば、1000 ミリ秒(または 1 秒)あたりリクエスト 3 件が、ロビーへの送信が認められるリクエストの最大レートです。つまり、1 秒間に 3 件を超えるリクエストがあればブロックされるということを意味します。
例
このセクションでは、一般的なシナリオでロビーサービスを使用する方法の例を挙げています。
例1:ロビーの切断中にゲームクライアントでプレイヤーのアクティビティを保持
この例では、[Keep Player's Activity (プレイヤーのアクティビティを保持)]を有効化します。この設定を有効にすると、プレイヤーが切断された際に必ず、ロビーがプレイヤーのアクティビティを保持します。たとえば、切断中にプレイヤーのアクティビティが[In Match (マッチ中)]に設定されている場合、ロビーではプレイヤーのアクティビティが[In Match (マッチ中)]のままになります。
例 2:プレイヤーがロビーにアクセスするためアカウントにエンタイトルメントが必要
この例では、プレイヤーが[Entitlement Check (エンタイトルメントチェック)]で設定されたエンタイトルメントを持っている場合を除き、ロビーでプレイヤーのアクセスを制限する際の動作を定義します。次に示す設定を行うと、AB Shooter エンタイトルメントがないプレイヤーはロビーにアクセスできなくなります。