다음을 통해 공유


게임에서 네트워킹 구현

이 문서에서는 게임에서 네트워킹을 구현하는 단계에 대한 요약을 제공합니다. 자세한 내용은 이 문서의 끝에 있는 참고 항목 섹션의 문서를 검토해야 합니다.

PlayFab 파티를 사용하여 네트워킹 기능 구현

PlayFab 파티는 기본 보안 통신 환경을 제공하도록 설계되었습니다. PlayFab 파티는 모든 통신(관리 데이터, 게임 데이터 및 실시간 통신)에 업계 표준 암호화 및 인증을 사용합니다. 네트워크에 대한 액세스를 제한하는 것은 무결성 보호의 핵심 부분입니다. PlayFab 파티가 멀티 플레이어 게임에서 실시간 음성 및 데이터 통신을 지원하는 방법에 대한 자세한 내용은 비동기 PlayFab 파티 작업 및 알림을 참조하세요.

네트워크에 조인하려면 네 가지가 필요합니다.

  • 네트워크 설명자에 대한 지식
  • 유효한 Microsoft Azure PlayFab title_user_account 엔터티 토큰 소유
  • 초대 식별자에 대한 지식
  • 지정된 초대에서 토큰에 대한 PlayFab 엔터티 ID가 있거나 지정된 초대가 열린 초대인 경우

초대(PartyInvitation)는 네트워크 내에서 플레이어에게 네트워크에 대한 액세스 권한을 부여하는 개체입니다. 초대에는 작성자, 고유 식별자, 취소 가능성 설정 및 엔터티 ID로 지정된 선택적 플레이어 집합이 있습니다. 네트워크에는 초대를 포함하여 많은 수의 활성 초대가 있을 수 있습니다. 네트워크는 항상 초기 초대로 만들어집니다.

PlayFab 파티 네트워크에는 최대 128명의 플레이어가 있을 수 있습니다.

  1. PlayFab 파티 SDK 다운로드 및 설정: PlayFab 파티 SDK는 게임에 대한 네트워킹 및 플레이어 통신을 제공합니다. 다양한 플랫폼 및 게임 엔진에 대한 PlayFab 파티 SDK가 있습니다. 필요한 항목을 선택하고 다운로드합니다.
  2. 플레이어 인증: Xbox 및 PC 게임에서 PlayFab 파티를 사용하는 경우 파티 Xbox Live 도우미 라이브러리 를 사용하여 일관된 기능과 동작을 보장하는 것이 좋습니다. 이 라이브러리는 타이틀이 Xbox 서비스 요구 사항을 충족하는 데 도움이 됩니다.
  3. 네트워크 만들기: 게임 세션과 함께 PlayFab 파티 네트워크를 사용하는 경우 PartyManager::CreateNewNetwork()를 사용하여 네트워크를 만들 클라이언트와 플레이어를 선택합니다.
    • 네트워크를 만드는 클라이언트는 다음을 담당합니다.
      • PartyNetworkConfiguration을 사용하여 변경할 수 없는 네트워크 구성을 설정합니다.
      • PartyInvitationConfiguration을 사용하여 초기 초대 구현 초기 초대에는 네트워크에 참가할 수 있는 식별자와 플레이어 목록이 포함됩니다. 플레이어는 엔터티 ID 목록 title_user_account 으로 지정됩니다. 목록을 비워 두면 네트워크 설명자 및 초대 식별자가 있는 모든 플레이어가 참가할 수 있습니다.
      • 다른 플레이어에게 네트워크를 광고합니다.
  4. 네트워크 보급: 기존 PlayFab 파티 네트워크에 가입하려면 클라이언트에 설명자와 식별자가 필요합니다.
    • 네트워크 설명자: PlayFab 파티 네트워크는 PartyNetworkDescriptor 네트워크 설명자로 식별됩니다.
    • 초대 식별자: 초대 식별자는 초대 를 고유하게 식별하는 문자열입니다. 초대를 명시적으로 만들거나 네트워크를 만드는 동안 초기 초대를 만들 때 클라이언트에서 제공합니다. 클라이언트가 초대 식별자를 제공하지 않으면 고유하게 생성됩니다.
    • 새 네트워크를 다른 플레이어에게 보급하려면 적절한 통신 매체를 통해 이 두 항목을 보냅니다.
  5. 네트워크 조인은 2단계 프로세스입니다. 네트워크에 가입하려는 클라이언트는 먼저 역직렬화된 네트워크 설명자를 PartyManager::ConnectToNetwork()에 제공하여 네트워크에 연결한 다음 PartyNetwork::AuthenticateLocalUser()에 초대 식별자를 제공하여 플레이어를 인증해야 합니다.
  6. 플레이어가 네트워크에 가입한 후 PartyNetwork::CreateEndpoint를 사용하여 게임 메시지 트래픽에 대한 네트워크 엔드포인트를 설정합니다.

네트워크 조인에는 세 가지 시나리오가 있습니다.

  1. 네트워크-소셜 초대에 참여: 가장 간단한 시나리오는 단일 플레이어가 게임 세션을 만들고 공유 소셜 플랫폼을 통해 알려진 다른 플레이어를 초대하려는 경우입니다.
    1. 초대자는 열린 초대 또는 초대가 재생하려는 모든 플레이어가 포함된 초대를 사용하여 네트워크를 만듭니다.
    2. 네트워크를 만든 후 초대자는 소셜 플랫폼의 초대 메커니즘을 통해 네트워크 설명자와 초대 식별자를 다른 플레이어에게 보냅니다.
    3. 초대된 각 플레이어는 네트워크 설명자 및 초대 식별자를 사용하여 네트워크에 연결합니다.
  2. 네트워크 로비 가입: 게임에서 클라이언트 간에 데이터를 보낼 수 있는 로비를 제공하는 경우 네트워크 연결 정보를 교환하기 위한 통신 매체로 사용할 수 있습니다.
    1. 함께 게임을 플레이하기 위해 플레이어 집합이 선택됩니다. 해당 플레이어 중 하나가 작성자로 선택됩니다.
    2. 세트의 각 플레이어는 title_user_account 엔터티 ID를 작성자에 보냅니다.
    3. 작성자는 초기 초대 구성에서 플레이어의 엔터티 ID를 지정하여 네트워크를 만듭니다.
    4. 네트워크 만들기가 완료되면 작성자는 네트워크 설명자 및 초기 초대 식별자를 참가하려는 플레이어 집합에 보냅니다.
    5. 각 플레이어는 네트워크 설명자 및 초대 식별자를 사용하여 네트워크에 연결합니다.
  3. 네트워크 매치 메이킹 서비스 참가: PlayFab 매치 메이킹과 같은 매치 메이킹 서비스를 사용하여 플레이할 플레이어 목록을 찾을 수 있습니다.
    1. 플레이어는 서비스를 사용하여 매치 요청을 시작합니다. 일치 결과에는 각 플레이어의 엔터티 ID가 포함되어야 하므로 title_user_account 엔터티 ID가 요청의 일부여야 합니다.
    2. 플레이어는 네트워크의 일부가 되고자 하는 플레이어 집합이 포함된 매치 결과를 받습니다.
    3. 미리 결정된 알고리즘은 작성자가 될 플레이어를 선택하는 데 사용됩니다.
    4. 작성자는 초기 초대 구성에서 일치하는 다른 플레이어의 엔터티 ID를 지정하여 네트워크를 만듭니다.
    5. 네트워크 만들기가 완료되면 작성자는 전자 메일 또는 메시징 앱과 같은 대역 외 통신 매체를 사용하여 네트워크 설명자 및 초기 초대 식별자를 일치하는 다른 플레이어에게 보냅니다.
    6. 일치하는 각 플레이어는 네트워크 설명자 및 초대 식별자를 사용하여 네트워크에 연결합니다.

참고 항목

PlayFab 설명서는 최신 정보의 가장 좋은 소스입니다. 자세한 내용은 다음 문서를 참조하세요.