> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PlayFab Multiplayer Servers와 통합

> 완료된 각 매치에 Multiplayer Server 빌드 또는 빌드 별칭을 자동으로 할당하도록 PlayFab 매치메이킹 큐를 구성하는 방법을 알아봅니다.

매치메이킹에는 결과 매치에 대한 게임 서버를 자동으로 만들 수 있는 옵션이 포함되어 있습니다. 할당된 서버는 큐의 구성에 구성된 빌드를 실행합니다. 시작 시 서버는 초기 플레이어 목록으로 매치의 멤버가 전달됩니다.

매치메이킹 큐는 단일 멀티플레이어 서버 빌드 또는 빌드 별칭에 연결됩니다.

## 매치메이킹과 서버의 직접 통합을 사용하기 위한 요구 사항

매치메이킹에서 멀티플레이어 서버를 할당하려면 먼저 빌드를 구성하고 배포해야 합니다. 선택적으로 빌드 별칭을 만들어 사용할 수도 있습니다. 빌드 별칭은 타이틀 사용에 더 많은 유연성을 허용하므로 선호됩니다. 여기서 제공하는 링크를 따라 [Multiplayer Server 빌드](/services/playfab/multiplayer/servers/deploying-playfab-multiplayer-server-builds) 및 [Multiplayer Server 빌드 별칭](/services/playfab/multiplayer/servers/allocating-with-build-alias)에 대한 자세한 정보를 얻으세요.

또한 매치메이킹은 빌드에 최적의 지역에서 매치가 할당될 수 있도록 큐에 지역 선택 규칙을 추가해야 합니다. 지역 선택 규칙에 전달되는 대기 시간 측정값은 빌드가 활성 상태인 지역과 일치해야 합니다. 지역 선택 규칙에 특성을 전달하는 방법에 대한 자세한 내용은 [지역 선택 규칙](/services/playfab/multiplayer/matchmaking/ticket-attributes#region-selection-rule)을 참조하세요.

## 큐에 대한 서버 할당 활성화

큐에 대한 서버 할당을 사용 설정하려면 큐 구성 페이지에서 **Enable server allocation** 확인란을 사용 설정해야 합니다. 사용 설정한 후에는 **Build alias** 또는 **Build Id**를 선택합니다. 큐에서 사용할 올바른 값을 드롭다운에서 선택합니다. 이 기능을 사용 설정하면 매치메이킹은 큐 내에서 만들어진 모든 매치에 대해 서버를 할당하려고 시도합니다.

다음 예시는 Build Id를 사용하는 멀티플레이어 서버 통합이 있는 큐의 구성이 어떻게 보이는지 나타냅니다.

```json theme={null}
"MatchmakingQueue": {
    "Name": "ServerEnabledQueue",
    "MinMatchSize": 2,
    "MaxMatchSize": 2,
    "ServerAllocationEnabled": true,
    "BuildId": "88b3e315-829c-4b6d-9872-74f427ad5331",
	"RegionSelectionRule": {
		"MaxLatency": 1000,
		"Path": "Latencies",
		"Weight": 1.0,
		"Name": "RegionSelectionRule"
	}
}
```

빌드 별칭을 사용하는 동일한 예시입니다.

```json theme={null}
"MatchmakingQueue": {
    "Name": "ServerEnabledQueue",
    "MinMatchSize": 2,
    "MaxMatchSize": 2,
    "ServerAllocationEnabled": true,
    "BuildAliasParams": {
        "AliasId": "d14e2ac7-ea51-47aa-a7ba-cc427ab74f9s"
    },
	"RegionSelectionRule": {
		"MaxLatency": 1000,
		"Path": "Latencies",
		"Weight": 1.0,
		"Name": "RegionSelectionRule"
	}
}
```

서버 할당이 사용 설정되어 있어도 매치메이킹에 대한 호출 흐름은 동일하게 유지됩니다. 매치메이킹이 매치에 대한 서버를 할당하면 [GetMatch](xref:titleid.playfabapi.com.multiplayer.matchmaking.getmatch)를 호출하여 매치 개체 자체에서 결과 서버 세부 정보를 읽을 수 있습니다.

서버 할당이 사용 설정된 큐에 대한 `GetMatch` 호출에 대한 샘플 응답이 아래에 제공됩니다.

```json theme={null}
{
    "MatchId": "7c36330d-46b5-443f-8d8f-10390bce09d5",
    "Members": [{
        "TeamId": "",
        "Entity": {
            "Id": "67282A13A1A58910",
            "Type": "title_player_account",
            "TypeString": "title_player_account"
        },
        "Attributes": {
            "DataObject": null,
            "EscapedDataObject": "{\"StringEqualityRulePath\":\"0bc42969-76b1-4dcb-871d-d6e19cee741b\"}"
        }
    },
    {
        "TeamId": "",
        "Entity": {
            "Id": "6DB2B17FD21CC230",
            "Type": "title_player_account",
            "TypeString": "title_player_account"
        },
        "Attributes": {
            "DataObject": null,
            "EscapedDataObject": "{\"StringEqualityRulePath\":\"0bc42969-76b1-4dcb-871d-d6e19cee741b\"}"
        }
    }],
    "RegionPreferences": ["WestUs", " EastUs"],
    "ServerDetails": {
        "IPV4Address": "40.76.31.170",
        "Ports": [{
            "Name": "game_port",
            "Num": 30003
        }]
    }
}
```

클라이언트는 응답의 서버 세부 정보 섹션에서 IP와 포트를 사용하여 서버에 연결할 수 있습니다. 클라이언트를 멀티플레이어 서버에 연결하는 방법에 대한 자세한 내용은 [클라이언트를 서버에 연결](/services/playfab/multiplayer/servers/connecting-clients-to-game-servers)을 참조하세요.

<Note>
  빌드의 한 지역에 용량이 부족해지면 매치메이킹은 해당 지역의 큐에 대한 매치를 할당할 수 없습니다. 매치메이킹은 티켓이 만료될 때까지 할당을 계속 재시도합니다. 멀티플레이어 용량을 늘리려면 [증가된 코어 제한 및 추가 Azure 지역 액세스](/services/playfab/multiplayer/servers/identifying-and-increasing-core-limits)를 참조하세요.
</Note>

## 게임 서버에 전달되는 정보

다음은 매치메이킹이 서버에 전달하는 정보 목록입니다.

* **SessionId** - 서버의 `SessionId`는 매치의 MatchId와 같습니다.
* **InitialPlayers** - 이 값은 매치의 멤버 목록으로 설정됩니다. 플레이어 목록은 [GSDK](/services/playfab/multiplayer/servers/integrating-game-servers-with-gsdk)를 사용하여 게임에서 읽을 수 있습니다.
* **PreferredRegions** - 이 필드는 매치의 `RegionPreferences` 필드로 설정됩니다. 게임 서버 서비스는 이 목록에서 서버에 적합한 지역을 선택합니다.

매치메이킹은 게임 서버에 티켓 특성을 전달하지 않습니다. 게임이 서버에서 티켓 특성에 액세스해야 하는 경우 `ReturnMemberAttributes` 헤더를 `true`로 하여 [GetMatch](xref:titleid.playfabapi.com.multiplayer.matchmaking.getmatch)를 호출하여 액세스할 수 있습니다.

<Note>
  최근에 서버 할당 중 큐 이름 전달을 사용 설정했습니다. 이 기능은 미리 보기 상태이며 [여기](https://github.com/PlayFab/MpsSamples/blob/main/MatchmakeSample/matchMakingAndMps.md)에서 자세한 내용을 읽을 수 있습니다.
</Note>


## Related topics

- [Multiplayer with PlayFab](/ko/services/playfab/multiplayer/mpintro.md)
- [게임 서버 로컬 디버깅 및 PlayFab과의 통합](/ko/services/playfab/multiplayer/servers/locally-debugging-game-servers-and-integration-with-playfab.md)
- [PlayFab 게임 서버 기본](/ko/services/playfab/multiplayer/servers/basics-of-a-playfab-game-server.md)
- [PlayFab Lobby & Match와의 통합](/ko/services/xbox-services/multiplayer/mpa/concepts/live-mpa-playfab-integration.md)
- [게임 서버 빌드 작성](/ko/services/playfab/multiplayer/servers/author-a-game-server-build.md)
