

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon GameLift Servers FlexMatch이란 무엇입니까?
<a name="match-intro"></a>

Amazon GameLift Servers FlexMatch는 멀티플레이어 게임을 위한 사용자 지정 가능한 매치메이킹 서비스입니다. FlexMatch를 사용하면 게임에 맞는 멀티플레이어 매치의 모습을 정의하고, 각 매치에 호환되는 플레이어를 평가하고 선택하는 방법을 결정하는 사용자 지정 규칙 세트를 만들 수 있습니다. 게임 요구 사항에 맞게 매치메이킹 알고리즘의 주요 측면을 미세 조정할 수도 있습니다.

FlexMatch를 독립형 매치메이킹 서비스로 사용하거나 Amazon GameLift Servers 게임 호스팅 솔루션과 통합합니다. 예를 들어, 다른 클라우드 컴퓨팅 솔루션을 사용하는 피어 투 피어 아키텍처가 있는 게임 또는 게임과 함께 FlexMatch를 독립 실행형 기능으로 구현할 수 있습니다. 또는 Amazon GameLift Servers 관리형 EC2 또는 관리형 컨테이너 호스팅 또는 Amazon GameLift Servers Anywhere를 사용한 온프레미스 호스팅에 FlexMatch를 추가할 수 있습니다. 이 가이드에서는 특정 시나리오별로 FlexMatch 매치메이킹 시스템을 구축하는 방법에 대한 자세한 정보를 제공합니다.

FlexMatch를 사용하면 게임 요구 사항에 따라 유연하게 매치메이킹 우선 순위를 설정할 수 있습니다. 예를 들면, 다음을 수행할 수 있습니다.
+ 매치 속도와 품질 사이의 균형을 찾습니다. 매치 규칙을 설정하여 충분히 좋은 매치를 빠르게 찾거나, 플레이어가 최적의 플레이어 경험을 위해 가능한 최상의 경기를 찾도록 조금 더 대기하게 합니다.
+ 잘 매치되는 플레이어나 잘 매치된 팀을 기반으로 매치를 설정합니다. 모든 플레이어가 스킬이나 경험 등 비슷한 특성을 가진 매치를 생성합니다. 또는 각 팀의 결합된 특성이 공통 기준을 충족하는 경우 일치 항목을 구성합니다.
+ 플레이어 지연 시간이 매치메이킹에 어떤 영향을 미치는지 우선 순위를 지정합니다. 모든 플레이어에 대해 지연 시간에 대한 하드 제한을 설정하시겠습니까? 아니면 매치의 모든 사람이 비슷한 지연 시간을 갖는 한 더 높은 지연 시간이 허용됩니까?

**FlexMatch로 작업을 시작할 준비가 되셨나요?**  
FlexMatch를 사용하여 게임을 시작하고 실행하는 방법에 사용되는 단계별 지침은 다음 주제를 참조하세요.  
[로드맵: Amazon GameLift Servers 호스팅 솔루션에 매치메이킹 추가](match-tasks.md)
[로드맵: FlexMatch를 사용하여 독립형 매치메이킹 솔루션 생성](match-tasks-safm.md)

## 주요 FlexMatch 기능
<a name="match-intro-features"></a>

FlexMatch를 독립형 서비스로 사용하든 Amazon GameLift Servers 게임 호스팅과 함께 사용하든 관계없이 모든 FlexMatch 시나리오에서 다음 기능을 사용할 수 있습니다.
+ **사용자 지정 플레이어 매칭.** 플레이어에게 제공하는 모든 게임 모드에 적합한 매치메이커를 설계하고 구축합니다. 주요 플레이어 속성(예: 스킬 레벨 또는 역할)과 지리적 지연 시간 데이터를 평가하기 위한 사용자 지정 규칙 세트를 구축하고 게임에서 훌륭한 플레이어 매치를 형성합니다.
+ **지연 시간 기반 매칭.** 플레이어 지연 시간 데이터를 제공하고 매치에 참가한 플레이어들이 비슷한 응답 시간을 갖도록 하는 매치 규칙을 만들 수 있습니다. 이 기능은 플레이어 매치메이킹 풀이 여러 지리적 리전에 걸쳐 있는 경우에 유용합니다.
+ **최대 200명의 플레이어까지 매치 규모 지원.** 게임에 맞게 사용자 지정된 매치 규칙을 사용하여 최대 40명의 플레이어로 매치를 만들 수 있습니다. 간소화된 사용자 지정 매칭 프로세스와 플레이어의 대기 시간을 관리할 수 있는 매칭 프로세스를 사용하여 최대 200명의 플레이어로 구성된 매치를 생성합니다.
+ **플레이어 수락.** 매치를 마무리하고 게임 세션을 시작하기 전에 플레이어가 제안된 매치에 참여하도록 합니다. 이 기능을 사용하면 매치를 위한 새 게임 세션을 배치하기 전에 사용자 지정 수락 워크플로를 시작하고 플레이어 응답을 FlexMatch에 보고할 수 있습니다. 모든 플레이어가 매치를 수락하지 않으면 제안된 매치는 실패하고 수락한 플레이어는 자동으로 매치메이킹 풀로 돌아갑니다.
+ **플레이어 그룹 지원.** 같은 팀에서 함께 플레이하고자 하는 플레이어 그룹을 위한 매치를 생성합니다. FlexMatch를 사용하여 추가 플레이어를 찾아 필요에 따라 매치를 충원합니다.
+ **확장 가능한 매칭 규칙.** 성공적인 매치를 찾지 못한 상태에서 일정 시간이 지나면 매치 요건이 점차 완화됩니다. 규칙 확장을 통해 초기 매치 규칙을 완화할 장소와 시기를 결정할 수 있으므로 플레이어가 더 빨리 플레이 가능한 게임에 참여할 수 있습니다.
+ **매치 채우기.** 기존 게임 세션에서 빈 플레이어 슬롯을 잘 매치된 새 플레이어로 채웁니다. 새 플레이어를 요청하는 시기와 방법을 사용자 지정하고 동일한 사용자 지정 매치 규칙을 사용하여 추가 플레이어를 찾을 수 있습니다.

## FlexMatch를 Amazon GameLift Servers 호스팅과 함께 사용
<a name="match-intro-hosting"></a>

Amazon GameLift Servers로 호스팅되는 게임에는 FlexMatch의 다음과 같은 추가 기능을 제공됩니다. 여기에는 사용자 지정 게임 서버 또는 Amazon GameLift Servers Realtime을 사용하는 게임이 포함됩니다.
+ **게임 세션 배치.** 매칭이 성공적으로 이루어지면 FlexMatch는 Amazon GameLift Servers에 새 게임 세션 배치를 자동으로 요청합니다. 플레이어 ID 및 팀 배정을 포함하여 매치메이킹 중에 생성된 데이터는 게임 서버에 제공되므로 해당 정보를 사용하여 매치를 위한 게임 세션을 시작할 수 있습니다. 그런 다음 FlexMatch는 게임 세션 연결 정보를 다시 전달하여 게임 클라이언트가 게임에 참여할 수 있도록 합니다. 매치에서 플레이어가 경험하는 지연 시간을 최소화하려면 Amazon GameLift Servers를 통한 게임 세션 배치는 리전별 플레이어 지연 시간 데이터(제공된 경우)를 사용할 수도 있습니다.
+ **자동 매치 채우기.** 이 기능을 활성화하면 FlexMatch는 플레이어 슬롯이 채워지지 않은 상태에서 새 게임 세션이 시작될 때 자동으로 매치 채우기 요청을 보냅니다. 매치메이킹 시스템은 최소 플레이어 수로 게임 세션 배치 프로세스를 시작한 다음 나머지 슬롯을 빠르게 채웁니다. 자동 채우기를 사용하여 매치된 게임 세션에서 탈락한 플레이어를 교체할 수는 없습니다.

Amazon Elastic Compute Cloud(Amazon EC2) 리소스에서 호스팅된 게임을 Amazon GameLift Servers FleetIQ와 사용하는 경우 FlexMatch를 독립형 기능으로 구현해야 합니다.

## Amazon GameLift Servers FlexMatch 요금
<a name="match-intro-pricing"></a>

Amazon GameLift Servers는 사용 기간별로 인스턴스에 대해 요금을 부과하고, 전송된 데이터 양을 기준으로 대역폭을 청구합니다. Amazon GameLift Servers에서 게임을 호스팅하는 경우 Amazon GameLift Servers에 대한 요금에 FlexMatch 사용량이 포함됩니다. 다른 서버 솔루션에서 게임을 호스팅하는 경우 FlexMatch 사용량 요금은 별도로 청구됩니다. Amazon GameLift Servers에 관련된 전체적인 요금 및 가격 목록은 [Amazon GameLift Servers 요금](https://aws.amazon.com/gamelift/servers/pricing)을 참조하십시오.

Amazon GameLift Servers를 통한 게임 호스팅 또는 매치메이킹 비용 계산에 대한 자세한 내용은 [AWS Pricing Calculator](https://calculator.aws/#/createCalculator/GameLift) 사용 방법을 설명하는 [Amazon GameLift Servers의 추정 요금 산출](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-calculator.html) 섹션을 참조하세요.

# Amazon GameLift Servers FlexMatch 작동 방식
<a name="gamelift-match"></a>

이 주제에서는 FlexMatch 시스템의 핵심 구성 요소와 이러한 구성 요소가 상호 작용하는 방식을 포함하여 Amazon GameLift Servers FlexMatch 서비스에 대한 개요를 제공합니다.

FlexMatch는 Amazon GameLift Servers 관리형 호스팅을 사용하는 게임 또는 다른 호스팅 솔루션을 사용하는 게임에 사용할 수 있습니다. Amazon GameLift Servers Realtime를 포함하여 Amazon GameLift Servers에서 호스팅되는 게임은 통합된 Amazon GameLift Servers 서비스를 사용하여 사용 가능한 게임 서버를 자동으로 찾고 매치를 위한 게임 세션을 시작합니다. Amazon GameLift Servers FleetIQ를 포함하여 FlexMatch를 독립형 서비스로 사용하는 게임은 기존 호스팅 시스템과 협력하여 호스팅 리소스를 할당하고 매치를 위해 게임 세션을 시작해야 합니다.

게임에 FlexMatch를 설정하는 방법에 대한 자세한 지침은 [FlexMatch 시작](match-getting-started.md) 섹션을 참조하세요.

## 매치메이킹 구성 요소
<a name="gamelift-match-components"></a>

FlexMatch 매치메이킹 시스템은 다음 구성 요소 중 일부 또는 전체를 포함합니다.

**Amazon GameLift Servers 구성 요소**

다음은 FlexMatch 서비스가 게임에 대한 매치메이킹을 수행하는 방식을 제어하는 Amazon GameLift Servers 리소스입니다. 콘솔 및 AWS CLI를 비롯한 Amazon GameLift Servers 도구를 사용하거나 AWS SDK for를 사용하여 프로그래밍 방식으로 생성 및 유지 관리합니다Amazon GameLift Servers.
+ **FlexMatch 매치메이킹 구성(매치메이커라고도 함)** - 매치메이커는 게임의 매치메이킹 프로세스를 사용자 지정하는 구성 값 세트입니다. 게임에는 매치메이커가 여러 개 있을 수 있으며, 각 매치메이커는 필요에 따라 서로 다른 게임 모드 또는 경험에 맞게 구성됩니다. 게임에서 FlexMatch에 매치메이킹 요청을 보낼 때 사용할 매치메이커를 지정합니다.
+ **FlexMatch 매치메이킹 규칙 세트** - 규칙 세트에는 잠재적 매치에 대해 플레이어를 평가하고 승인 또는 거부하는 데 필요한 모든 정보가 들어 있습니다. 규칙 세트는 매치의 팀 구조를 정의하고, 평가에 사용되는 플레이어 속성을 선언하며, 허용 가능한 매치의 기준을 설명하는 규칙을 제공합니다. 규칙은 개별 플레이어, 팀 또는 전체 매치에 적용될 수 있습니다. 예를 들어 규칙에 따라 매치에 참여하는 모든 플레이어가 같은 게임 맵을 선택하도록 하거나 모든 팀의 플레이어 평균 실력이 비슷해야 할 수 있습니다.
+ **Amazon GameLift Servers 게임 세션 대기열(Amazon GameLift Servers 관리형 호스팅만을 사용하는 FlexMatch의 경우)** - 게임 세션 대기열은 사용 가능한 호스팅 리소스를 찾고 해당 매치를 위한 새 게임 세션을 시작합니다. 대기열의 구성에 따라 Amazon GameLift Servers가 사용 가능한 호스팅 리소스를 찾는 위치와 매치에 가장 적합한 호스트를 선택하는 방법이 결정됩니다.

**사용자 지정 구성 요소**

다음 구성 요소에는 게임 아키텍처를 기반으로 구현해야 하는 완전한 FlexMatch 시스템에 필요한 기능이 포함되어 있습니다.
+ **매치메이킹을 위한 플레이어 인터페이스** - 이 인터페이스를 통해 플레이어는 매치에 참가할 수 있습니다. 최소한 클라이언트 매치메이킹 서비스 구성 요소를 통해 매치메이킹 요청을 시작하고, 매치메이킹 프로세스에 필요한 경우 스킬 레벨 및 지연 시간 데이터와 같은 플레이어별 데이터를 제공합니다.
**참고**  
FlexMatch 서비스와의 통신은 게임 클라이언트가 아닌 백엔드 서비스를 통해 수행하는 것이 가장 좋습니다.
+ **클라이언트 매치메이킹 서비스** - 이 서비스는 플레이어 인터페이스에서 플레이어 참가 요청을 처리하고, 매치메이킹 요청을 생성하며, FlexMatch 서비스에 전송합니다. 요청이 처리되면 매치메이킹 이벤트를 모니터링하고, 매치메이킹 상태를 추적하며, 필요에 따라 조치를 취합니다. 게임에서 게임 세션 호스팅을 관리하는 방식에 따라, 이 서비스는 게임 세션 연결 정보를 플레이어에게 반환할 수 있습니다. 이 구성 요소는 Amazon GameLift Servers API와 함께 AWS SDK를 사용하여 FlexMatch 서비스와 통신합니다.
+ **매치 배치 서비스(독립형 서비스인 FlexMatch에만 해당)** - 이 구성 요소는 기존 게임 호스팅 시스템과 함께 작동하여 사용 가능한 호스팅 리소스를 찾고 매치를 위한 새 게임 세션을 시작합니다. 구성 요소는 매치메이킹 결과를 가져와야 하며, 매치에 참여한 모든 플레이어의 플레이어 ID, 속성, 팀 배정 등 새 게임 세션을 시작하는 데 필요한 정보를 추출해야 합니다.

# FlexMatch 매치메이킹 프로세스
<a name="gamelift-match-howitworks"></a>

이 주제에서는 다양한 게임 구성 요소와 FlexMatch 서비스 간의 상호 작용을 포함한 기본 매치메이킹 시나리오의 일련의 이벤트에 대해 설명합니다.

**1단계: 플레이어에 대해 매치메이킹 요청**  
게임 클라이언트를 사용하는 플레이어가 “게임 참여” 버튼을 클릭합니다. 이 작업을 수행하면 클라이언트 매치메이킹 서비스가 FlexMatch에 매치메이킹 요청을 보냅니다. 요청은 요청을 이행할 때 사용할 FlexMatch 매치메이커를 식별합니다. 요청에는 스킬 레벨, 플레이 선호도 또는 지리적 지연 시간 데이터 등 사용자 지정 매치메이커에 필요한 플레이어 정보도 포함됩니다. 한 명 또는 여러 명의 플레이어에 대해 매치메이킹을 요청할 수 있습니다.

**2단계: 매치메이킹 풀에 요청 추가**  
FlexMatch는 매치메이킹 요청을 받으면 매치메이킹 티켓을 생성하고 매치메이커의 티켓 풀에 추가합니다. 티켓은 매칭되거나 최대 시간 제한에 도달할 때까지 풀에 남아 있습니다. 클라이언트 매치메이킹 서비스는 티켓 상태 변경을 포함한 매치메이킹 이벤트에 대한 알림을 정기적으로 받습니다.

**3단계: 매치 구축**  
FlexMatch 매치메이커는 풀의 모든 티켓에 대해 다음 프로세스를 지속적으로 실행합니다.  

1. 매치메이커는 티켓 연령별로 풀을 정렬한 다음 가장 오래된 티켓부터 시작하여 잠재적 매치를 구축하기 시작합니다.

1. 매치메이커는 잠재적 매치에 두 번째 티켓을 추가하고 사용자 지정 매치메이킹 규칙과 비교하여 결과를 평가합니다. 잠재적 매치가 평가를 통과하면 티켓의 플레이어가 팀에 배정됩니다.

1. 매치메이커는 다음 티켓을 순서대로 추가하고 평가 프로세스를 반복합니다. 플레이어 슬롯이 모두 채워지면 매치가 준비된 것입니다.
라지 매치(41\$1200명)의 매치메이킹은 합리적인 기간 내에 매치를 진행할 수 있도록 위에서 설명한 대로 수정한 프로세스 버전을 사용합니다. 각 티켓을 개별적으로 평가하는 대신에, 매치메이커는 미리 정렬된 티켓 풀을 잠재적 매치로 나눈 다음 지정한 플레이어 특성에 따라 각 매치의 균형을 맞춥니다. 예를 들어, 매치메이커는 지연 시간이 짧은 유사한 위치를 기준으로 티켓을 미리 정렬한 다음 경기 후 밸런싱을 사용하여 플레이어 스킬별로 팀이 균등하게 매칭되도록 할 수 있습니다.

**4단계: 매치메이킹 결과 보고**  
적절한 매치가 발견되면 매칭된 모든 티켓이 업데이트되고 매칭된 각 티켓에 대해 성공적인 매치메이킹 이벤트가 생성됩니다.  
+ 독립형 서비스로써의 FlexMatch: 성공적인 매치메이킹 이벤트에서 게임에 매치 결과가 전송됩니다. 결과 데이터에는 매칭된 모든 플레이어 목록과 팀 배정이 포함됩니다. 매치 요청에 플레이어 지연 시간 정보가 포함되어 있는 경우, 결과는 매치를 위한 최적의 지리적 위치도 추천합니다.
+ FlexMatch Amazon GameLift Servers 호스팅 솔루션 사용: 매치 결과는 게임 세션 배치를 위해 Amazon GameLift Servers 대기열에 자동으로 전달됩니다. 매치메이커는 게임 세션 배치에 사용할 대기열을 결정합니다.

**5단계: 매치를 위한 게임 세션 시작**  
제안된 매치가 성공적으로 구성되면 새 게임 세션이 시작됩니다. 매치를 위한 게임 세션을 설정할 때 게임 서버가 플레이어 ID 및 팀 배정을 포함한 매치메이킹 결과 데이터를 사용할 수 있어야 합니다.  
+ 독립형 서비스로써의 FlexMatch: 사용자 지정 매치 배치 서비스는 성공적인 매치메이킹 이벤트에서 매치 결과 데이터를 가져오고, 기존 게임 세션 배치 시스템에 연결하여 매치에 사용할 수 있는 호스팅 리소스를 찾습니다. 호스팅 리소스가 검색되면 매치 배치 서비스가 기존 호스팅 시스템과 협력하여 새 게임 세션을 시작하고 연결 정보를 획득합니다.
+ FlexMatch Amazon GameLift Servers 호스팅 솔루션 사용: 게임 세션 대기열은 매치에 가장 적합한 게임 서버를 찾습니다. 대기열 구성 방식에 따라 비용이 가장 저렴한 비용의 리소스와 플레이어가 짧은 지연 시간을 경험할 수 있는 위치(플레이어 지연 시간 데이터가 제공되는 경우)로 게임 세션을 배치하도록 합니다. 게임 세션이 성공적으로 배치되면 Amazon GameLift Servers 서비스는 게임 서버에 새 게임 세션을 시작하라는 메시지를 표시하고 매치메이킹 결과 및 기타 선택적 게임 데이터를 전달합니다.

**6단계: 플레이어를 매치에 연결**  
게임 세션이 시작된 후 플레이어는 세션에 접속하여 팀 배정을 신청하고 게임플레이를 시작합니다.  
+ 독립형 서비스로써의 FlexMatch: 게임은 기존 게임 세션 관리 시스템을 사용하여 플레이어에게 연결 정보를 다시 제공합니다.
+ FlexMatch Amazon GameLift Servers 호스팅 솔루션 사용: 게임 세션 배치가 성공하면는 일치하는 모든 티켓을 게임 세션 연결 정보 및 플레이어 세션 ID로 FlexMatch 업데이트합니다.

# FlexMatch 지원되는 AWS 리전
<a name="match-regions"></a>

Amazon GameLift Servers 호스팅 솔루션과 함께 FlexMatch를 사용하는 경우 게임을 호스팅하는 모든 위치에서 일치하는 게임 세션을 호스팅할 수 있습니다. [Amazon GameLift Servers 호스팅을 위한 AWS 리전 및 위치의 전체 목록](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-regions.html)을 참조하세요.