타이틀 서비스
이 예시 시나리오의 사용자 지정 타이틀 서비스 중 하나는 인증 서비스입니다. 이 인증 서비스는 XBOX Live(또는 기타 멀티플레이어 네트워크) 계정을 타이틀별 플레이어 계정에 연결하는 계정 연결에 사용됩니다. 플레이어가 처음 인증 서비스에 연결하면 계정 연결이 자동으로 수행되고 새로운 크로스 네트워크 플레이어 ID가 만들어집니다. XBOX Live의 경우 플레이어의 XUID는 타이틀별 계정에 연결된 고유한 플레이어 식별자로 사용됩니다. XUID 액세스는 사용 전에 승인을 받아야 하며 developer account manager(DAM)와 논의해야 합니다. 타이틀별 계정에는 전역 고유 식별자(GUID)가 있어 모든 타이틀 서비스가 네트워크 원본 및 저장된 플레이어 메타데이터와 관계없이 플레이어를 처리할 수 있습니다. 이 예시 시나리오에서 멀티플레이어 네트워크 및 기본 게임플레이 플레이어 통계는 이 계정에 저장됩니다.타이틀 서비스는 타이틀별 계정의 멀티플레이어 네트워크 정보를 사용하여 멀티플레이어 기능이 XBOX Live 플레이어에게만 제한될 수 있도록 합니다.
타이틀 흐름
일반적인 멀티플레이어 게임의 경우, 크로스 네트워크 기능에 대한 준수 흐름은 플레이어가 멀티플레이어 모드에 진입할 때 시작됩니다. 이 예시 시나리오에서 타이틀은 다음 단계를 수행합니다.- 권한 유효성 검사. 멀티플레이어 세션을 시작하기 전에 타이틀은 멀티플레이어 권한(254 및 189)의 유효성을 검사합니다. 권한이 거부되면 타이틀은 멀티플레이어 모드에 진입하지 않습니다. 타이틀은 또한 통신 권한(252)을 확인하고 그에 따라 음성 및 텍스트 채팅을 종료하거나 비활성화해야 합니다.
- 크로스 네트워크 권한 유효성 검사. 이 예시 시나리오의 경우 타이틀은 크로스 네트워크 게임플레이를 기본 매치메이킹 경험에 통합합니다. 플레이어가 매치메이킹 경험에 진입하면 타이틀은 크로스 네트워크 플레이 권한(185)의 유효성을 검사합니다. 권한이 거부되면 XBOX Live 내에서의 매치메이킹만 가능합니다. 플레이어가 처음으로 크로스 네트워크 게임플레이에 배치될 때 타이틀은 크로스 네트워크 게임플레이가 활성 상태라는 알림을 표시합니다.
- 팀 매치메이킹. 타이틀 매치메이킹 서비스는 매치메이킹 규칙에 따라 크로스 네트워크 플레이어로 팀을 구성합니다.
- 팀 또는 로비 Multiplayer Session Directory(MPSD) 세션 만들기 및 참가. 타이틀 매치메이킹 서비스는 XBOX Live에 대한 서비스 간 호출을 통해 Multiplayer Session Directory(MPSD) 로비 세션을 만듭니다. 모든 XBOX Live 플레이어는 이 로비 세션에 참가합니다. 이 서비스는 사용자 지정 속성을 사용하여 XBOX Live를 사용하지 않는 세션 내 플레이어에 대한 힌트를 추가로 제공합니다. 그런 다음 이러한 힌트는 다음 단계에서 세션 상태를 설정하기 위한 클라이언트 논리에서 사용할 수 있습니다.
- 팀 또는 로비 MPSD 세션 설정. XBOX Live 클라이언트는 로비 세션을 활동 세션으로 설정합니다. 세션 참가 가능 여부와 닫힘 상태는 크로스 네트워크 플레이어 상태에 따라 설정되어야 합니다. XBOX Live 플레이어는 크로스 네트워크 팀에 남아 있는 한 이 세션에 남아 있습니다. 세션이 가득 차면(또는 흐름에서 나중에 가득 차면) 서비스나 로비 중재자가 세션을 닫힘으로 설정해야 합니다. 더 이상 플레이어 슬롯이 없는 활동 세션은 절대 참가 가능해서는 안 됩니다.
- 팀 로비. 팀 로비에는 XBOX Live 플레이어와 다른 멀티플레이어 플랫폼의 플레이어가 모두 있습니다. 음성 채팅은 사용자 지정 타이틀 서비스를 통해 XBOX Live 플레이어 간에 활성화됩니다. 모든 플레이어(XBOX Live/XBOX Live 및 XBOX Live/XBOX Live를 사용하지 않는 플레이어) 간의 음성 채팅은 필요한 모든 개인 정보 보호 및 사용 권한 확인의 유효성 검사 후에만 활성화됩니다. XBOX Live를 사용하지 않는 친구 관계의 경우 타이틀은 XBOX Live를 사용하지 않는 친구의 네트워크 친구 관계 데이터를 사용합니다. 팀 로비에서 XBOX Live 플레이어와 XBOX Live를 사용하지 않는 플레이어는 타이틀 계정 ID로 고유하게 식별됩니다. 모든 플레이어 식별자에는 게이머태그와 다른 멀티플레이어 네트워크에 해당하는 플레이어 이름도 표시됩니다. 다음 스크린샷은 로비 내 플레이어 명단 UI의 예시를 보여 줍니다. 로비 UI에서 팀 리더는 다음 단계를 위한 매치 속성(레벨 또는 사용자 지정 규칙 등)을 선택하여 다른 팀과의 게임 세션을 찾은 다음 매치를 시작합니다.
- 게임 세션 매치메이킹. 기존 크로스 네트워크 팀은 팀 리더가 설정한 추가 매치 속성과 함께 매치메이킹에 제출됩니다. 이러한 속성은 매치에 대한 두 팀의 새로운 세트에서 가장 적합한 매치 결과를 식별하는 데 사용됩니다. 이 시점에서 매치 서비스는 또한 두 팀에 대한 전용 서버를 식별합니다.
- 게임 MPSD 세션 만들기 및 참가. 익명 게임 세션 매치메이킹의 결과는 XBOX Live에 대한 서비스 간 호출을 통해 매치 서비스(또는 전용 서비스)가 만든 MPSD 게임 세션입니다. 모든 XBOX Live 플레이어는 이 게임 세션에 참가하고, 서비스는 사용자 지정 속성을 사용하여 XBOX Live를 사용하지 않는 세션 내 플레이어에 대한 힌트를 추가로 제공합니다. 그런 다음 이러한 힌트는 세션 상태를 설정하기 위한 클라이언트 논리에서 사용될 수 있습니다.
- 전용 서버에 연결. 마지막 단계에서 모든 클라이언트는 전용 서버에 안전하게 연결하여 크로스 네트워크 게임플레이를 시작합니다. 멀티플레이어 네트워크 간의 모든 트래픽은 전용 서버를 통해 라우팅되어야 합니다. 피어 투 피어 연결은 허용되지 않습니다.
-
게임플레이 완료.
게임플레이 매치가 완료된 후 팀은 다음 표에 표시된 작업을 수행하도록 선택할 수 있습니다.
세션 관리
모든 XBOX 요구 사항을 준수하기 위해 타이틀은 다음 표에 표시된 대로 XBOX Live 플레이어에 대해 두 개의 MPSD 세션을 만듭니다.
XBOX Live를 사용하지 않는 플레이어는 MPSD 세션에서 세션 구성원으로 직접 표시되지 않습니다. 타이틀은 다음 코드 예시에서 볼 수 있듯이 사용자 지정 세션 속성에서 그들의 존재만 추적합니다.
closed 속성을 설정하여 이 기능을 비활성화합니다.
게임플레이에서 플레이어를 추적하는 데 사용되는 MPSD 세션은 XBOX 요구 사항을 준수하기 위해
gameplay 기능을 활성화해야 합니다.플레이어 통신 차단 및 신고
타이틀의 플레이어 차단은 타이틀 수준에서 지원됩니다.XBOX Live 플레이어 차단
이 타이틀은 XblPrivacyBatchCheckPermissionAsync를 사용하여 멀티플레이어에 대한 권한을 확인합니다. 타이틀은 또한 이를 사용하여 다른 XBOX Live 플레이어와 채팅하고, XBOX Live를 사용하지 않는 플레이어/XBOX Live를 사용하지 않는 친구의 플레이어 클래스에 대해서도 사용합니다. 타이틀은 또한 XGameUiShowPlayerProfileCardAsync를 통해 다른 플레이어의 프로필에 대한 액세스를 제공합니다. 플레이어는 플레이어 프로필 UI에서 다른 플레이어를 차단할 수 있습니다.XBOX Live를 사용하지 않는 플레이어 차단
이 타이틀은 XBOX Live를 사용하지 않는 플레이어와의 통신 차단을 지원하기 위해 인타이틀 차단 목록을 사용합니다. 이 목록은 타이틀 서비스에서 유지 관리되며 멀티플레이어 사용 권한을 확인합니다. 기본적으로 크로스 네트워크 채팅을 사용할 수 없습니다. XBOX Live를 사용하지 않는 플레이어는 다음 스크린샷에 표시된 대로 사용자 지정 타이틀 UI를 통해 타이틀에서 차단할 수 있습니다.XBOX Live 플레이어 신고
이 타이틀은 또한 플레이어 신고를 허용합니다. XBOX Live의 경우 플레이어는 플레이어 프로필 UI를 통해 다른 플레이어를 신고합니다. XBOX Live 시행 팀이 플레이어 신고를 처리합니다.XBOX Live를 사용하지 않는 플레이어 신고
XBOX Live를 사용하지 않는 플레이어의 경우 타이틀은 사용자 지정 신고 UI 흐름을 제공합니다. 타이틀은 타이틀에 대한 플레이어 신고를 그에 따라 처리하며 다른 멀티플레이어 네트워크의 지침을 기반으로 합니다.Microsoft Store
XBOX Live 및 기타 멀티플레이어 네트워크에서의 인게임 통화 구매는 타이틀 서비스에서 추적됩니다. 이 타이틀은 모든 타이틀 버전 간에 공유되는 가상 통화 지갑과 인게임 아이템 인벤토리를 제공합니다. 다음 표의 제한 사항은 XBOX Live가 아닌 타이틀 버전에 적용됩니다.도전 과제
이 타이틀은 플레이한 멀티플레이어 게임을 포함한 멀티플레이어 액션을 기반으로 하는 여러 도전 과제를 가지고 있습니다. 이(및 유사한) 도전 과제에 대한 도전 과제 진행에는 크로스 네트워크 멀티플레이어 게임 세션이 포함됩니다. 이 타이틀에는 크로스 네트워크 게임플레이에만 제한되는 도전 과제가 없습니다. XBOX One 제품군(또는 이후) 타이틀 도전 과제에 대한 도전 과제 진행은 다른 타이틀 버전의 게임플레이를 통해 가능합니다.플레이어 진행 상황
플레이어 진행 상황은 모든 타이틀 버전 간에 공유됩니다. 사용자 지정 타이틀 계정에는 플레이어 진행 상황의 일부가 포함됩니다.게임 DVR 및 방송
이 타이틀은 게임 DVR 및 스크린샷은 물론 크로스 네트워크 멀티플레이어 매치에서의 방송을 지원합니다.순위표
이 타이틀의 순위표는 XBOX Live 순위표 이상의 광범위한 순위표 기능을 제공하는 타이틀 서비스를 통해 구현됩니다. 이 서비스는 여러 기본 순위표를 만들고 병렬로 업데이트합니다. 각 멀티플레이어 네트워크에 대한 순위표 하나와 모든 멀티플레이어 네트워크의 결과를 결합한 병합 순위표 하나입니다. 크로스 네트워크 멀티플레이어가 활성화되면 다음 스크린샷과 같이 병합 순위표가 표시됩니다.모든 플레이어는 멀티플레이어 로비에서와 같은 방식으로 표시됩니다.
- XBOX Live 타이틀 인스턴스에서는 XUID가 반환되고, 클라이언트는 조회를 수행하여 플레이어의 게이머태그 문자열을 결정합니다.
-
XBOX Live가 아닌 타이틀 인스턴스에서는 플레이어의 게이머태그 또는
DisplayName문자열이 반환됩니다. 서비스는 XBOX Live에 대한 서비스 간 호출에서 이 문자열을 검색하고 최대 4시간 동안 캐시합니다.
