이 문서에서는 게임에서 네트워킹을 구현하는 단계에 대한 요약을 제공합니다. 자세한 내용은 이 문서의 끝에 있는 참고 항목 섹션의 문서를 검토해야 합니다.
PlayFab 파티를 사용하여 네트워킹 기능 구현
PlayFab 파티는 기본 보안 통신 환경을 제공하도록 설계되었습니다. PlayFab 파티는 모든 통신(관리 데이터, 게임 데이터 및 실시간 통신)에 업계 표준 암호화 및 인증을 사용합니다. 네트워크에 대한 액세스를 제한하는 것은 무결성 보호의 핵심 부분입니다. PlayFab 파티가 멀티 플레이어 게임에서 실시간 음성 및 데이터 통신을 지원하는 방법에 대한 자세한 내용은 비동기 PlayFab 파티 작업 및 알림을 참조하세요.
네트워크에 조인하려면 네 가지가 필요합니다.
- 네트워크 설명자에 대한 지식
- 유효한 Microsoft Azure PlayFab
title_user_account엔터티 토큰 소유 - 초대 식별자에 대한 지식
- 지정된 초대에서 토큰에 대한 PlayFab 엔터티 ID가 있거나 지정된 초대가 열린 초대인 경우
초대(PartyInvitation)는 네트워크 내에서 플레이어에게 네트워크에 대한 액세스 권한을 부여하는 개체입니다. 초대에는 작성자, 고유 식별자, 취소 가능성 설정 및 엔터티 ID로 지정된 선택적 플레이어 집합이 있습니다. 네트워크에는 초대를 포함하여 많은 수의 활성 초대가 있을 수 있습니다. 네트워크는 항상 초기 초대로 만들어집니다.
PlayFab 파티 네트워크에는 최대 128명의 플레이어가 있을 수 있습니다.
- PlayFab 파티 SDK 다운로드 및 설정: PlayFab 파티 SDK는 게임에 대한 네트워킹 및 플레이어 통신을 제공합니다. 다양한 플랫폼 및 게임 엔진에 대한 PlayFab 파티 SDK가 있습니다. 필요한 항목을 선택하고 다운로드합니다.
- 플레이어 인증: Xbox 및 PC 게임에서 PlayFab 파티를 사용하는 경우 파티 Xbox Live 도우미 라이브러리 를 사용하여 일관된 기능과 동작을 보장하는 것이 좋습니다. 이 라이브러리는 타이틀이 Xbox 서비스 요구 사항을 충족하는 데 도움이 됩니다.
- 네트워크 만들기: 게임 세션과 함께 PlayFab 파티 네트워크를 사용하는 경우 PartyManager::CreateNewNetwork()를 사용하여 네트워크를 만들 클라이언트와 플레이어를 선택합니다.
- 네트워크를 만드는 클라이언트는 다음을 담당합니다.
- PartyNetworkConfiguration을 사용하여 변경할 수 없는 네트워크 구성을 설정합니다.
-
PartyInvitationConfiguration을 사용하여 초기 초대 구현 초기 초대에는 네트워크에 참가할 수 있는 식별자와 플레이어 목록이 포함됩니다. 플레이어는 엔터티 ID 목록
title_user_account으로 지정됩니다. 목록을 비워 두면 네트워크 설명자 및 초대 식별자가 있는 모든 플레이어가 참가할 수 있습니다. - 다른 플레이어에게 네트워크를 광고합니다.
- 네트워크를 만드는 클라이언트는 다음을 담당합니다.
- 네트워크 보급: 기존 PlayFab 파티 네트워크에 가입하려면 클라이언트에 설명자와 식별자가 필요합니다.
- 네트워크 설명자: PlayFab 파티 네트워크는 PartyNetworkDescriptor 네트워크 설명자로 식별됩니다.
- 초대 식별자: 초대 식별자는 초대 를 고유하게 식별하는 문자열입니다. 초대를 명시적으로 만들거나 네트워크를 만드는 동안 초기 초대를 만들 때 클라이언트에서 제공합니다. 클라이언트가 초대 식별자를 제공하지 않으면 고유하게 생성됩니다.
- 새 네트워크를 다른 플레이어에게 보급하려면 적절한 통신 매체를 통해 이 두 항목을 보냅니다.
- 네트워크 조인은 2단계 프로세스입니다. 네트워크에 가입하려는 클라이언트는 먼저 역직렬화된 네트워크 설명자를 PartyManager::ConnectToNetwork()에 제공하여 네트워크에 연결한 다음 PartyNetwork::AuthenticateLocalUser()에 초대 식별자를 제공하여 플레이어를 인증해야 합니다.
- 플레이어가 네트워크에 가입한 후 PartyNetwork::CreateEndpoint를 사용하여 게임 메시지 트래픽에 대한 네트워크 엔드포인트를 설정합니다.
네트워크 조인에는 세 가지 시나리오가 있습니다.
- 네트워크-소셜 초대에 참여: 가장 간단한 시나리오는 단일 플레이어가 게임 세션을 만들고 공유 소셜 플랫폼을 통해 알려진 다른 플레이어를 초대하려는 경우입니다.
- 초대자는 열린 초대 또는 초대가 재생하려는 모든 플레이어가 포함된 초대를 사용하여 네트워크를 만듭니다.
- 네트워크를 만든 후 초대자는 소셜 플랫폼의 초대 메커니즘을 통해 네트워크 설명자와 초대 식별자를 다른 플레이어에게 보냅니다.
- 초대된 각 플레이어는 네트워크 설명자 및 초대 식별자를 사용하여 네트워크에 연결합니다.
- 네트워크 로비 가입: 게임에서 클라이언트 간에 데이터를 보낼 수 있는 로비를 제공하는 경우 네트워크 연결 정보를 교환하기 위한 통신 매체로 사용할 수 있습니다.
- 함께 게임을 플레이하기 위해 플레이어 집합이 선택됩니다. 해당 플레이어 중 하나가 작성자로 선택됩니다.
- 세트의 각 플레이어는 title_user_account 엔터티 ID를 작성자에 보냅니다.
- 작성자는 초기 초대 구성에서 플레이어의 엔터티 ID를 지정하여 네트워크를 만듭니다.
- 네트워크 만들기가 완료되면 작성자는 네트워크 설명자 및 초기 초대 식별자를 참가하려는 플레이어 집합에 보냅니다.
- 각 플레이어는 네트워크 설명자 및 초대 식별자를 사용하여 네트워크에 연결합니다.
- 네트워크 매치 메이킹 서비스 참가: PlayFab 매치 메이킹과 같은 매치 메이킹 서비스를 사용하여 플레이할 플레이어 목록을 찾을 수 있습니다.
- 플레이어는 서비스를 사용하여 매치 요청을 시작합니다. 일치 결과에는 각 플레이어의 엔터티 ID가 포함되어야 하므로 title_user_account 엔터티 ID가 요청의 일부여야 합니다.
- 플레이어는 네트워크의 일부가 되고자 하는 플레이어 집합이 포함된 매치 결과를 받습니다.
- 미리 결정된 알고리즘은 작성자가 될 플레이어를 선택하는 데 사용됩니다.
- 작성자는 초기 초대 구성에서 일치하는 다른 플레이어의 엔터티 ID를 지정하여 네트워크를 만듭니다.
- 네트워크 만들기가 완료되면 작성자는 전자 메일 또는 메시징 앱과 같은 대역 외 통신 매체를 사용하여 네트워크 설명자 및 초기 초대 식별자를 일치하는 다른 플레이어에게 보냅니다.
- 일치하는 각 플레이어는 네트워크 설명자 및 초대 식별자를 사용하여 네트워크에 연결합니다.
참고 항목
PlayFab 설명서는 최신 정보의 가장 좋은 소스입니다. 자세한 내용은 다음 문서를 참조하세요.