メインコンテンツまでスキップ

リージョン別マッチメイキングを設定する

Last updated on May 25, 2026

注釈:本資料はAI技術を用いて翻訳されています。

概要

AccelByte Gaming Services (AGS) Matchmaking では、地理的リージョンに基づいてプレイヤーをマッチさせることができます。この記事では、リージョンベースのマッチメイキングをゲームに実装する方法を示します。

前提条件

この記事のすべての手順を完了するには、次のものが必要です。

利用可能なすべてのリージョンを対象にマッチメイキングリクエストを設定する

マッチメイキングをリクエストする際、ゲームクライアントはマッチメイキング結果の優先リージョンとして、latencies フィールドにリージョンのリストを指定できます。以下は、マッチメイキングをリクエストする際のペイロード例です。

POST /match2/v1/namespaces/{namespace}/match-tickets

{
"attributes": {},
"latencies": {
"us-west-2":44,
"eu-west-2":187,
"ap-northeast-1":600
},
"matchPool": "matchpool_test",
"sessionID": ""
}

次の API エンドポイントを使用して、Quality of Service (QoS) から利用可能なリージョンのリストを取得できます。

GET /ams-qosm/public/qos

// Using the StartMatchmaking() method, 
// the OSS will automatically fill matchmaking tickets with all available QoS regions

// Matchmaking to all regions
TSharedRef<FOnlineSessionSearch> NewSearchHandle = MakeShared<FOnlineSessionSearch>();
NewSearchHandle->QuerySettings.Set(SETTING_SESSION_MATCHPOOL, "5v5bf", EOnlineComparisonOp::Equals);

if (!SessionInterface->StartMatchmaking(TArray<FSessionMatchmakingUser>{{LocalUserId1}}, NAME_GameSession, FOnlineSessionSettings(), NewSearchHandle, OnStartMatchmakingCompleteDelegate))
{
// Matchmaking failed to start
return false;
}

特定のリージョンを対象にマッチメイキングリクエストを設定する

マッチメイキング結果として特定のリージョンを取得するには、マッチチケットの作成時にゲームクライアントから 1 つのリージョン(レイテンシ)のみを送信できます。

AccelByte Multiplayer Servers (AMS) を使用している場合は、使用したいリージョンを追加するか、セッションテンプレートで使用されるデプロイ設定のリージョンを選択していることを確認してください。

デプロイ設定を示す画像

選択したリージョンがリージョン設定でアクティブになっていることを確認してください。これを行うには、次の手順に従います。

  1. AGS 管理ポータルで、AccelByte Multiplayer Servers > QoS Regions に移動します。

  2. QoS Regions ページで、アクティブに設定したい国の Active トグルボタンをオンにします。

以下は、ゲームクライアントが常に「us-west-2」リージョンでマッチメイキングをリクエストする例です。

POST /match2/v1/namespaces/{namespace}/match-tickets

{
"attributes": {},
"latencies": {
"us-west-2":44
},
"matchPool": "matchpool_test",
"sessionID": ""
}
// Region names can be provided by setting the SearchSetting with `SETTING_GAMESESSION_REQUESTEDREGIONS` key

TSharedRef<FOnlineSessionSearch> NewSearchHandle = MakeShared<FOnlineSessionSearch>();
NewSearchHandle->QuerySettings.Set(SETTING_SESSION_MATCHPOOL, "5v5bf", EOnlineComparisonOp::Equals);
// Insert the region you want to lock to here
NewSearchHandle->QuerySettings.Set(SETTING_GAMESESSION_REQUESTEDREGIONS, "us-west-2", EOnlineComparisonOp::Equals);

if (!SessionInterface->StartMatchmaking(TArray<FSessionMatchmakingUser>{{LocalUserId1}}, NAME_GameSession, FOnlineSessionSettings(), NewSearchHandle, OnStartMatchmakingCompleteDelegate))
{
// Matchmaking failed to start
return false;
}
注記

優先リージョンに利用可能なサーバーが存在しない場合は、次に最適なリージョンからサーバーがリクエストされます。