

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

# FlexMatch ルールセットプロパティの定義
<a name="match-ruleset-property-definitions"></a>

このセクションでは、ルールセットスキーマ内の各プロパティを定義します。ルールセットの作成方法については、「[FlexMatch ルールセットの作成](match-rulesets.md)」を参照してください。

**`name`**  
ルールセットの説明ラベル この値は Amazon GameLift Servers [MatchmakingRuleSet](https://docs.aws.amazon.com/gamelift/latest/apireference/API_MatchmakingRuleSet.html) リソースに割り当てられた名前には関連付けられていません。この値は、完了した試合を記述するマッチメーキングデータに含まれますが、Amazon GameLift Servers プロセスでは使用されません。  
許可される値: 文字列  
必須? いいえ

**`ruleLanguageVersion`**  
使用されている FlexMatch プロパティ式言語のバージョン。  
許可される値: 1.0  
必須? はい

**`playerAttributes`**  
マッチメーキングリクエストに含まれ、マッチメーキングプロセスで使用されるプレイヤーデータの集合。また、マッチメーキングプロセスでデータが使用されていない場合でも、ゲームサーバーに渡されるマッチメーキングデータにプレイヤーデータを含めるように属性を宣言することもできます。  
必須? いいえ    
**`name`**  
マッチメーカーが使用するプレイヤー属性のユニークな名前。この名前は、マッチメーキングリクエストで参照されるプレイヤー属性名と一致する必要があります。  
許可される値: 文字列  
必須? はい  
**`type`**  
プレイヤー属性値のデータ型。  
許可される値:「string」 (文字列) 、「number」 (数値) 、「string\_list」 (文字列リスト) 、「string\_number\_map」 (文字列番号マップ)  
必須? はい  
**`default `**  
マッチングリクエストをプレイヤーに提供しない場合、使用するデフォルト値。  
許可された値: プレイヤー属性に許可される任意の値。  
必須? いいえ 

**`algorithm`**  
マッチメーキングプロセスをカスタマイズするためのオプションの構成設定。  
必須? いいえ    
**`strategy`**  
試合を構築するときに使用するメソッド。このプロパティが設定されていない場合、デフォルトの動作は「exhaustiveSearch」 (網羅的検索) です。  
許可される値:   
+ 「exhaustiveSearch」 - 標準マッチ方式。FlexMatch は、一連のカスタムマッチルールに基づいてプール内の他のチケットを評価することにより、バッチ内の最も古いチケットを中心に試合を形成します。この戦略は、40人以下のプレーヤーの試合に使用されます。この戦略を使用する場合、`batchingPreference` は「random」 (ランダム) または「sorted」 (ソート) のいずれかに設定する必要があります。
+ 「balanced」(バランス) - 大きなマッチをすばやく形成するように最適化される方法。この戦略は、41から200人のプレーヤーの試合にのみ使用されます。チケットプールをあらかじめソートし、潜在的な試合を構築し、チームにプレーヤーを割り当てて、指定されたプレーヤー属性を使用して試合の各チームのバランスをとることで試合を形成します。たとえば、この戦略は、試合中の全チームの平均スキルレベルを均等化するために使用できます。この戦略を使用する場合、`balancedAttribute`を設定する必要があり、`batchingPreference`は「largestPopulation」 (最大人数) または「fastestRegion」 (最速リージョン) のいずれかに設定する必要があります。ほとんどのカスタムルールタイプは、この戦略では認識されません。
必須? はい  
**`batchingPreference`**  
試合構築のチケットをグループ化する前に使用する事前ソート方法。チケットプールを事前にソートすると、特定の特性に基づいてチケットがまとめてバッチ処理され、最終試合のプレイヤー間で均一性が高まる傾向があります。  
許可される値:   
+ 「random」 (ランダム) - `strategy` =「exhaustiveSearch」 (網羅的検索) の場合のみ有効。事前ソートは行われません。プール内のチケットはランダムにバッチ処理されます。これは、網羅的検索戦略のデフォルトの動作です。
+ 「sorted」 (ソート) - `strategy` =「exhaustiveSearch」 (網羅的検索)の場合のみ有効。チケットプールは、`sortbyAttributes` に記載されているプレーヤー属性に基づいて事前にソートされています。
+ 「largestPopulation」 (最大人数) - `strategy` =「balanced」 (バランス) の場合のみ有効。チケットプールは、プレーヤーが許容可能なレイテンシー値を報告するリージョン別に事前にソートされています。これは、バランスのとれた戦略のデフォルトの動作です。
+ 「fastestRegion」 (最速リージョン) - `strategy`=「balanced」 (バランス) の場合のみ有効。チケットプールは、プレーヤーが許容可能なレイテンシー値を報告するリージョン別に事前にソートされています。結果の試合の完了には時間がかかりますが、すべてのプレイヤーのレイテンシーは低くなる傾向があります。
必須? はい  
**`balancedAttribute`**  
バランスの取れた戦略で大規模対戦を構築する際に使用するプレイヤー属性の名前。  
許可される値: `playerAttributes` と `type` =「number」 (数字) で宣言された属性。  
必須? はい、`strategy` =「balanced」 (バランス) の場合。  
**`sortByAttributes`**  
バッチ処理前にチケットプールを事前ソートするときに使用するプレイヤー属性のリスト。このプロパティは、網羅的検索戦略で事前ソートする場合のみ使用されます。属性リストの順序によってソート順序が決まります。FlexMatch は、英数字の値に標準のソート規則を使用します。  
許可される値: `playerAttributes` で宣言された属性。  
必須? はい、`batchingPreference` =「sorted」 (ソート) の場合。  
**`backfillPriority`**  
バックフィルチケットを照合するための優先順位付け方法。このプロパティは、FlexMatch がバックフィルチケットをバッチで処理するタイミングを決定します。このプロパティは、網羅的検索戦略で事前ソートする場合のみ使用されます。このプロパティが設定されていない場合、デフォルトの動作は「normal」 (ノーマル) です。  
許可される値:   
+ 「normal」 (ノーマル) - チケットのリクエストタイプ (バックフィルまたは新規対戦) は、試合を形成する際に考慮されません。
+ 「high」 (ハイ) - チケットバッチはリクエストタイプ (および経過時間) でソートされ、FlexMatch は最初にバックフィルチケットを照合しようとします。
+ 「low」 (ロー) - チケットバッチはリクエストタイプ (および経過時間) でソートされ、FlexMatch は最初にバックフィルではないチケットを照合しようとします。
必須? いいえ  
**`expansionAgeSelection`**  
対戦ルール拡張の待機時間を計算する方法。拡張は、一定時間が経過しても試合が完了しなかった場合に、対戦要件を緩和するために使用されます。待機時間は、すでに部分的に満たされた試合にあるチケットの経過時間に基づいて計算されます。このプロパティが設定されていない場合、デフォルトの動作は「最新」です。  
許可される値:   
+ 「newest」 (最新) - 拡張待ち時間は、部分的に完了した試合で最新の作成タイムスタンプを持つチケットに基づいて計算されます。新しいチケットが待機時間クロックを再開できるので、拡張はゆっくりトリガーされる傾向があります。
+ 「oldest」 (最古) - 拡張待ち時間は、部分的に完了した試合で最古の作成タイムスタンプを持つチケットに基づいて計算されます。拡張はより迅速にトリガーされる傾向があります。
必須? いいえ

**`teams`**  
試合におけるチームの構成。各チームのチーム名とサイズ範囲を提供します。ルールセットでは、少なくとも 1 つのチームを定義する必要があります。    
**`name`**  
チームのユニークな名前。チーム名は、ルールおよび拡張で参照できます。試合が成功すると、マッチメーキングデータで選手はチーム名で割り当てられます。  
許可される値: 文字列  
必須? はい  
**`maxPlayers`**  
チームに割り当てることができるプレイヤーの最大数。  
許可される値: 数値  
必須? はい  
**`minPlayers`**  
対戦を実行する前に割り当てる必要があるプレイヤーの最小数。  
許可される値: 数値  
必須? はい  
**`quantity`**  
試合で作成するこのタイプのチームの数。数量が 1 より大きいチームは、付加番号 (「赤\_1」、「赤\_2」など) で指定します。このプロパティが設定されていない場合、デフォルト値は、1 です。  
許可される値: 数値  
必須? いいえ

**`rules`**  
対戦するプレイヤーの評価方法を定義する一連のルールステートメントを作成します。  
必須? いいえ    
**`name`**  
ルールのユニークな名前。ルールセット内のすべてのルールにはユニークな名前が必要です。ルール名は、このルールに関連するアクティビティを追跡するイベントログとメトリクスでも参照されます。  
許可される値: 文字列  
必須? はい  
**`description`**  
ルールに関してテキストで示された説明。この情報を使用して、ルールの目的を特定できます。マッチメーキングプロセスでは使用しません。  
許可される値: 文字列  
必須? いいえ  
**`type`**  
ルールステートメントのタイプ。各ルールタイプには、設定する必要がある追加のプロパティがあります。各ルールタイプの構造と使用方法の詳細については、「[FlexMatch ルールタイプ](match-rules-reference-ruletype.md)」を参照してください。  
許可される値:   
+ 「absoluteSort」(絶対的ソート) - 数値を持つ指定されたプレイヤー属性と、バッチ内の最も古いチケットとの比較の両方に基づいて、バッチ内のチケットを並べ替える明示的なソート方法を使用するソート。
+ 「collection」 (集合体) - 集合体内のプレイヤー属性や、複数のプレイヤーの一連の値など、集合体内の値を評価します。
+ 「comparison」 (比較) - 2 つの値を比較します。
+ 「compound」(複合) - ルールセット内の他のルールを論理的に組み合わせて複合マッチメーキングルールを定義します。40 人以下のプレイヤーのマッチでのみサポートされます。
+ 「distance」 (距離) - 数値間の距離を測定します。
+ 「batchDistance」(バッチ距離) - 属性値の差を測定し、それを使用してマッチリクエストをグループ化します。
+ 「distanceSort」(距離ソート) - 数値を持つ指定されたプレイヤー属性と、バッチ内の最も古いチケットとの比較状況に基づいて、バッチ内のチケットを並べ替える明示的なソート方法を使用するソート。
+ 「latency」 (レイテンシー) - マッチメーキングリクエストについて報告されるリージョンのレイテンシーデータを評価します。
必須? はい

**`expansions`**  
試合を完了できない場合に、時間の経過とともに試合要件を緩和するためのルール。試合を見つけやすくするために、徐々に適用される一連のステップとして拡張を設定します。デフォルトでは、FlexMatch はマッチに追加された最新のチケットの経過時間に基づいて待機時間を計算します。algorithm プロパティ `expansionAgeSelection` を使用して、拡張待ち時間の計算方法を変更できます。  
拡張待ち時間は絶対値であるため、各ステップの待機時間は前のステップより長くなければなりません。たとえば、一連の拡張を段階的にスケジュールするには、30 秒、40 秒、50 秒の待機時間を使用します。待機時間は、マッチメーキング設定で設定される、対戦リクエストで許可された最大時間を超えることはできません。  
必須? いいえ    
**`target`**  
緩和されるルールセット要素。チームサイズのプロパティやルールステートメントのプロパティは緩和できます。構文は「<component name>[<rule/team name>] <property name>」です。たとえば、チームの最小サイズを変更するには、`teams[Red, Yellow].minPlayers` のようにします。「minSkill」という名前の比較ルールステートメントの最小スキル要件を変更場合は、`rules[minSkill].referenceValue` です。  
必須? はい  
**`steps`**    
**`waitTimeSeconds`**  
ターゲットルールセット要素の新しい値を適用する前に待機する時間 (秒)。  
必須? はい  
**`value`**  
ターゲットルールセット要素の新しい値。