기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
FlexMatch 규칙 세트 속성 정의
이 섹션에서는 규칙 세트 스키마의 각 속성을 정의합니다. 규칙 세트 생성에 대한 추가 도움말은 FlexMatch 규칙 세트 빌드 섹션을 참조하세요.
name
-
규칙 세트를 설명하는 레이블. 이 값은 Amazon GameLift MatchmakingRuleSet 리소스에 할당된 이름과는 관련이 없습니다. 이 값은 완료된 매치를 설명하는 매치메이킹 데이터에 포함되지만 Amazon GameLift 프로세스에서는 사용되지 않습니다.
허용된 값: 문자열
필수? 아니요
ruleLanguageVersion
-
사용 중인 FlexMatch 속성 표현식 언어의 버전입니다.
허용된 값: “1.0”
필수? 예
playerAttributes
-
매치메이킹 요청에 포함되고 매치메이킹 프로세스에 사용되는 플레이어 데이터 모음입니다. 또한 매치메이킹 프로세스에 데이터가 사용되지 않더라도, 여기에서 속성을 선언하여 게임 서버로 전달되는 매치메이킹 데이터에 플레이어 데이터가 포함되도록 할 수 있습니다.
필수? 아니요
name
-
매치메이커가 사용하는 플레이어 속성의 고유한 이름입니다. 이 이름은 매치메이킹 요청에서 참조되는 플레이어 속성 이름과 일치해야 합니다.
허용된 값: 문자열
필수? 예
type
-
플레이어 속성 값의 데이터 형식입니다.
허용되는 값: “string”, “number”, “string_list”, “string_number_map”
필수? 예
default
-
플레이어에게 매치메이킹 요청이 제공하지 않을 때 사용할 기본값입니다.
허용 값: 플레이어 속성에 허용되는 모든 값.
필수? 아니요
algorithm
-
매치메이킹 프로세스를 사용자 지정하기 위한 선택적 구성 설정.
필수? 아니요
strategy
-
매치를 구축할 때 사용할 메서드입니다. 이 속성을 설정하지 않으면 기본 동작인 “exhaustiveSearch”가 됩니다.
허용된 값:
-
“exhaustiveSearch” - 표준 매칭 메서드. FlexMatch는 일련의 사용자 지정 매치 규칙을 기반으로 풀에 있는 다른 티켓을 평가하여 가장 오래된 티켓을 중심으로 매치를 일괄적으로 구성합니다. 이 전략은 플레이어 40명 이하의 매치에 사용됩니다. 이 전략을 사용할 때는
batchingPreference
를 “random” or “sorted”로 설정해야 합니다. -
“balanced” - 라지 매치를 빠르게 형성하도록 최적화된 메서드입니다. 이 전략은 플레이어가 41~200명 정도인 매치에만 사용됩니다. 티켓 풀을 미리 정렬하고, 잠재적 매치를 구성하여, 플레이어를 팀에 배정한 다음, 지정된 플레이어 속성을 사용하여 각 팀의 밸런스를 맞추는 방식으로 매치를 구성합니다. 예를 들어, 이 전략을 사용하여 한 매치에 참가한 모든 팀의 평균 스킬 레벨을 동일하게 맞출 수 있습니다. 이 전략을 사용할 때는
balancedAttribute
를 설정해야 하며batchingPreference
는 “largestPopulation” 또는 “fastestRegion”으로 설정해야 합니다. 대부분의 사용자 지정 규칙 유형은 이 전략에서 인식되지 않습니다.
필수? 예
-
batchingPreference
-
매치 구성을 위해 티켓을 그룹화하기 전에 사용할 사전 정렬 메서드입니다. 티켓 풀을 미리 정렬하면 특정 특성에 따라 티켓이 일괄 처리되므로 최종 매치에서 플레이어 간의 균일성이 높아지는 경향이 있습니다.
허용된 값:
-
“random” -
strategy
= “exhaustiveSearch”인 경우에만 유효. 사전 정렬은 수행되지 않으며, 풀의 티켓은 무작위로 일괄 처리됩니다. 이는 전체 검색 전략의 기본 동작입니다. -
“sorted” -
strategy
= “exhaustiveSearch”인 경우에만 유효. 티켓 풀은sortbyAttributes
에 나열된 플레이어 속성에 따라 사전 정렬됩니다. -
“largestPopulation” -
strategy
= “balanced”인 경우에만 유효. 티켓 풀은 플레이어가 가장 짧은 지연 시간 레벨을 보고한 리전을 기준으로 사전 정렬됩니다. 이는 밸런스 전략의 기본 동작입니다. -
“fastestRegion” -
strategy
= “balanced”인 경우에만 유효. 티켓 풀은 플레이어가 가장 짧은 지연 시간 레벨을 보고한 리전을 기준으로 사전 정렬됩니다. 결과 매치를 완료하는 데 시간이 더 오래 걸리지만 모든 플레이어의 지연 시간은 낮은 편입니다.
필수? 예
-
balancedAttribute
-
밸런스 전략으로 라지 매치를 구성할 때 사용할 플레이어 속성의 이름입니다.
허용되는 값:
type
= “number”로playerAttributes
에 선언된 모든 속성.필수?
strategy
= “balanced”인 경우, 예. sortByAttributes
-
일괄 처리 전에 티켓 풀을 사전 정렬할 때 사용할 플레이어 속성 목록입니다. 이 속성은 전체 검색 전략을 사용하여 사전 정렬할 때만 사용됩니다. 속성 목록의 순서에 따라 정렬 순서가 결정됩니다. FlexMatch는 영숫자 값에 대해 표준 정렬 규칙을 사용합니다.
허용되는 값:
playerAttributes
에 선언된 모든 속성.필수?
batchingPreference
= “sorted”인 경우, 예. backfillPriority
-
채우기 티켓을 매칭하기 위한 우선 순위 지정 메서드. 이 속성은 FlexMatch가 채우기 티켓을 일괄적으로 처리하는 시기를 결정합니다. 이는 전체 검색 전략을 사용하여 사전 정렬할 때만 사용됩니다. 이 속성을 설정하지 않으면 기본 동작인 “normal”이 됩니다.
허용된 값:
-
“normal” - 매치를 구성할 때 티켓의 요청 유형(채우기 또는 새 매치)은 고려되지 않습니다.
-
“high” - 티켓 배치가 요청 유형별로 정렬되고 (그런 다음, 연령별로 정렬되며) FlexMatch는 먼저 채우기 티켓을 매칭하려고 시도합니다.
-
“low” - 티켓 배치가 요청 유형별로 정렬되고 (그런 다음, 연령별로 정렬되며) FlexMatch는 먼저 비채우기 티켓을 매칭하려고 시도합니다.
필수? 아니요
-
expansionAgeSelection
-
매치 규칙 확장을 위한 대기 시간을 계산하는 메서드입니다. 일정 시간이 지난 후에도 매치가 완료되지 않은 경우, 확장은 매치 요건을 완화하는 데 사용됩니다. 대기 시간은 부분적으로 채워진 매치에 이미 있는 티켓의 연령을 기준으로 계산됩니다. 이 속성을 설정하지 않으면 기본 동작인 “newest”가 됩니다.
허용된 값:
-
“newest” - 확장 대기 시간은 부분적으로 완료된 매치 중 가장 최근에 생성된 타임스탬프가 있는 티켓을 기준으로 계산됩니다. 신규 티켓 하나가 대기 시간 클록을 다시 시작할 수 있기 때문에 확장은 더 느리게 실행되는 경향이 있습니다.
-
“oldest” - 확장 대기 시간은 매치에서 가장 오래 전에 생성된 타임스탬프가 있는 티켓을 기준으로 계산됩니다. 확장은 더 빨리 실행되는 경향이 있습니다.
필수? 아니요
-
teams
-
매치 내 팀 구성. 각 팀의 팀 이름과 규모 범위를 제공합니다. 규칙 세트는 적어도 한 팀을 정의해야 합니다.
name
-
팀의 고유 이름입니다. 규칙 및 확장에서 팀 이름을 참조할 수 있습니다. 매치가 성공하면 매치메이킹 데이터에 있는 팀 이름을 기준으로 플레이어가 배정됩니다.
허용된 값: 문자열
필수? 예
maxPlayers
-
팀에 할당할 수 있는 최대 플레이어 수입니다.
허용된 값: 숫자
필수? 예
minPlayers
-
매치가 시작되기 전에 팀에 배정되어야 하는 최소 플레이어 수입니다.
허용된 값: 숫자
필수? 예
quantity
-
매치에서 생성할 수 있는 이 유형의 팀 수입니다. 팀원이 1보다 큰 팀은 번호가 추가되어 지정됩니다(“Red_1”, “Red_2” 등). 이 속성을 설정하지 않을 경우 기본값은 “1”입니다.
허용된 값: 숫자
필수? 아니요
rules
-
매치에 대한 플레이어를 평가하는 방법을 정의하는 규칙 문 모음을 생성합니다.
필수? 아니요
name
-
역할의 고유한 이름입니다. 규칙 세트의 모든 규칙은 고유한 이름을 가져야 합니다. 규칙 이름은 규칙과 관련된 활동을 추적하는 이벤트 로그 및 측정치에서 참조됩니다.
허용된 값: 문자열
필수? 예
description
-
규칙에 대한 텍스트 설명입니다. 이 정보는 규칙의 용도를 식별하는 데 사용할 수 있습니다. 매치메이킹 프로세스에는 사용되지 않습니다.
허용된 값: 문자열
필수? 아니요
type
-
규칙 문 유형입니다. 각 규칙 유형에는 설정해야 하는 추가 속성이 있습니다. 각 규칙 유형의 구조 및 사용에 대한 자세한 내용은 FlexMatch 규칙 유형 섹션을 참조하세요.
허용된 값:
-
“absoluteSort” - 지정된 플레이어 속성이 일괄적으로 가장 오래된 티켓과 비교되는지 여부를 기준으로 티켓을 일괄 정렬하는 명시적인 정렬 메서드를 사용하여 정렬합니다.
-
“collection” - 컬렉션의 값을 평가합니다(예: 컬렉션인 플레이어 속성 또는 여러 플레이어의 값 집합).
-
“comparison” - 두 값을 비교합니다.
-
“compound” - 규칙 세트에 있는 다른 규칙의 논리적 조합을 사용하여 복합 매치메이킹 규칙을 정의합니다. 플레이어가 40명 이하인 매치에만 지원됩니다.
-
“distance” - 숫자 값 간의 거리를 측정합니다.
-
“batchDistance” - 속성 값 간의 차이를 측정하고 이를 사용하여 매치 요청을 그룹화합니다.
-
“distanceSort” - 숫자값이 포함된 지정된 플레이어 속성을 가장 오래된 티켓과 일괄 처리로 비교하는 방법을 기준으로 티켓을 일괄 정렬하는 명시적인 정렬 메서드를 사용하여 정렬합니다.
-
“latency” - 매치메이킹 요청에 대해 보고된 리전별 지연 시간 데이터를 평가합니다.
필수? 예
-
expansions
-
매치를 완료할 수 없는 경우 시간이 지남에 따라 매치 요건을 완화하는 규칙. 매치를 더 쉽게 찾을 수 있도록 점진적으로 적용되는 일련의 단계로 확장을 설정합니다. 기본적으로 FlexMatch는 매치에 추가된 최신 티켓의 연령별로 대기 시간을 계산합니다.
expansionAgeSelection
알고리즘 속성을 사용하여 확장 대기 시간을 계산하는 방식을 변경할 수 있습니다.확장 대기 시간은 절대값이므로 각 단계의 대기 시간이 이전 단계보다 더 길어야 합니다. 예를 들어, 점진적인 확장을 예약하려면 30초, 40초, 50초의 대기 시간을 사용할 수 있습니다. 대기 시간은 매치메이킹 구성에 설정된 매치 요청에 허용된 최대 시간을 초과할 수 없습니다.
필수? 아니요
target
-
규칙 세트 요소는 완화되어야 합니다. 팀 규모 속성이나 모든 규칙 문 속성을 완화할 수 있습니다. 구문은 “<component name>[<rule/team name>].<property name>”입니다. 예를 들어, 팀 최소 규모를 변경하려면:
teams[Red, Yellow].minPlayers
. “minSkill”이라는 비교 규칙 문에서 최소 스킬 요구 사항을 변경하려면:rules[minSkill].referenceValue
.필수? 예
steps
-
waitTimeSeconds
-
대상 규칙 세트 요소에 새 값을 적용하기 전에 대기하는 시간(초)입니다.
필수? 예
value
-
대상 규칙 세트 요소의 새 값입니다.