本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
FlexMatch規則類型
批次距離規則
batchDistance
批次距離規則可測量兩個屬性值之間的差異。您可以將批次距離規則類型用於大型和小型相符項。批次距離規則有兩種類型:
-
比較數字屬性值。例如,這種類型的批次距離規則可能要求一場比賽中的所有玩家都在彼此的兩個技能等級之內。對於此類型,請定義所有票證之間
batchAttribute
的最大距離。 -
比較字串屬性值。舉例來說,這種類型的批次距離規則可能會要求比賽中的所有玩家都要求相同的遊戲模式。針對此類型,定義FlexMatch用來形成批次的
batchAttribute
值。
批次距離規則性質
-
batchAttribute
— 用來形成批次的播放程式屬性值。 -
maxDistance
— 成功匹配的最大距離值。用於比較數值屬性。 -
partyAggregation
— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max
)、最大值 (avg
) 和平均值 ()。min
預設值為avg
。
範例
{ "name":"SimilarSkillRatings", "description":"All players must have similar skill ratings", "type":"batchDistance", "batchAttribute":"SkillRating", "maxDistance":"500" }
{ "name":"SameGameMode", "description":"All players must have the same game mode", "type":"batchDistance", "batchAttribute":"GameMode" }
比較規則
comparison
比較規則將玩家屬性值與另一個值進行比較。比較規則有兩種類型:
-
與參考值進行比較。例如,這種類型的比較規則可能要求匹配的玩家具有一定的技能等級或更高。對於此類型,請指定播放程式屬性、參照值和比較操作。
-
跨玩家進行比較。例如,這種類型的比較規則可能要求比賽中的所有玩家都使用不同的角色。針對此類型,請指定播放程式屬性,以及等於 (
=
) 或不等於 (!=
) 比較運算。請勿指定參考值。
注意
批次距離規則在比較玩家屬性時更有效率。若要減少配對延遲,請盡可能使用批次距離規則。
比較規則屬性
-
measurements
— 要比較的玩家屬性值。 -
referenceValue
— 將測量值與預期匹配進行比較。 -
operation
— 決定如何將量測與參照值進行比較的值。有效的作業包括:<
<=
、=
、、!=
、>
、、>=
。 -
partyAggregation
— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max
)、最大值 (avg
) 和平均值 ()。min
預設值為avg
。
距離規則
distance
距離規則測量兩個數值之間的差異,例如玩家技能等級之間的距離。例如,距離規則可能要求所有玩家玩遊戲至少 30 小時。
注意
批次距離規則在比較玩家屬性時更有效率。若要減少配對延遲,請盡可能使用批次距離規則。
距離規則屬性
-
measurements
— 測量距離的玩家屬性值。這必須是具有數值的屬性。 -
referenceValue
— 用於測量預期匹配距離的數值。 -
minDistance
/maxDistance
— 成功比對的最小或最大距離值。 -
partyAggregation
— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max
)、最大值 (avg
) 和平均值 ()。min
預設值為avg
。
收集規則
collection
收集規則會將一組玩家屬性值與批次中其他玩家的屬性值或參考值進行比較。一個集合可以包含多個玩家的屬性值,一個玩家屬性作為字符串列表,或兩者。例如,收集規則可能會查看團隊中玩家所選擇的角色。然後,該規則可能會要求團隊至少具有某個特定角色中的一個。
集合規則屬性
-
measurements
— 要比較的玩家屬性值的集合。屬性值必須是字串清單。 -
referenceValue
— 值 (或值的集合) 用來比較測量結果是否有潛在的比對。 -
operation
— 決定如何比較量測集合的值。有效的作業包括下列項目:-
intersection
— 此操作測量所有玩家收藏中相同的值的數量。如需使用交集作業的規則範例,請參閱範例:使用明確排序來尋找最佳相符項目。 -
contains
— 此作業會測量包含指定參照值的玩家屬性集合數量。如需使用「包含」作業的規則範例,請參閱範例:設定團隊層級需求和延遲限制。 -
reference_intersection_count
— 此作業會測量玩家屬性集合中符合參照值集合中項目的項目數量。您可以使用此操作來比較多個不同的播放器屬性。如需比較多個玩家屬性集合的規則範例,請參閱範例:尋找多個玩家屬性的交集。
-
-
minCount
/maxCount
— 成功比對的最小或最大計數值。 -
partyAggregation
— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。對於這個值,你可以用union
來組合隊伍中所有玩家的玩家屬性。或者,您可以使intersection
用該隊伍共同擁有的玩家屬性。預設值為union
。
複合規則
compound
複合規則使用邏輯語句來形成 40 個或更少玩家的匹配項。您可以在單一規則集中使用多個複合規則。使用多個複合規則時,所有複合規則都必須為 true 才能形成相符項目。
您無法使用擴充規則來展開複合規則,但可以擴充基礎或支援規則。
複合規則屬性
-
statement
— 用來組合個別規則以形成複合規則的邏輯。您在此屬性中指定的規則必須先前在規則集中定義。您無法在複合batchDistance
規則中使用規則。此屬性支援下列邏輯運算子:
-
and
— 如果提供的兩個引數為真,則表示式為 true。 -
or
— 如果提供的兩個引數中的任何一個為 true,則表示式為 true。 -
not
— 反轉運算式中引數的結果。 -
xor
— 如果只有其中一個引數為真,則表示式為 true。
-
範例
以下示例根據他們選擇的遊戲模式匹配不同技能水平的玩家。
{ "name": "CompoundRuleExample", "type": "compound", "statement": "or(and(SeriousPlayers, VeryCloseSkill), and(CasualPlayers, SomewhatCloseSkill))" }
延遲規則
latency
延遲規則會測量每個位置的玩家延遲。延遲規則會忽略任何延遲高於最大值的位置。玩家在至少一個位置的延遲值必須低於最大值,延遲規則才能接受延遲規則。您可以透過指定maxLatency
屬性,將此規則類型與大型相符項目一起使用。
延遲規則屬性
-
maxLatency
— 位置可接受的最大延遲值。如果票證的延遲位置低於最大值,則票證與延遲規則不符。 -
maxDistance
— 每張票的延遲與距離參考值之間的最大值。 -
distanceReference
— 與工單延遲進行比較的延遲值。在距離參考值的最大距離範圍內的門票將導致比賽成功。有效選項包括最小值 (min
) 和平均 (avg
) 播放程式延遲值。 -
partyAggregation
— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max
)、最大值 (avg
) 和平均值 ()。min
預設值為avg
。
注意
佇列可以將遊戲工作階段置於與延遲規則不相符的區域中。如需佇列延遲原則的詳細資訊,請參閱建立播放程式延遲原則。
絕對排序規則
absoluteSort
絕對排序規則會根據指定的玩家屬性,與新增至批次中的第一張票相比,對一批配對票券進行排序。
絕對排序規則屬性
-
sortDirection
— 對配對票券進行排序的順序。有效的選項包括ascending
和descending
。 -
sortAttribute
— 要排序票券的玩家屬性。 -
mapKey
— 排序玩家屬性的選項(如果它是地圖)。有效的選項包含:-
minValue
— 具有最低值的鍵是第一個。 -
maxValue
— 具有最高值的鍵是第一個。
-
-
partyAggregation
— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括最小(min
)玩家屬性,最大(max
)玩家屬性,以及隊伍中玩家所有玩家屬性的平均值(avg
)。預設值為avg
。
範例
下列範例規則會依技能等級排序玩家,並平均派對的技能等級。
{ "name":"AbsoluteSortExample", "type":"absoluteSort", "sortDirection":"ascending", "sortAttribute":"skill", "partyAggregation":"avg" }
距離排序規則
distanceSort
距離排序規則會根據指定玩家屬性與新增至批次中的第一張彩票的距離,對一批配對票券進行排序。
距離排序規則屬性
-
sortDirection
— 對配對票券進行排序的方向。有效的選項包括ascending
和descending
。 -
sortAttribute
— 要排序票券的玩家屬性。 -
mapKey
— 排序玩家屬性的選項 (如果是地圖)。有效的選項包含:-
minValue
— 針對新增至批次的第一份工單,尋找值最低的金鑰。 -
maxValue
— 針對新增至批次的第一份工單,尋找具有最高值的金鑰。
-
-
partyAggregation
— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max
)、最大值 (avg
) 和平均值 ()。min
預設值為avg
。