게임 클라이언트에 FlexMatch 추가
이 주제에서는 클라이언트 측 게임 구성 요소에 FlexMatch 매치메이킹 기능을 추가하는 방법을 설명합니다.
게임 클라이언트에서 백엔드 게임 서비스를 통해 매치메이킹 요청을 수행하는 것이 좋습니다. Amazon GameLift Servers 서비스와 소통하기 위해 신뢰할 수 있는 소스를 사용하면 해킹 시도 및 가짜 플레이어 데이터를 보다 쉽게 막을 수 있습니다. 게임에 세션 디렉터리 서비스가 있는 경우 매치메이킹 요청을 처리하기 위한 좋은 옵션이 됩니다. Amazon GameLift Servers 서비스에 대한 모든 호출에 백엔드 게임 서비스를 사용하는 것이 Amazon GameLift Servers 호스팅과 FlexMatch를 사용하거나 독립 실행형 서비스로 사용할 때 가장 좋습니다.
Amazon GameLift Servers 관리형 호스팅과 FlexMatch를 함께 사용하든 다른 호스팅 솔루션과 함께 독립 실행형 서비스로를 사용하든 클라이언트 측 업데이트가 필요합니다. AWS SDK의 일부인 Amazon GameLift Servers용 서비스 API를 사용하여 다음 기능을 추가합니다.
-
한 명 또는 여러 명의 플레이어에 대한 매치메이킹 요청(필수). 매치메이킹 규칙 세트에 따라 이 요청에는 플레이어 속성 및 지연 시간을 포함한 특정 플레이어별 데이터가 필요할 수 있습니다.
-
매치메이킹 요청 상태 추적(필수). 일반적으로 이 작업을 수행하려면 이벤트 알림을 설정해야 합니다.
-
제안된 매치에 대한 플레이어 수락 요청(선택 사항). 이 기능을 사용하려면 매치 세부 정보를 표시하고 플레이어가 매치를 수락하거나 거부할 수 있도록 플레이어와의 추가 상호 작용이 필요합니다.
-
게임 세션 연결 정보를 가져오고 게임에 조인(필수). 새 매치에 대해 게임 세션이 시작된 후 게임 세션의 연결 정보를 검색하고 이를 사용하여 게임 세션에 연결합니다.
사전 조건 클라이언트 측 작업
게임에 클라이언트 측 기능을 추가하려면 먼저 다음 작업을 수행해야 합니다.
-
백엔드 서비스에 AWS SDK를 추가합니다. 백엔드 서비스는 AWS SDK에 속한 Amazon GameLift Servers API의 기능을 사용합니다. 클라이언트 서비스용 Amazon GameLift Servers SDK 섹션을 참조하여 AWS SDK에 대해 자세히 알아보고 최신 버전을 다운로드하세요. API 설명 및 기능은 Amazon GameLift ServersAPI 참조(FlexMatch SDK)AWS 섹션을 참조하세요.
-
매치메이킹 티켓 시스템을 설정합니다. 모든 매치메이킹 요청에 고유 티켓 ID를 보유해야 합니다. 고유 티켓 ID를 생성하고 매치 요청에 할당하는 메커니즘을 만듭니다. 티켓 ID는 최대 128자까지 어떤 문자열 형식도 사용 가능합니다.
-
매치메이커에 대한 정보를 수집합니다. 매치메이킹 구성 및 규칙 세트에서 다음 정보를 가져옵니다.
-
매치메이킹 구성 리소스의 이름입니다.
-
규칙 세트에 정의된 플레이어 속성 목록입니다.
-
-
플레이어 데이터를 검색합니다. 매치메이킹 요청에 포함할 각 플레이어에 대한 관련 데이터를 가져오는 방법을 설정합니다. 플레이어 ID와 플레이어 속성 값이 필요합니다. 규칙 세트에 지연 시간 규칙이 있거나 게임 세션을 배치할 때 지연 시간 데이터를 사용하려는 경우 플레이어가 게임에 슬롯될 가능성이 있는 각 지리적 위치에 대한 지연 시간 데이터를 수집합니다. 정확한 지연 시간 측정값을 얻으려면 Amazon GameLift Servers의 UDP 핑 비콘을 사용합니다. 이러한 엔드포인트를 사용하면 플레이어 디바이스와 각 잠재적 호스팅 위치 간의 실제 UDP 네트워크 지연 시간을 측정할 수 있으므로 ICMP Ping을 사용하는 것보다 더 정확한 배치 결정을 내릴 수 있습니다. UDP 핑 비콘을 사용하여 지연 시간을 측정하는 방법에 대한 자세한 내용은 UDP 핑 비콘 섹션을 참조하세요.