管理者ポータルで Lobby を設定する
概要
AccelByte Gaming Services (AGS) Lobby は、WebSocket プロトコルを使用して、ゲームとプレイヤー間の継続的な接続を提供します。WebSocket はサーバーとクライアント間の双方向通信を可能にすることで、信頼性の高いリアルタイムのデータ転送を確保します。AGS Lobby はゲームの主要ハブであるため、他の多くの AGS 機能と接続されています。
この記事では、AGS 管理者ポータルでの Lobby の設定について説明します。
目標
この記事の目標は以下を提供することです:
- Lobby の概要と、AGS 管理者ポータルでの設定方法。
- Lobby の設定とゲームへの反映方法の理解。
前提条件
この記事の手順を完了するには、以下が必要です:
Lobby 設定の管理
Lobby の設定とは、プレイヤー接続を管理するバックエンドサービスのセットアップとカスタマイズのプロセスを指します。これには、Lobby によって処理されるさまざまな設定の構成が含まれます。
Lobby 同時接続ユーザー数(CCU)
Lobby 同時接続ユーザー数(CCU)はアクティブなプレイヤーの合計数を表示します。この値は 1 分ごとに更新されます。
Lobby の有効化または無効化
ゲームのメンテナンスを実施するために、Lobby を一時的に無効にすることができます。Lobby が無効の場合、アクティブなプレイヤー接続はすべて切断され、プレイヤーは Lobby に接続できなくなります。この動作を利用して、Lobby が再有効化されるまでプレイヤーがプレイできないようにブロックすることができます。
Lobby 設定
プレイヤーのアクティビティを保持する: これは、プレイヤーが Lobby から切断した後、プレイヤーの任意のセッションデータ(AGS Game SDK で設定できます)を保持するかどうかを決定します。このオプションをオンに切り替えると、プレイヤーが切断された場合でもプレイヤーのセッションデータが保存されます。アクティビティは任意の文字列(例: "Playing Survival"、"In Lobby"、"In Match")として設定できます。
WebSocket 登録解除の遅延: WebSocket 登録解除遅延の設定は、Lobby サービスが切断された WebSocket クライアントの登録を解除するまで待機する時間です。クライアントがこの遅延内に再接続した場合、Lobby は切断イベントとして扱いません。さらに、AGS セッションサービスを使用している場合、切断されたセッションメンバー(ゲームセッションまたはパーティメンバー)は、サービスで定義された登録解除遅延内に再接続する限り、セッションから「DROPPED」とマークされません。
Lobby の最大プレイヤー数: ロビー WebSocket に同時に参加できるプレイヤーの最大数を設定します。システムの最大プレイヤー数を設定するには -1 の値を使用します。現在、ロビーが処理できるプレイヤーの最大数は 2,147,483,647 です。
最大フレンド制限: AccelByte Gaming Services (AGS) システムでプレイヤーが持てるフレンドの最大数を設定します。
エンタイトルメントチェック
エンタイトルメントチェック: これは、バックエンドが Lobby へのアクセスを許可する前に、プレイヤーが必要なエンタイトルメントを持っているかどうかをチェックするかどうかを決定します。これはセキュリティの追加レイヤーとして使用できます。このチェックにより、クライアント ID とクライアントシークレットへのアクセスを取得したが購入していないプレイヤーがゲームにアクセスするのを防ぎます。
アイテムを選択: これは、エンタイトルメントチェックで使用されるアイテムを決定するために使用されます。アイテムはコマース設定で設定されたアイテムのリストから取得されます。
Lobby サービスのレート制限
Duration Limit(ミリ秒): これは、Lobby へのリクエストがブロックされる可能性のある時間ウィンドウ(ミリ秒単位)を決定します。この設定は Burst Limit 設定と連動します。
Burst Limit: これは、指定された時間ウィンドウ内に Lobby に対して行えるリクエスト数を決定します。この設定は Duration Limit 設定と連動します。
Duration Limit と Burst Limit を組み合わせることで、単位時間あたりのリクエストレートが決まります。Lobby サービスは トークンバケットアルゴリズムを使用して WebSocket でユーザーのレート制限を適用します。たとえば、Duration Limit が 1000 ミリ秒で Burst Limit が 3 の場合、ロビーサービスへのアクセス制限は 3 回の同時試行で、バースト制限の 3 に達するまで 1000 ミリ秒(つまり 1 秒)ごとに 1 つの制限が回復されることを意味します。ユーザーが 1 秒(1000 ミリ秒)以内に 3 つの同時リクエストを送信した場合、4 番目のリクエストはブロックされ、制限が 1 秒ごとに 1 つ回復するため、次の秒には 1 つのリクエストしか行えません。ロビーのレート制限は WebSocket 接続ごとに適用され、ユーザーごとの制限と同等です。
例
このセクションでは、一般的なシナリオで Lobby を使用する方法の例を紹介します。
例 1: ゲームクライアントが Lobby 切断中にプレイヤーのアクティビティを保持する
この例では、プレイヤーのアクティビティを保持するを有効にします。この設定が有効になっている場合、プレイヤーが切断されるたびに、Lobby はプレイヤーのアクティビティを保持します。たとえば、切断中にプレイヤーのアクティビティが In Match に設定されている場合、Lobby でのプレイヤーのアクティビティは引き続き In Match になります。
例 2: プレイヤーが Lobby にアクセスするためにアカウントにエンタイトルメントが必要
この例では、エンタイトルメントチェックで設定されたエンタイトルメントを持つプレイヤーのみを許可するように Lobby がプレイヤーのアクセスを制限する動作を定義します。以下に示す設定により、AB Shooter エンタイトルメントを持たないプレイヤーは Lobby にアクセスできなくなります。

次のステップ
AGS Lobby サービスは WebSocket プロトコルを使用してゲームとプレイヤー間の継続的な接続を提供します。このプロトコルを使用して Lobby サービスを設定する方法を学びましょう。WebSocket を使用した Lobby の記事を参照してください。