이 항목에서는 멀티플레이어 API의 직접 사용을 다룹니다. Microsoft Game Development Kit(GDK)를 사용하여 타이틀을 개발할 때 멀티플레이어 기능에 대한 개요는 다음 항목을 참조하세요.
Multiplayer 시스템 개요
2015 Multiplayer는 Multiplayer Session Directory(MPSD) 및 게임 세션의 직접 사용을 최적화합니다. 단일 타이틀 또는 플레이어에 대한 여러 동시 세션에 대한 지원이 향상되고 XBOX Services API(XSAPI)를 업데이트하여 타이틀이 다음을 수행할 수 있게 합니다.- 플레이어의 현재 활동 및 참가 가능 여부를 알립니다.
- 플레이어에게 표시되는(타이틀 지정) 컨텍스트 문자열과 함께 세션에 초대를 보냅니다.
- 타이틀 코드를 통해 세션을 검색하고 참가합니다.
- MPSD에 대한 웹 소켓 연결을 유지하여 세션 변경에 대한 간단한 알림(shoulder taps)을 받을 수 있습니다. 예를 들어 변경 이벤트에 대한 구독 및 연결 상태 변경을 반영하는 업데이트가 있습니다. MPSD는 또한 웹 소켓 연결을 사용하여 클라이언트 연결 끊김을 신속하게 감지하고 조치를 취합니다.
- SmartMatch 매치메이킹을 사용합니다.
Multiplayer 구성 요소, 인터페이스 및 아키텍처
2015 Multiplayer의 구성 요소
Multiplayer는 여러 구성 요소로 이루어진 시스템입니다. 2015 Multiplayer는 전용 서버 및 외부 매치메이킹 시스템과 같은 다른 구성 요소와 함께 작동할 수 있을 만큼 유연합니다.Multiplayer Session Directory
MPSD는 세션 컬렉션을 보유한 서비스입니다. _세션_은 클라우드에 있는 보안 문서로 정의되며 게임을 플레이하는 사람들의 그룹을 나타냅니다. 자세한 내용은 Multiplayer Session Directory(MPSD)를 참조하세요.Multiplayer 클라이언트 API
REST 기능은 타이틀에서 직접 호출로 사용할 수 있지만 XSAPI를 통해 MPSD에 액세스하는 것이 좋습니다. 자세한 내용은 MPSD 호출을 참조하세요.XBOX 파티 시스템
2015 Multiplayer에서 XBOX 파티 시스템은 채팅 파티만 외부 엔터티로 지원합니다. 타이틀은 파티 시스템과 상호작용하여 채팅 파티의 멤버십을 검색할 수 있습니다. 자세한 내용은 이 항목의 뒷부분에 있는 2015 Multiplayer에서 지원하는 파티를 참조하세요. 파티 시스템은 이제 게임 파티를 사용하는 대신 MPSD 세션을 통해 직접 게이밍을 지원합니다. 멤버 상호작용, 공간이 확보되면 게임에 플레이어 끌어오기, 대기 시간 동안 플레이어 참여와 같은 작업을 활성화하기 위해 세션을 사용하는 것은 타이틀에 달려 있습니다.2015 Multiplayer 인터페이스
2015 Multiplayer는 다른 XBOX 구성 요소에 대한 여러 인터페이스를 사용합니다.XBOX 보안 소켓
2015 Multiplayer는 XBOX 보안 소켓과 Winsock을 사용하여 장치 간의 저수준 네트워크 통신을 지원합니다. 이 네트워킹 기능은 Internet Protocol Security(IPSec)를 사용하여 타이틀이 보안 장치 연결을 제공할 수 있도록 합니다.XBOX 서비스 Real-Time Activity 서비스
2015 Multiplayer는 Real-Time Activity(RTA) 서비스를 사용하여 타이틀이 MPSD 세션 변경 사항을 구독하고 클라이언트 연결 끊김을 자동으로 감지할 수 있도록 합니다. 자세한 내용은 Real-Time Activity(RTA) 서비스를 참조하세요.XBOX 서비스 SmartMatch 매치메이킹 서비스
SmartMatch 매치메이킹 서비스는 매치메이킹 중에 제공되는 플레이어 기본 설정, 데이터 및 정보를 기반으로 플레이어 그룹을 형성합니다. 자세한 내용은 매치메이킹 개요를 참조하세요.XBOX 서비스 Reputation 서비스
Reputation 서비스는 평판에 대한 플레이어 통계를 관리하고 평판 필터링 매치메이킹을 활성화합니다. 2015 Multiplayer는 SmartMatch 매치메이킹을 통해 Reputation 서비스를 사용합니다. 자세한 내용은 Reputation을 참조하세요.일반적인 2015 Multiplayer 아키텍처
이 섹션에서는 가장 일반적인 2015 Multiplayer 아키텍처를 소개합니다.피어 투 피어 아키텍처
피어 투 피어 아키텍처에서 타이틀은 MPSD 및 SmartMatch 매치메이킹을 사용하여 피어 주소를 검색합니다. 그런 다음 타이틀은 다음 다이어그램과 같이 XBOX 보안 소켓을 사용하여 피어를 연결하기 위해 주소를 사용합니다. 자세한 내용은 Windows 소켓 소개를 참조하세요.
클라이언트/서버 아키텍처
클라이언트/서버 아키텍처에서 타이틀은 MPSD 및 SmartMatch 매치메이킹을 사용하여 전용 서버 주소를 검색합니다. 그런 다음 타이틀은 다음 다이어그램과 같이 XBOX 보안 소켓을 사용하여 전용 서버에 연결하기 위해 주소를 사용합니다. 자세한 내용은 Windows 소켓 소개를 참조하세요.
Azure PlayFab 서버 인스턴스는 클라이언트/서버 아키텍처의 서버가 될 수 있습니다. 자세한 내용은 Multiplayer Servers를 참조하세요.
2015 Multiplayer에서 지원하는 파티
XBOX One(또는 이후) 용 2015 Multiplayer는 “게임 파티”를 시스템 수준 구성으로 노출하지 않습니다. 그러나 2014 Multiplayer와 마찬가지로 시스템 수준에서 “채팅 파티”를 지원합니다. 그리고 MPSD 세션을 사용함으로써 타이틀은 게임 파티를 사용한 것과 유사한 플레이어 경험을 제공할 수 있습니다.채팅 파티
채팅 파티는 XBOX One Party 앱을 통해 플레이어가 관리하는, 서로 채팅하는 사람들의 그룹입니다. 플레이어는 게임 세션에서 플레이하는 동안 또는 다른 콘솔 활동을 수행하는 동안 채팅 파티에 있을 수 있습니다. 하지만 채팅 파티의 플레이어와 해당 플레이어의 다른 활동 사이에는 어떤 연결도 없습니다. 채팅 파티는PartyChat 클래스에 의해 노출되며, 이를 통해 타이틀이 채팅 파티의 상태를 검사할 수 있습니다. 예를 들어 타이틀은 PartyChat.GetPartyChatViewAsync 메서드를 사용하여 채팅 파티의 구성원을 열거할 수 있습니다.
게임 파티와 유사한 기능 구현
2014 Multiplayer에서 게임 파티는 여러 목적으로 사용되었습니다. 타이틀이 다음을 수행할 수 있게 했습니다.- 플레이어의 현재 활동 및 참가 가능 여부를 알림.
- 세션에 초대(초대장)를 보냄.
- 세션 검색 및 참가.
- 파티에 등록된 세션의 특정 변경 사항에 대한 알림 수신.
- SmartMatch 매치메이킹 사용.
- 여러 게임 세션에 걸쳐 사람들 그룹을 함께 유지.
Multiplayer 용어
2015 Multiplayer의 새로운 기능
2015 Multiplayer의 새로운 개념
MPSD에 대한 웹 소켓 연결
MPSD는 이제 타이틀이 웹 소켓 연결을 유지할 수 있도록 합니다. 이러한 연결을 통해 클라이언트는 세션이 변경될 때 알림을 받을 수 있습니다. 자세한 내용은 “Multiplayer Session Directory 개요” 항목의 MPSD 변경 알림 처리 및 연결 끊김 감지 섹션을 참조하세요.MPSD 세션 핸들
2015 Multiplayer는 형식이 지정된 데이터를 포함할 수 있는 세션에 대한 참조인 MPSD 세션 핸들에 대한 지원을 추가합니다. 자세한 내용은 다음을 참조하세요.- “Multiplayer 개념 개요” 항목의 세션 핸들 섹션.
- “Multiplayer Session Directory 개요” 항목의 세션에 대한 MPSD 핸들 섹션.
