

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

# FlexMatch를 사용하여 기존 게임 다시 채우기
<a name="match-backfill"></a>

매치 채우기는 FlexMatch 메커니즘을 사용하여 기존 매치 게임 세션에 대한 신규 플레이어를 찾습니다. 언제든지 플레이어를 모든 게임에 추가할 수 있지만([게임 세션에 플레이어 참여](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-join) 참조), 매치 채우기 기능은 새로운 플레이어가 현재 플레이어와 동일한 매치 기준을 충족하도록 보장합니다. 또한 매치 채우기 기능은 새 플레이어를 팀에 할당하고, 플레이어의 수락을 관리하며, 업데이트된 매치 정보를 게임 서버에 전송합니다. [FlexMatch 매치메이킹 프로세스](gamelift-match-howitworks.md)에서 매치 채우기 기능에 대해 자세히 알아봅니다.

**참고**  
FlexMatch 백필은 현재 Amazon GameLift Servers Realtime을 사용한 게임에서 사용할 수 없습니다.

채우기 메커니즘에는 다음과 같은 두 가지 유형이 있습니다.
+ 허용되는 최대 플레이어 수 미만으로 시작하는 게임 세션을 채우려면 자동 채우기를 활성화합니다. 자동 채우기는 게임에 참여한 다음 드롭아웃하는 플레이어를 채우지 않습니다.
+ 진행 중인 게임 세션에서 드롭 아웃하는 플레이어를 대체하는 수동 채우기 메커니즘을 설정합니다. 이 메커니즘은 열린 슬롯을 감지하고 채우기 요청을 생성할 수 있어야 합니다.

# 자동 채우기 설정
<a name="match-backfill-auto"></a>

자동 매치 채우기를 사용하면 채워지지 않은 플레이어 슬롯이 하나 이상 있는 채로 게임 세션이 시작할 때마다 Amazon GameLift Servers에서 채우기 요청을 자동으로 트리거합니다. 이 기능을 사용할 경우 최소 매치 플레이어 수가 충족되면 즉시 게임을 시작하고 남은 슬롯은 나중에 추가 플레이어가 매치될 때 채웁니다. 자동 채우기는 언제든지 중단하도록 선택할 수 있습니다.

예를 들어 6\$110명의 플레이어를 보유할 수 있는 게임을 생각해 보세요. FlexMatch는 처음에 6명의 플레이어를 찾아 매치를 구성하고 새 게임 세션을 시작합니다. 자동 채우기를 사용하면 새 게임 세션에서 4명의 추가 플레이어를 즉시 요청할 수 있습니다. 게임 스타일에 따라 신규 플레이어가 게임 세션 중에 언제든지 참여할 수 있도록 허용할 수 있습니다. 또는 초기 설정 단계 이후 및 게임 플레이 시작 전에 자동 채우기를 중지할 수 있습니다.

게임에 자동 채우기를 추가하려면 게임을 다음과 같이 업데이트합니다.

1. **자동 채우기 활성화.** 자동 채우기는 매치메이킹 구성에서 관리됩니다. 자동 채우기가 활성화되면 해당 매치메이커가 만든 모든 매칭된 게임 세션에 사용됩니다. 게임 서버에서 게임 세션이 시작되면 바로 Amazon GameLift Servers에서 채워지지 않은 게임 세션에 대한 채우기 요청 생성을 시작합니다.

   자동 채우기를 설정하려면 매치 구성을 열고 채우기 모드를 “자동”으로 설정합니다. 자세한 내용은 [매치메이킹 구성 생성](match-create-configuration.md) 섹션을 참조하세요.

1. **채우기 우선 순위 지정을 활성화합니다**. 매치메이킹 프로세스를 사용자 지정하여 새 매치를 생성하기 전에 채우기 요청 처리의 우선 순위를 지정합니다. 매치메이킹 규칙 세트에서 알고리즘 구성 요소를 추가하고 채우기 우선 순위를 “높음”으로 설정합니다. 자세한 내용은 [매치 알고리즘 사용자 정의](match-rulesets-components-algorithm.md) 섹션을 참조하세요.

1. **게임 세션을 새 매치메이커 데이터로 업데이트.** Amazon GameLift Servers에서 서버 SDK 콜백 함수 `onUpdateGameSession`을 사용하여 게임 서버를 매치 정보로 업데이트합니다([서버 프로세스 초기화](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-initialize) 참조). 업데이트된 게임 세션 객체를 채우기 활동의 결과로 처리하도록 게임 서버에 코드를 추가합니다. [게임 서버의 매치 데이터 업데이트](match-backfill-server-data.md)에서 자세히 알아봅니다.

1. **게임 세션에 대한 자동 채우기 해제.** 개별 게임 세션 동안 임의의 시점에서 자동 채우기를 중지하도록 선택할 수 있습니다. 자동 채우기를 중지하려면 게임 클라이언트 또는 게임 서버에 코드를 추가하여 Amazon GameLift Servers API 호출 [StopMatchmaking](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopMatchmaking.html)을 만듭니다. 이러한 호출의 경우 티켓 ID가 필요합니다. 최신 채우기 요청의 채우기 티켓 ID를 사용하십시오. 이전 단계의 설명에 따라 업데이트된 게임 세션 매치메이킹 데이터에서 이 정보를 가져올 수 있습니다.

# 게임 서버에서 수동 채우기 요청 생성
<a name="match-backfill-server"></a>

게임 세션을 호스팅하는 게임 서버 프로세스에서 수동으로 매치 채우기 요청을 시작할 수 있습니다. 서버 프로세스에는 게임에 연결된 플레이어 및 비어 있는 플레이어 슬롯의 상태에 대한 최신 정보가 있습니다.

이 주제에서는 필요한 FlexMatch 구성 요소를 이미 빌드했고 게임 서버 및 클라이언트 측 게임 서비스에 매치메이킹 프로세스를 성공적으로 추가했다고 가정합니다. FlexMatch 설정에 대한 자세한 내용은 [로드맵: Amazon GameLift Servers 호스팅 솔루션에 매치메이킹 추가](match-tasks.md) 섹션을 참조하십시오.

게임에 대해 매치 채우기를 활성화하려면 다음 기능을 추가합니다.
+ 매치메이킹 채우기 요청을 매치메이커에게 전송하고 요청 상태를 추적합니다.
+ 게임 세션에 대한 매치 정보를 업데이트합니다. [게임 서버의 매치 데이터 업데이트](match-backfill-server-data.md)을(를) 참조하세요.

다른 서버 기능과 마찬가지로 게임 서버는 Amazon GameLift Servers Server SDK를 사용합니다. 이 SDK는 C\$1\$1 및 C\$1에서 사용할 수 있습니다.

게임 서버에서 매치 채우기를 요청하려면 다음 작업을 완료하십시오.

1. **매치 채우기 요청을 트리거합니다.** 일반적으로, 매치 게임에 하나 이상의 빈 플레이어 슬롯이 있을 때마다 채우기 요청을 시작하려고 합니다. 중요한 캐릭터 역할을 수행하거나 팀의 균형을 맞추는 것과 같은 특정 상황에 채우기 요청을 연결하고 싶을 수 있습니다. 또한 게임 세션의 기간에 근거하여 채우기 활동을 제한하려고 할 수도 있습니다.

1. **채우기 요청을 생성합니다.** FlexMatch 매치 채우기 요청을 생성하여 FlexMatch 매치메이커에 전송하는 코드를 추가합니다. 채우기 요청은 다음 서버 API를 사용하여 처리됩니다.
   + [ StartMatchBackfill()](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk-cpp-ref-actions.html#integration-server-sdk-cpp-ref-startmatchbackfill)
   + [ StopMatchBackfill()](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk-cpp-ref-actions.html#integration-server-sdk-cpp-ref-stopmatchbackfill)

   채우기 요청을 생성하려면 다음 정보를 이용해 `StartMatchBackfill`을 호출합니다. 채우기 요청을 취소하려면 채우기 요청의 티켓 ID를 이용해 `StopMatchBackfill`을 호출합니다.
   + **티켓 ID** - 매치메이킹 티켓 ID를 제공합니다(또는 자동 생성되도록 선택). 동일한 메커니즘을 사용하여 매치메이킹 및 채우기 요청에 티켓 ID를 할당할 수 있습니다. 매치메이킹 및 채우기용 티켓은 동일한 방식으로 처리됩니다.
   + **매치메이커** - 채우기 요청에 사용할 매치메이커를 식별합니다. 일반적으로, 원본 매치를 만드는 데 사용된 매치메이커를 사용하려고 할 것입니다. 이 요청에는 매치메이킹 구성 ARN이 필요합니다. 이 정보는 게임 세션 객체([GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html))에 저장되며, 해당 객체는 게임 세션을 활성화할 때 Amazon GameLift Servers에 의해 서버 프로세스에 제공되었습니다. 매치메이킹 구성 ARN은 `MatchmakerData` 속성에 포함됩니다.
   + **게임 세션 ARN** - 채우고 있는 게임 세션을 식별합니다. 게임 세션 ARN은 서버 API [GetGameSessionId()](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk-cpp-ref-actions.html#integration-server-sdk-cpp-ref-getgamesessionid)를 호출하면 얻을 수 있습니다. 매치메이킹 프로세스에서 새 요청 티켓에는 게임 세션 ID가 없는 반면 채우기 요청 티켓에는 게임 세션 ID가 있습니다. 게임 세션 ID의 존재는 새로운 매치 티켓과 채우기 티켓의 차이를 알 수 있는 방법 중 하나입니다.
   + **플레이어 데이터** - 채우고 있는 게임 세션의 모든 기존 플레이어에 대한 플레이어 정보([플레이어](https://docs.aws.amazon.com/gamelift/latest/apireference/API_Player.html))를 포함합니다. 이 정보를 통해 매치메이커는 현재 게임 세션에 있는 플레이어에게 가장 적합한 플레이어 매치를 찾을 수 있습니다. 모든 플레이어의 팀 멤버십을 포함해야 합니다. 채우기를 사용하지 않는 경우 팀을 지정하지 마세요. 게임 서버가 플레이어 연결 상태를 정확하게 보고한 경우 다음과 같이 이 데이터를 획득할 수 있어야 합니다.

     1. 게임 세션을 호스팅하는 서버 프로세스에는 현재 게임 세션에 연결되어 있는 플레이어에 대한 최신 정보가 있어야 합니다.

     1. 플레이어 ID, 속성 및 팀 배정을 받으려면 게임 세션 객체([GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html)), `MatchmakerData` 속성에서 플레이어 데이터를 가져옵니다([매치메이커 데이터 정보](match-server.md#match-server-data) 참조). 매치메이커 데이터에는 게임 세션과 일치하는 모든 플레이어가 포함되므로 현재 연결된 플레이어에 대해서만 플레이어 데이터를 가져와야 합니다.

     1. 플레이어 지연 시간의 경우, 매치메이커가 지연 시간 데이터를 호출하면 모든 현재 플레이어의 새로운 지연 시간 값을 수집하고 해당 값을 각 `Player` 객체에 포함합니다. 지연 시간 데이터가 생략되고 매치메이커에 지연 시간 규칙이 있는 경우 요청이 일치되지 않습니다. 채우기 요청은 현재 게임 세션이 있는 리전에 대해서만 지연 시간 데이터를 필요로 합니다. `GameSession` 객체의 `GameSessionId` 속성에서 게임 세션의 리전을 얻을 수 있습니다. 이 값은 리전을 포함하는 ARN입니다.

1. **채우기 요청 상태를 추적합니다.** Amazon GameLift Servers는 서버 SDK 콜백 함수 기능 `onUpdateGameSession`을 사용하여 게임 서버에 매치 정보를 업데이트합니다([서버 프로세스 초기화](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-initialize) 참조). [게임 서버의 매치 데이터 업데이트](match-backfill-server-data.md)에서 상태 메시지를 처리하는 코드를 추가합니다. 이 코드는 채우기 요청 성공에 따라 업데이트된 게임 세션 객체 또한 처리합니다.

   매치메이커는 한 번에 한 게임 세션의 매치 채우기 요청만 처리할 수 있습니다. 요청을 취소해야 하는 경우 [StopMatchBackfill()](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk-cpp-ref-actions.html#integration-server-sdk-cpp-ref-stopmatchbackfill)을 호출합니다. 요청을 변경해야 하는 경우 `StopMatchBackfill`을 호출한 다음 업데이트한 요청을 제출합니다.

# 백엔드 서비스에서 수동 채우기 요청 생성
<a name="match-backfill-client"></a>

게임 서버에서 채우기 요청을 보내는 대신에 클라이언트 측 게임 서비스에서 채우기 요청을 보낼 수도 있습니다. 이 옵션을 사용하려면 클라이언트 측 서비스가 게임 세션 활동 및 플레이어 연결에 대한 현재 데이터에 액세스할 수 있어야 합니다. 게임에서 세션 디렉터리 서비스를 사용하는 경우 이 옵션은 적절한 선택일 수 있습니다.

이 주제에서는 필요한 FlexMatch 구성 요소를 이미 빌드했고 게임 서버 및 클라이언트 측 게임 서비스에 매치메이킹 프로세스를 성공적으로 추가했다고 가정합니다. FlexMatch 설정에 대한 자세한 내용은 [로드맵: Amazon GameLift Servers 호스팅 솔루션에 매치메이킹 추가](match-tasks.md) 섹션을 참조하십시오.

게임에 대해 매치 채우기를 활성화하려면 다음 기능을 추가합니다.
+ 매치메이킹 채우기 요청을 매치메이커에게 전송하고 요청 상태를 추적합니다.
+ 게임 세션에 대한 매치 정보를 업데이트합니다. [게임 서버의 매치 데이터 업데이트](match-backfill-server-data.md) 섹션을 참조하세요

다른 클라이언트 기능과 마찬가지로 클라이언트 측 게임 서비스는 Amazon GameLift Servers API와 함께 AWS SDK를 사용합니다. 이 SDK는 C\$1\$1, C\$1 및 기타 여러 언어로 제공됩니다. 클라이언트 API의 일반적인 설명은 Amazon GameLift Servers API 참조를 살펴보세요. 여기에는 Amazon GameLift Servers 작업에 대한 서비스 API가 설명되어 있으며 언어별 참조 가이드의 링크가 포함되어 있습니다.

클라이언트 측 게임 서비스를 설정하여 매치 게임을 채우려면 다음 작업을 완료합니다.

1. **채우기 요청을 트리거합니다.** 일반적으로 게임은 매치 게임에 하나 이상의 빈 플레이어 슬롯이 있을 때마다 채우기 요청을 시작합니다. 중요한 캐릭터 역할을 수행하거나 팀의 균형을 맞추는 것과 같은 특정 상황에 채우기 요청을 연결하고 싶을 수 있습니다. 또한 게임 세션의 기간에 근거하여 채우기 작업을 제한하려고 할 수도 있습니다. 트리거에 어떤 것을 사용하든 최소한 다음 정보가 필요합니다. 이 정보는 게임 세션 ID로 [DescribeGameSessions](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeMatchmaking.html)을 호출하여 게임 세션 객체([GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html))에서 가져올 수 있습니다.
   + *현재 비어 있는 플레이어 슬롯 수*. 이 값은 게임 세션의 최대 플레이어 한도와 현재 플레이어 수에서 계산할 수 있습니다. 현재 플레이어 수는 게임 서버가 Amazon GameLift Servers 서비스에 접속해서 새로운 플레이어 연결을 확인하거나 중단된 플레이어를 보고할 때마다 업데이트됩니다.
   + *정책 생성*. 이 설정은 게임 세션이 현재 새 플레이어를 수락하는지 여부를 나타냅니다.

    게임 세션 객체에는 게임 세션 시작 시간, 사용자 지정 게임 속성 및 매치메이커 데이터를 포함하여 잠재적으로 유용한 기타 정보가 포함됩니다.

1. **채우기 요청을 생성합니다.** FlexMatch 매치 채우기 요청을 생성하여 FlexMatch 매치메이커에 전송하는 코드를 추가합니다. 채우기 요청은 다음 클라이언트 API를 사용하여 처리됩니다.
   + [StartMatchBackfill](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartMatchBackfill.html)
   + [StopMatchmaking](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopMatchmaking.html)

   채우기 요청을 생성하려면 다음 정보를 이용해 `StartMatchBackfill`을 호출합니다. 채우기 요청은 매치메이킹 요청([플레이어에 대해 매치메이킹 요청](match-client-start.md) 참조)과 유사하지만 기존 게임 세션을 식별하기도 합니다. 채우기 요청을 취소하려면 채우기 요청의 티켓 ID를 이용해 `StopMatchmaking`을 호출합니다.
   + **티켓 ID** - 매치메이킹 티켓 ID를 제공합니다(또는 자동 생성되도록 선택). 동일한 메커니즘을 사용하여 매치메이킹 및 채우기 요청에 티켓 ID를 할당할 수 있습니다. 매치메이킹 및 채우기용 티켓은 동일한 방식으로 처리됩니다.
   + **매치메이커** - 사용할 매치메이킹 구성 이름을 식별합니다. 일반적으로 원본 매치를 만드는 데 사용한 매치메이커를 채우기용으로 사용하려고 할 것입니다. 이 정보는 매치메이킹 구성 ARN 아래 게임 세션 객체([GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html))인 `MatchmakerData` 속성에 있습니다. 이름 값은 ““matchmakingconfiguration/” 다음의 문자열입니다. (예를 들어, ARN 값 “arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MM-4v4”에서 매치메이킹 구성 이름은 “MM-4v4”임.) 
   + **게임 세션 ARN** - 채우고 있는 게임 세션을 지정합니다. 게임 세션 객체의 `GameSessionId` 속성을 사용합니다. 이 ID는 사용자에게 필요한 ARN 값을 사용합니다. 채우기 요청에 대한 매치메이킹 티켓([MatchmakingTicket](https://docs.aws.amazon.com/gamelift/latest/apireference/API_MatchmakingTicket.html))은 처리되는 동안 게임 세션 ID를 갖습니다. 새로운 매치메이킹 요청 티켓은 매치가 완료될 때까지 게임 세션 ID를 갖지 않습니다. 게임 세션 ID의 존재는 새로운 매치 티켓과 채우기 티켓의 차이를 알 수 있는 방법 중 하나입니다.
   + **플레이어 데이터** - 채우고 있는 게임 세션의 모든 기존 플레이어에 대한 플레이어 정보([플레이어](https://docs.aws.amazon.com/gamelift/latest/apireference/API_Player.html))를 포함합니다. 이 정보를 통해 매치메이커는 현재 게임 세션에 있는 플레이어에게 가장 적합한 플레이어 매치를 찾을 수 있습니다. 모든 플레이어의 팀 멤버십을 포함해야 합니다. 채우기를 사용하지 않는 경우 팀을 지정하지 마세요. 게임 서버가 플레이어 연결 상태를 정확하게 보고한 경우 다음과 같이 이 데이터를 획득할 수 있어야 합니다.

     1. 게임 세션 ID를 통해 [DescribePlayerSessions()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html)를 호출하여 게임 세션에 현재 연결되어 있는 모든 플레이어를 파악합니다. 각 플레이어 세션에는 플레이어 ID가 포함됩니다. 상태 필터를 추가하여 활성 플레이어 세션만 검색할 수 있습니다.

     1. 게임 세션 객체([GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html)), `MatchmakerData` 속성에서 플레이어 데이터를 가져옵니다([매치메이커 데이터 정보](match-server.md#match-server-data) 참조). 이전 단계에서 획득한 플레이어 ID를 사용하여 현재 연결되어 있는 플레이어의 데이터만 가져옵니다. 플레이어가 삭제되면 매치메이커 데이터가 업데이트되지 않으므로 현재 플레이어의 데이터만 추출해야 합니다.

     1. 플레이어 지연 시간의 경우 매치메이커가 지연 시간 데이터를 호출하면 모든 현재 플레이어의 새로운 지연 시간 값을 수집하고 해당 값을 `Player` 객체에 포함합니다. 지연 시간 데이터가 생략되고 매치메이커에 지연 시간 규칙이 있는 경우 요청이 일치되지 않습니다. 채우기 요청은 현재 게임 세션이 있는 리전에 대해서만 지연 시간 데이터를 필요로 합니다. `GameSession` 객체의 `GameSessionId` 속성에서 게임 세션의 리전을 얻을 수 있습니다. 이 값은 리전을 포함하는 ARN입니다.

1. **채우기 요청의 상태를 추적합니다.** 매치메이킹 티켓 상태 업데이트를 수신하기 위한 코드를 추가합니다. 이 메커니즘 설정을 이용하면 이벤트 알림(기본) 또는 폴링을 통해 새로운 매치메이킹 요청 티켓을 추적할 수 있습니다([매치메이킹 이벤트 추적](match-client-track.md) 참조). 채우기 요청으로 플레이어 수락 활동을 트리거할 필요가 없고 게임 서버에서 플레이어 정보가 업데이트되더라도, 계속 티켓 상태를 모니터링하여 요청 실패 및 재제출 작업을 처리해야 합니다.

   매치메이커는 한 번에 한 게임 세션의 매치 채우기 요청만 처리할 수 있습니다. 요청을 취소해야 하는 경우 [StopMatchmaking](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopMatchmaking.html)을 호출합니다. 요청을 변경해야 하는 경우 `StopMatchmaking`을 호출한 다음 업데이트한 요청을 제출합니다.

   매치 채우기 요청이 성공하면 게임 서버는 업데이트된 `GameSession` 객체를 수신하고 새 플레이어를 게임 세션에 참여시키는 데 필요한 작업을 처리합니다. 자세한 내용은 [게임 서버의 매치 데이터 업데이트](match-backfill-server-data.md)에서 확인하십시오.

# 게임 서버의 매치 데이터 업데이트
<a name="match-backfill-server-data"></a>

게임에서 매치 채우기 요청을 시작하는 방법에 관계없이, 게임 서버는 매치 채우기 요청의 결과로 Amazon GameLift Servers가 제공하는 게임 세션 업데이트를 처리할 수 있어야 합니다.

Amazon GameLift Servers는 성공 여부에 관계없이 매치 채우기 요청을 완료하면 `onUpdateGameSession` 콜백 함수을 사용하여 게임 서버를 호출합니다. 이 호출에는 세 가지 입력 파라미터가 있는데, 매치 채우기 티켓 ID, 상태 메시지, 플레이어 정보를 비롯한 최신 매치메이킹 데이터가 포함된 GameSesson 객체가 있습니다. 게임 서버 통합의 일환으로 게임 서버에 다음 코드를 추가해야 합니다.

1. `onUpdateGameSession` 함수를 구현합니다. 이 함수는 다음 상태 메시지(`updateReason`)를 처리할 수 있어야 합니다.
   + MATCHMAKING\$1DATA\$1UPDATED - 새로운 플레이어가 성공적으로 게임 세션에 매치되었습니다. `GameSession` 객체에는 기존 플레이어 및 새로 일치된 플레이어에 대한 플레이어 데이터를 포함하여 업데이트된 매치메이커 데이터가 포함됩니다.
   + BACKFILL\$1FAILED - 내부 오류로 인해 매치 채우기 시도가 실패했습니다. `GameSession` 객체는 변경되지 않습니다.
   + BACKFILL\$1TIMED\$1OUT - 매치메이커가 제한 시간 내에 채워진 매치를 찾지 못했습니다. `GameSession` 객체는 변경되지 않습니다.
   + BACKFILL\$1CANCELLED - 매치 채우기 요청은 StopMatchmaking(클라이언트) 또는 StopMatchBackfill(서버) 호출에 따라 취소되었습니다. `GameSession` 객체는 변경되지 않습니다.

1. 매치를 성공적으로 채우려면 새 플레이어가 게임 세션에 연결될 때 업데이트된 매치메이커 데이터를 사용하여 새 플레이어를 처리해야 합니다. 최소한 새 플레이어에 대한 팀 배정뿐만 아니라 플레이어가 게임을 시작하는 데 필요한 다른 플레이어 속성을 사용해야 합니다.

1. Server SDK 작업 [ProcessReady()](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk-cpp-ref-actions.html#integration-server-sdk-cpp-ref-processready)에 대한 게임 서버의 호출에서, 프로세스 파라미터로 `onUpdateGameSession` 콜백 메서드를 추가합니다.