AMSから専用サーバーをクレームするようにセッションを設定する
注釈:本資料はAI技術を用いて翻訳されています。
はじめに
マッチメイキングやグループ形成を含むゲームセッションのライフサイクルの管理は、これらのゲームセッションが消費するゲームサーバーの管理とは別のものです。この記事では、その役割を果たすためにAccelByte Gaming Services(AGS)を使用することに焦点を当てています。ゲームが異なるマッチメイキング/セッション管理サービスを使用している場合は、AccelByte Multiplayer Servers(AMS)とのソリューションの統合に関するガイダンスについて、AGSを使用しない専用サーバーのクレームを参照してください。
セッション管理にAGSを使用する場合、AGS Sessionサービスは各ゲームセッション用にAMSからDSをクレームすることを管理します。Sessionサービスはテンプレートを使用してデフォルトのプロパティを定義します。これは、ゲームで有効にしたいさまざまなプレイヤー体験を概念化しやすくすることを目的としています。Sessionサービスの詳細については、Sessionの紹介を参照してください。
この記事では、ゲームセッションをホストするためにAMSフリートから専用サーバーを自動的にクレームするようにセッションテンプレートを設定する方法について説明します。
前提条件
このガイドを開始する前に、以下が必要です。
- 専用サーバーイメージの1つを使用するフリートを作成していること。
- フリートの一部にクレームキーを割り当てていること。
AMSから専用サーバーをクレームするセッションテンプレートを作成する
- AccelByte Shared Cloud
- AGS Private Cloud
-
AccelByte Admin Portalのゲームネームスペースに移動します。
-
サイドバーで、Multiplayer > Matchmaking > Session Configurationに移動します。
-
セッションテンプレートを作成します。方法については、セッションテンプレートの設定を参照してください。AMS用のセッションテンプレートを設定するには、以下を設定してください。
- セッションタイプとしてDS - AMSを選択してください。
- セッションで使用するクレームキーを、使用したい順序で入力します。クレームキーの詳細については、専用サーバーのクレームを参照してください。
- Requested Regionsフィールドで、クレームしたいリージョンをクレームを実行したい順序で選択します。
注記Requested Regionsフィールドには、セッション作成時にリージョンの設定が提供されない場合のデフォルト値が含まれています。通常、AGSマッチメイキングを使用する場合、ゲームクライアントはマッチチケットと共に各リージョンへのレイテンシのリストを送信します。その後、マッチメイキングがマッチしたプレイヤーに最適なリージョン(優先順)を決定し、セッションテンプレートの値を上書きします。ほとんどの場合、Admin PortalのRequested Regionsフィールドは使用されないため、大半のケースでリージョンは空白のままで問題ありません。
-
Createをクリックしてセッションテンプレートを作成します。
-
AccelByte Admin Portalのゲームネームスペースに移動します。
-
サイドバーで、Multiplayer > Matchmaking > Session Configurationに移動します。
-
セッションテンプレートを作成します。方法については、セッションテンプレートの設定を参照してください。AMS用のセッションテンプレートを設定するには、以下を設定してください。
- セッションタイプとしてDS - AMSを選択してください。
- セッションで使用するクレームキーを、使用したい順序で入力します。クレームキーの詳細については、専用サーバーのクレームを参照してください。
- Requested Regionsフィールドで、クレームしたいリージョンをクレームを実行したい順序で選択します。
注記Requested Regionsフィールドには、セッション作成時にリージョンの設定が提供されない場合のデフォルト値が含まれています。通常、AGSマッチメイキングを使用する場合、ゲームクライアントはマッチチケットと共に各リージョンへのレイテンシのリストを送信します。その後、マッチメイキングがマッチしたプレイヤーに最適なリージョン(優先順)を決定し、セッションテンプレートの値を上書きします。ほとんどの場合、Admin PortalのRequested Regionsフィールドは使用されないため、大半のケースでリージョンは空白のままで問題ありません。
-
Createをクリックしてセッションテンプレートを作成します。
クライアントバージョン起動引数による動的クレームキー
クレームキーを関連付けるもう1つの方法は、マッチメイキングまたはセッション作成リクエストの一部としてオプションのclient version属性を使用してゲームクライアントから行うことです。提供されたクライアントバージョンは、優先クレームキーの後、フォールバッククレームキーの前に自動的にクレームキーとして追加されます。これをゲームクライアント起動引数とさらに組み合わせて、動的クレームキーを有効にできます。この使用例の例は、開発中の継続的統合スクリプトを使用したデプロイメントです。
const FString OverriddenDSVersion = UTutorialModuleOnlineUtility::GetDedicatedServerVersionOverride();
if (!OverriddenDSVersion.IsEmpty())
{
MatchmakingSearchHandle->QuerySettings.Set(SETTING_GAMESESSION_CLIENTVERSION, OverriddenDSVersion, EOnlineComparisonOp::Equals);
}
...
GetSessionInt()->StartMatchmaking(
LocalPlayers,
SessionName,
FOnlineSessionSettings(),
MatchmakingSearchHandle,
CompletionDelegate)
完全なコード例については、Byte WarsチュートリアルのMatchmaking with DSを参照してください。
セッションテンプレートの優先クレームキーは、ゲームクライアントを通じて設定されたclient versionクレームキーよりも先に評価されます。つまり、AMSが専用サーバーを要求されると、まず優先クレームキーに一致するフリートから見つけようとし(順序通り)、見つからない場合はclient versionに一致するものを見つけようとし、それも失敗した場合はフォールバックキーを試します(順序通り)。
クライアントバージョンをクレームキーとして優先したい場合は、優先クレームキーを空のままにするか、フォールバッククレームキーとして設定します。
次のステップ
専用サーバーのクレームに成功し、ゲームセッションを終了したら、クレームされた専用サーバーの専用サーバーのログとアーティファクトを表示および管理できます。
また、さまざまな専用サーバークレームシナリオを探ることもできます。