Skip to main content
이 항목은 타이틀이 대상 세션에 매칭될 때 충분한 수의 플레이어가 참가했으며 연결할 수 있는지 확인하는 방법을 설명합니다. 플레이어 그룹은 SmartMatch 매치메이킹에 의해 대상 세션에 매칭됩니다. 타이틀은 필요한 경우 플레이어가 서로 성공적으로 연결할 수 있도록 충분한 수의 플레이어가 참가했음을 확인하기 위한 단계를 수행해야 합니다. 이 프로세스는 대상 세션 초기화로 알려져 있습니다. 피어 투 피어 네트워크 토폴로지를 사용하는 게임의 경우, 대상 세션 초기화의 중요한 측면은 서비스 품질(QoS) 측정 및 평가입니다. 관련된 작업은 다음과 같습니다.
  • XBOX One(또는 이후) 콘솔 간 또는 콘솔과 서버 간의 지연 시간 및 대역폭 측정
  • 노드 간 네트워크 연결이 양호한지 여부를 결정하기 위한 결과 측정값 평가
다음 플로차트는 대상 세션 초기화 및 QoS 작업을 구현하는 방법을 보여줍니다.

관리형 초기화

Multiplayer Session Directory(MPSD)는 관리형 초기화라는 기능을 지원하며, 이를 통해 세션에 관련된 클라이언트 간에 대상 세션 초기화 프로세스를 조정합니다. MPSD는 세션에 대한 초기화 단계 및 관련 시간 초과를 자동으로 추적합니다. MPSD는 또한 필요한 경우 클라이언트 간의 연결을 평가합니다. 관리형 초기화는 XblMultiplayerInitializationStage 열거형으로 표현됩니다.
MPSD 관리형 초기화 기능을 활용하려면 타이틀에서 SmartMatch 매치메이킹을 사용하는 것을 강력히 권장합니다.

관리형 초기화 에피소드 및 단계

매치메이킹이 세션에 새 플레이어를 추가할 때마다 대상 세션은 관리형 초기화를 거칩니다. SmartMatch는 세션 멤버를 Reserved 사용자 상태로 추가하며, 이는 각 멤버가 슬롯을 차지하지만 아직 세션에 참가하지 않았음을 의미합니다. 각 새 플레이어 그룹은 새로운 초기화 에피소드를 트리거합니다. 초기화가 완료되면 각 플레이어는 프로세스에 성공하거나 실패합니다. 초기화에 성공한 플레이어는 대상 세션을 사용하여 플레이할 수 있습니다. 실패한 플레이어는 다른 세션에 매칭되도록 매치메이킹에 다시 제출되어야 합니다. preserveSession 매개변수가 Always로 설정되어 매치메이킹에 제출된 세션의 경우, 기존 세션 멤버는 MPSD가 그들이 적절히 설정되어 있다고 가정하기 때문에 초기화를 거치지 않습니다. 각 관리형 초기화 에피소드는 다음 단계로 구성됩니다.
  • 참가: 세션 멤버는 사용자 상태를 Reserved에서 Active로 이동하기 위해 자신을 세션에 씁니다. 안전한 디바이스 주소와 같은 기본 데이터를 업로드할 수 있습니다.
  • 측정: 피어 기반 토폴로지의 경우, 세션 멤버는 서로에 대한 QoS를 측정한 다음 결과를 세션에 업로드합니다.
  • 평가: MPSD는 지난 두 단계의 결과를 평가한 다음, 세션 또는 멤버가 성공적으로 초기화되었는지 여부를 결정합니다.
타이틀 코드는 세션에서 작동하여 각 플레이어(따라서 세션)를 참가 및 측정 단계를 통해 진행시킵니다. 그런 다음 타이틀은 평가 단계가 성공하거나 실패한 후 플레이를 시작하거나 매치메이킹으로 돌아갈 수 있습니다.

초기화를 위한 대상 세션 구성

타이틀은 초기화되는 대상 세션의 상수를 사용하여 관리형 초기화 프로세스를 구성할 수 있습니다. 이러한 상수는 버전 107의 세션 템플릿에서 /constants/system 아래에 설정됩니다. 이 템플릿 버전을 권장합니다. 다음 두 가지 유형의 구성 설정을 만들 수 있습니다.
  • 관리형 초기화 프로세스 전체를 구성하는 설정
  • QoS 요구 사항을 구성하는 설정
일반적인 타이틀 시나리오에 대한 세션 템플릿의 예는 멀티플레이어 세션 템플릿Multiplayer Session Directory 개요를 참조하세요.
대상 세션 초기화 구성에서 QoS 요구 사항이 정의되지 않은 경우, 초기화 중 측정 단계는 생략됩니다.

관리형 초기화 전체 구성

관리형 초기화를 전체적으로 제어하려면 다음 필드를 설정합니다. 관리형 초기화를 제어하기 위해 설정할 필드는 /constants/system/memberInitialization 객체의 일부입니다.
  • joinTimeout: 초기화 에피소드가 시작된 후 MPSD가 각 멤버가 참가하기를 기다리는 시간을 지정합니다. 기본값은 10초입니다.
  • measurementTimeout: 측정 단계가 시작된 후 MPSD가 각 멤버가 QoS 측정 결과를 업로드하기를 기다리는 시간을 지정합니다. 기본값은 30,000초입니다.
  • membersNeededToStart: 첫 번째 초기화 에피소드가 성공하기 위해 초기화에 성공해야 하는 멤버의 수를 지정합니다. 기본값은 1입니다.
이 임계값이 충족되지 않으면 모든 멤버가 초기화에 실패합니다.

QoS 요구 사항 구성

QoS는 타이틀이 피어 투 피어 또는 피어 투 호스트 토폴로지를 사용하는 경우에만 초기화 중에 필요합니다. 각 토폴로지는 /constants/system/ 아래의 토폴로지별 상수에 매핑됩니다.

피어 투 피어 토폴로지에 대한 QoS 요구 사항 구성

타이틀이 피어 투 피어 토폴로지에 대한 QoS 요구 사항 설정을 하는 것은 드문 일입니다. 이러한 설정은 매우 제한적이며 엄격한 네트워크 주소 변환(NAT)이 있는 플레이어에게 문제를 일으킵니다.
피어 투 피어 토폴로지 QoS 요구 사항은 peerToPeerRequirements 객체에서 설정할 수 있습니다. 모든 클라이언트는 다른 모든 클라이언트에 연결할 수 있어야 합니다. peerToPeerRequirements 객체에는 다음과 같은 관련 필드가 있습니다.
  • latencyMaximum: 두 클라이언트 간의 최대 지연 시간을 지정합니다
  • bandwidthMinimum: 두 클라이언트 간의 최소 대역폭을 지정합니다

피어 투 호스트 토폴로지에 대한 QoS 요구 사항 구성

피어 투 호스트 토폴로지 QoS 요구 사항은 peerToHostRequirements 객체에서 설정할 수 있습니다. 모든 클라이언트는 단일 공통 호스트에 연결할 수 있어야 합니다. 이 객체가 구성되고 초기화가 성공하면, MPSD는 잠재적인 호스트인 클라이언트의 초기 목록, 즉 호스트 후보를 만듭니다. 다음 필드를 설정합니다.
  • latencyMaximum: 각 피어와 호스트 간의 최대 지연 시간을 지정합니다
  • bandwidthDownMinimum: 각 피어와 호스트 간의 최소 다운스트림 대역폭을 지정합니다
  • bandwidthUpMinimum: 각 피어와 호스트 간의 최소 업스트림 대역폭을 지정합니다
  • hostSelectionMetric: 호스트를 선택하는 데 사용된 메트릭을 지정합니다

참고 항목

멀티플레이어 세션 템플릿 Multiplayer Session Directory 개요
마지막 수정일 2026년 8월 25일