> ## 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.

# Multiplayer with PlayFab

> Lobby, Matchmaking, Party 네트워킹 및 음성 채팅, 호스팅된 게임 빌드용 Multiplayer Servers를 다루는 PlayFab 멀티플레이어 서비스 소개입니다.

멀티플레이어는 많은 타이틀에 훌륭한 추가 요소이며, PlayFab은 멀티플레이어 시나리오에 초점을 맞춘 여러 서비스를 제공합니다.

| 서비스                                                      | 설명                                              |
| -------------------------------------------------------- | ----------------------------------------------- |
| [Lobby](/services/playfab/multiplayer/lobby)             | 게임 전 또는 매치메이킹 후 그룹 간의 게임 플레이를 조율하기 위한 lobby 만들기 |
| [Matchmaking](/services/playfab/multiplayer/matchmaking) | 사용자 지정 매치메이킹 규칙을 배포하여 플레이어를 빠르게 그룹화             |
| [Party](/services/playfab/multiplayer/networking)        | 네트워킹 및 접근 가능한 게임 내 채팅으로 플레이어를 연결                |
| [Servers](/services/playfab/multiplayer/servers)         | Azure에서 사용자 지정 멀티플레이어 서버를 동적으로 확장               |

타이틀은 이러한 모든 서비스를 조합하여 사용할 수 있지만, 독립적으로 사용할 수도 있으며 이는 매우 일반적입니다. 예를 들어, 타이틀은 PlayFab 매치메이킹을 사용하지만 대체 멀티플레이어 서버 호스팅 솔루션에서 서버를 할당할 수 있습니다. 또는 게임은 호스팅에 PlayFab 멀티플레이어 서버를 사용하지만, 자체 매치메이킹 시스템을 사용하여 플레이어를 모을 수 있습니다.

점점 더 많은 게임이 서로 다른 신원 도메인의 플레이어가 서로 참여하는 *크로스 네트워크* 경험을 구축하고 있습니다 (예: XBOX Live 플레이어가 Steam 플레이어와 사용자 지정 신원 시스템 플레이어와 상호 작용). PlayFab의 서비스는 크로스 프로그레션 및 크로스 네트워크 플레이를 지원하도록 설계되었습니다.

## 멀티플레이어 시나리오 예시

PlayFab은 다양한 멀티플레이어 모드를 지원하도록 설계되었습니다. 아래는 하나의 다소 정교한 타이틀에 통합될 수 있는 모드 목록입니다. 이 섹션에서는 PlayFab 서비스를 사용하여 이러한 경험을 구현하는 방법을 간략하게 제안합니다.

|게임 모드 | 최대 플레이어 수 | Matchmaking | Backfill | 친구 초대 | 요청하지 않은 진행 중 참가 | Chat | Server Model|
\|--|--|--|--|--|--|--|--|--|
|**싱글 플레이어 캠페인** | 1 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 |
|**협동 캠페인** | 4 | 아니요 | 아니요 | **예** | **예** | **예** | P2P |
|**게임 내 파티**  | 8 | 아니요 | 아니요 | **예** | **예** | **예** | P2P |
|**캐주얼 소규모 세션**  | 8 | **예** | **예** | **예** | **예** | **예** | P2P |
|**캐주얼 대규모 세션**  | 32 | **예** | **예** | **예** | **예** | **예** | Cloud Server |
|**경쟁 소규모 세션** | 8 | **예** | 아니요 | **예** | 아니요 | **예** | Cloud Server |
|**경쟁 대규모 세션** | 32 | **예** | 아니요 | **예** | 아니요 | **예** | Cloud Server |

### 게임 내 파티와 요청하지 않은 진행 중 참가

플레이어는 종종 함께 플레이할 사람을 제어하고 싶어 하며, 친구나 유사한 성향의 플레이어를 우선적으로 선택합니다. PlayFab Lobby는 런타임에 플레이어를 그룹화하는 것을 용이하게 하도록 설계되었으며, 검색 가능성과 참가 가능성에 대한 액세스 컨트롤이 내장되어 있습니다. 플레이어는 친구 참가나 특정 게임 모드 플레이 등 필요에 맞는 어떤 열린 lobby든 검색하고 참가할 수 있습니다.

플레이어는 동시에 여러 Lobby의 구성원이 될 수도 있습니다. 이를 통해 세 명의 친구가 여러 매치에 걸쳐 다른 사람들과 매치메이킹을 하면서도 그룹으로 유지되도록 허용하는 등의 유연한 플레이어 그룹화를 만들 수 있습니다.

내장된 [실시간 메시지](/services/playfab/multiplayer/lobby/lobby-and-matchmaking-real-time-messages)를 사용하여 Lobby의 구성원은 구성원의 참가 또는 이탈, Lobby에 데이터가 기록되는 것과 같은 변경이 발생할 때 실시간 메시지를 받을 수 있습니다. 동일한 실시간 메시지 메커니즘은 크로스 플랫폼 초대에 사용될 수 있으며, 이를 통해 플레이어는 Lobby의 구성원이든 아니든 초대를 수신 대기할 수 있습니다. 플랫폼은 토스트를 실행하고 기타 유익한 경험(플레이어 프로필 카드에서의 진행 중 참가)을 갖는 내장된 초대 및 프레즌스 시스템을 제공할 수 있으며, 해당되는 경우 통합을 고려해야 합니다.

시그널링 및 기타 제한된 데이터 공유에는 Lobby를 사용할 수 있지만, PlayFab Party는 실시간 데이터 전송 및 채팅에 가장 적합합니다. PlayFab Lobby는 PlayFab Party 네트워크 설명자 또는 PlayFab 멀티플레이어 서버 세션 세부 정보를 그룹의 데이터 스토리지에 공유하는 데 사용할 수 있습니다. 이러한 세션 정보의 공유를 통해 플레이어는 요청 없이 친구의 세션에 참가할 수 있습니다. 실시간 네트워킹이나 게임 호스팅에 PlayFab이 아닌 서비스를 사용하는 경우, 이러한 시스템에는 일반적으로 Lobby를 사용하여 플레이어 간에 유사하게 시그널링할 수 있는 식별 정보가 있습니다.

* [Lobby에 대한 자세한 내용](/services/playfab/multiplayer/lobby)
* [Party에 대한 자세한 내용](/services/playfab/multiplayer/networking)

### Matchmaking 및 backfill

플레이어는 모르는 새로운 사람들과 플레이하고 싶어할 수 있으며, 균형 잡힌 익명 매치메이킹 경험은 많은 멀티플레이어 게임의 핵심입니다. PlayFab Matchmaking은 사용자 지정한 규칙을 사용하여 플레이어를 빠르게 모으도록 설계되었습니다.

플레이어 또는 플레이어 그룹이 함께 플레이하려고 할 때, 한 플레이어가 자신 또는 전체 그룹을 위한 매치메이킹 티켓을 만듭니다. PlayFab Matchmaking은 사용자가 팀으로 함께 매치메이킹에 제출될 수 있도록 허용하며, 참가 흐름은 그룹의 모든 플레이어가 함께 매치되는 것에 동의하는지 확인합니다. 서비스는 또한 backfill 티켓을 허용하며, 이는 게임 중에 나가는 플레이어를 교체하는 데 사용될 수 있습니다. 진행 중 참가 및 backfill 기능은 캐주얼 게임 세션을 최대한 가득 채우는 데 도움이 되는 메커니즘입니다.

매치된 플레이어들 간의 런타임 그룹화 및 시그널링을 위해 [Lobby와 Matchmaking을 함께 사용](/services/playfab/multiplayer/lobby/lobby-and-matchmaking)하세요. PlayFab Matchmaking은 PlayFab Multiplayer Servers와 통합되어 완료된 티켓에 대한 서버 할당을 단순화하고 매치 보안을 개선합니다. 또한 PlayFab Matchmaking 티켓은 CloudScript를 트리거할 수 있는 PlayStream 이벤트를 발생시키므로, 매치메이킹을 자체 멀티플레이어 시스템과 통합하는 데 도움이 될 수 있습니다.

* [Matchmaking에 대한 자세한 내용](/services/playfab/multiplayer/matchmaking)

### 채팅

PlayFab Party는 게임 데이터를 위한 네트워크 전송 외에도 실시간 음성 및 텍스트 채팅 기능을 포함하여 세션 기반 게임에 플레이어 커뮤니케이션을 빠르게 추가할 수 있습니다. PlayFab Party는 각 네트워크에 대한 사용자 지정된 음소거 규칙과 함께 여러 네트워크에서 동시에 플레이어의 프레즌스를 활성화합니다. 이는 채널과 복잡한 채팅 관계를 구현할 수 있는 유연성을 제공합니다.

Party는 Azure Cognitive Services를 활용하여 플레이어의 음성 채팅을 텍스트로 변환하고 텍스트를 음성으로 합성합니다. 이 기능은 여러 용도가 있지만 주로 접근성 보조 수단으로 설계되었습니다. Party는 플레이어 채팅을 텍스트로 변환할 뿐만 아니라 채팅을 실시간으로 번역합니다. 익명 매치메이킹 및 국제 경쟁 게임에서 이러한 텍스트 변환 및 번역 기능은 더욱 몰입감 있는 멀티플레이어 경험을 만들어 줍니다.

* [Party에 대한 자세한 내용](/services/playfab/multiplayer/networking)

### 게임 호스팅

실시간 멀티플레이어 게임은 일반적으로 게임 상태를 호스팅할 특정 플레이어 디바이스를 선택하거나(“피어 투 피어”라고도 함) 전용 멀티플레이어 서버를 사용합니다. 플레이어 디바이스에서 게임을 호스팅할 때, PlayFab Party는 세션 참여자 간에 이 게임 상태를 동기화하기 위한 이상적인 저지연 디바이스 간 네트워킹 시스템입니다.

디바이스 수가 늘어나면 피어 투 피어 게임을 확장하기 어렵습니다. PlayFab Party가 네트워크 암호화를 제공하고 릴레이를 사용하여 플레이어 IP 주소를 보호하지만, 디바이스가 호스트로 동작하면 여전히 부정 행위의 경로가 열립니다.

PlayFab Multiplayer Servers는 Azure의 글로벌 클라우드에서 멀티플레이어를 간단하고 효율적으로 확장할 수 있게 합니다. 작은 서버(예: F2v2 Linux 가상 머신에서 각각 10명의 플레이어가 있는 세션 10개를 로드하는 것)를 사용하면 P2P 구현과 비교하여 멀티플레이어 설계를 효율적이고 극적으로 단순화하고 안정성을 향상시킬 수 있습니다. 서버 빌드 구성을 설정하여 세션에 더 많은 Azure 리소스를 할당함으로써 (예: 200명의 플레이어 경험을 위해 8개 이상의 코어를 사용하여) 정교한 멀티플레이어 계산을 달성할 수 있습니다.

* [Party에 대한 자세한 내용](/services/playfab/multiplayer/networking)
* [Multiplayer Servers에 대한 자세한 내용](/services/playfab/multiplayer/servers)

## 함께 보기

* [Leaderboards](/services/playfab/community/leaderboards)로 플레이어 순위를 추적하고 공유
* [Groups](/services/playfab/community/associations/groups)를 사용하여 장기간에 걸쳐 플레이어 그룹을 추적
* [CloudScript](/services/playfab/live-service-management/service-gateway/automation/cloudscript)를 사용하여 유연한 클라우드 기반 코드로 플레이어 활동에 실시간으로 반응


## Related topics

- [PlayFabMultiplayer](/ko/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/PlayFabMultiplayer.md)
- [PlayFabMultiplayer.PlayFabMultiplayerServer](/ko/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer.PlayFabMultiplayerServer/PlayFabMultiplayerServer.md)
- [PlayFab Multiplayer 문서](/ko/services/playfab/multiplayer/index.md)
- [PlayFabMultiplayer.Initialize](/ko/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/Initialize.md)
- [PlayFabMultiplayer.Uninitialize](/ko/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/Uninitialize.md)
