다음을 통해 공유


세션 템플릿 상수

이 항목에서는 세션 템플릿 버전 107을 기준으로 멀티 플레이어 세션 템플릿에서 미리 정의된 요소에 대해 설명합니다. 이러한 요소는 멀티 플레이어 세션에 대한 설정을 정의합니다.

목차

시스템

시스템 상수 설명 유효한 값 기본값
version 세션 템플릿의 버전입니다. 1 - n none
maxMembersCount 멀티 플레이어 활동에 지원되는 세션 멤버 슬롯의 총 수입니다. 일반 세션의 경우 1 - 100, 대규모 세션의 경우 101 100
visibility 다른 사용자가 세션을 보거나 세션에 참가할 수 있는지를 표시하는 세션의 가시성 상태입니다. "private", "visible", "open" "open"
inviteProtocol 이 상수를 "game"으로 설정하면 초대받은 사람이 세션에 초대될 때 알림을 받을 수 있습니다. "game", "tournamentgame", "chat", "gameparty" none
reservedRemovalTimeout 멤버 예약에 대한 제한 시간(밀리초)입니다. 값이 0이면 즉각적인 시간 초과를 나타냅니다. null 값은 무한으로 간주됩니다. 0 - n, null 30000
inactiveRemovalTimeout 멤버가 비활성 상태로 간주될 때까지의 시간 초과(밀리초)입니다. 값이 0이면 즉각적인 시간 초과를 나타냅니다. null 값은 무한으로 간주됩니다. 0 - n, null 0
readyRemovalTimeout 멤버가 준비 상태로 간주될 때까지의 시간 초과(밀리초)입니다. 값이 0이면 즉각적인 시간 초과를 나타냅니다. null 값은 무한으로 간주됩니다. 0 - n, null 180000
sessionEmptyTimeout 빈 세션의 시간 초과(밀리초)입니다. 값이 0이면 즉각적인 시간 초과를 나타냅니다. null 값은 무한으로 간주됩니다. 0 - n, null 0
capabilities 세션의 기능을 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 기능 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음
metrics 세션 멤버들이 만족해야 하는 지연 시간이나 대역폭 속도 등 타이틀이 정의하는 QoS(서비스 품질) 요구 사항 집합을 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 메트릭 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음
memberInitialization 세션에 새 멤버가 참가할 때 시행되는 시간 초과 및 초기화 요건을 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 memberInitialization 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음
peerToPeerRequirements 피어 투 피어 메시 연결의 네트워크 QoS 요구 사항을 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 peerToPeerRequirements 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음
peerToHostRequirements 피어 투 호스트 연결에 대한 네트워크 QoS 요구 사항을 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 peerToHostRequirements 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음
measurementServerAddresses QoS 측정값을 결정하는 데 사용되는 잠재적 데이터 센터들의 컬렉션을 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 measurementServerAddresses 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음
cloudComputePackage(더 이상 사용되지 않음) 할당할 Xbox Live Compute 클라우드 패키지의 속성을 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 cloudComputePackage 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음
arbitration(더 이상 사용되지 않음) 멤버들이 토너먼트에서 중재 결과를 제출하는 데 있어서 시간 초과를 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 arbitration(사용되지 않음) 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음
broadcastViewerTitleIds 세션에 대한 읽기 액세스 권한이 항상 있어야 하는 타이틀 ID의 목록을 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 broadcastViewerTitleIds 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음
ownershipPolicies 세션 소유권에 관한 정책을 지정합니다. 자세한 내용은 이 항목의 후반부에 있는 ownershipPolicies 섹션을 참조하세요. 적용할 수 없음 적용할 수 없음

이 항목의 맨 위로 돌아갑니다.

capabilities

기능은 세션 템플릿에는 선택적으로 설정하는 부울 값입니다. 기능이 필요하지 않은 경우 타이틀에 동적 세션 기능이 필요한 경우가 아니면 세션 생성 시 기능이 지정되지 않도록 템플릿에 빈 capabilities 속성을 설정해야 합니다.

기능 설명 유효한 값 기본값
connectivity 세션이 피어 연결을 지원하는지 여부를 나타냅니다. 이 값이 false이면 세션은 메트릭을 사용하도록 설정할 수 없으며 세션 멤버는 secureDeviceAddress을(를) 설정할 수 없습니다. 이 기능은 대규모 세션에 설정할 수 없습니다. true, false false
suppressPresenceActivityCheck true인 경우, 현재 상태 확인을 해제합니다. true, false false
gameplay 로비 또는 매치 메이킹과 같은 설정/메뉴 시간과 반대로 세션이 실제 게임 플레이를 나타내는지 여부를 나타냅니다. true이면 세션이 게임 플레이 모드에 있습니다. true, false false
large 세션이 대규모 세션(멤버 100명 초과)인지 여부를 나타냅니다. 대규모 세션은 멀티 플레이어 관리자의 사용을 지원하지 않습니다. true, false false
connectionRequiredForActiveMembers 멤버를 활성화하기 위해 연결이 필요한지 여부를 나타냅니다. true, false false
cloudCompute(더 이상 사용되지 않음) 세션을 대신해서 클라우드 컴퓨팅 인스턴스를 할당하도록 클라이언트가 요청할 수 있습니다. Xbox Live Compute를 더 이상 서비스로 사용할 수 없으므로 사용되지 않습니다. true, false false
autoPopulateServerCandidates serverMeasurements에서 serverConnectionStringCandidates을(를) 자동으로 계산하고 설정합니다. 이 기능은 대규모 세션에 설정할 수 없습니다. true, false false
userAuthorizationStyle 세션이 강력한 타이틀 ID 없이 플랫폼의 호출을 지원하는지 여부를 나타냅니다. 이 기능은 대규모 세션에 설정할 수 없습니다.
userAuthorizationStyle 기능을 true(으)로 설정하면 readRestrictionjoinRestriction에 대한 세션 기본값이 none 대신 local(으)로 설정됩니다. 즉, 타이틀이 게임 세션에 참가하기 위해서는 검색 핸들 또는 전송 핸들을 사용해야 합니다.
true, false false
crossPlay 세션에서 Windows PC, Xbox One 또는 Xbox Series 장치 사이의 크로스 플레이를 지원함을 의미합니다. true, false true
broadcast 세션이 브로드캐스트를 표시한다는 것을 나타냅니다. 세션의 이름이 브로드캐스터의 xuid여야 합니다. large 기능이 필요합니다. true, false false
team 세션이 토너먼트 팀을 표시한다는 것을 나타냅니다. large 또는 gameplay 세션에는 이 기능을 설정할 수 없습니다. true, false false
arbitration arbitration 서버 항목을 추가하는 서비스 사용자가 세션을 생성해야 한다는 것을 나타냅니다. gameplay이(가) 필요하지만 large 세션에 대해 설정할 수 없습니다. true, false false
hasOwners 세션에 소유자인 특정 멤버들에 기초한 보안 정책이 있다는 것을 나타냅니다. true, false false
searchable 세션이 검색 핸들의 대상 세션이 될 수 있다는 것을 나타냅니다. userAuthorizationStylesearchable 기능이 설정된 경우 hasOwners도 설정해야 합니다. true, false false

예: 기능

"capabilities": {
    "connectivity": true,  
    "suppressPresenceActivityCheck": true,
    "gameplay": true,
    "large": true,
    "connectionRequiredForActiveMembers": true,
    "cloudCompute": true,
    "autoPopulateServerCandidates": true,
    "userAuthorizationStyle": true,
    "crossPlay": true,  
    "broadcast": true,  
    "team": true,
    "arbitration": true,
    "hasOwners": true,
    "searchable": true  
},

이 항목의 맨 위로 돌아갑니다.

메트릭

metrics 속성을 지정하지 않으면 QoS 요건을 충족하는 데 필요한 값으로 기본 설정됩니다.

metrics 속성을 지정할 경우, 그 값이 QoS 요건을 충분히 만족시켜야 합니다.

이 요소는 세션에 connectivity 기능이 설정되었을 경우에만 유효합니다.

메트릭 설명 유효한 값 기본값
latency latencyMaximum이(가) 세션 템플릿에 지정되었는지 여부를 나타냅니다. true, false 이 설명을 참조하세요.
bandwidthDown bandwidthDownMinimum이(가) 세션 템플릿에 지정되었는지 여부를 나타냅니다. true, false 이 설명을 참조하세요.
bandwidthUp bandwidthUpMinimum이(가) 세션 템플릿에 지정되었는지 여부를 나타냅니다. true, false 이 설명을 참조하세요.
custom 세션 템플릿에 사용자 지정 메트릭이 지정되었는지 여부를 나타냅니다. true, false 이 설명을 참조하세요.

예: 메트릭

"metrics": {
    "latency": true,
    "bandwidthDown": true,
    "bandwidthUp": true,
    "custom": true
},

이 항목의 맨 위로 돌아갑니다.

memberInitialization

memberInitialization 속성이 설정된 경우 세션은 클라이언트 시스템 또는 타이틀이 세션 생성 후 또는 새 멤버가 세션에 참여할 때 초기화를 수행할 것으로 예상합니다.

시간 초과 및 초기화 단계는 QoS 측정을 포함하여(메트릭이 설정된 경우) 세션에서 자동으로 추적됩니다. 이러한 시간 제한은 initializationEpisode이(가) 설정된 멤버에 대해 세션의 예약 및 준비 시간 초과를 재정의합니다.

대규모 세션에서는 memberInitialization을(를) 지정할 수 없습니다.

요소 설명 유효한 값 기본값
joinTimeout 멤버가 세션에 참가해야 하는 밀리초 수를 나타냅니다. 참가에 실패하는 사용자의 예약은 삭제됩니다.
참고: 기본 시간은 일반 타이틀을 실행하는 데 있어서 충분하지만 MPSD(멀티 플레이어 세션 디렉터리) 흐름 진행 시 타이틀에 디버깅이 수행될 경우 참가 시간 초과가 발생할 수 있습니다. 디버깅하는 동안 세션의 이 기본값을 재정의하고 늘리세요.
0 - n 10000
measurementTimeout 세션 멤버가 측정값을 업로드해야 하는 밀리초 수를 나타냅니다. 측정값을 업로드하지 못하는 멤버의 경우 "timeout"이라는 실패 이유가 표시됩니다. 0 - n 30000
evaluationTimeout 외부 평가자가 측정값을 업로드해야 하는 밀리초 수를 나타냅니다. 0 - n 5000
externalEvaluation true인 경우, 타이틀 코드가 QoS 측정값에 기초하여 누가 참가하는지를 평가한다는 것을 나타냅니다. 멀티 플레이어 서비스는 QoS 논리를 수행하지 않으며 타이틀은 초기화 단계를 실행해야 합니다. 일반적으로 타이틀에서는 이것이 필요하지 않습니다. true, false false
membersNeededToStart 세션을 시작하기 위해 필요한 멤버의 수로, 초기화 에피소드 0에만 해당됩니다. 1 - maxMembersCount 1

예: memberInitialization

"memberInitialization": {
    "joinTimeout": 10000,
    "measurementTimeout": 30000,
    "evaluationTimeout": 5000,
    "externalEvaluation": false,
    "membersNeededToStart": 1
},

이 항목의 맨 위로 돌아갑니다.

peerToPeerRequirements

피어 투 피어 네트워크 요건 설명 기본값
latencyMaximum 두 클라이언트 사이의 최대 지연 시간(밀리초)입니다. 250
bandwidthMinimum 두 클라이언트 사이의 최소 대역폭(초당 킬로비트)입니다. 10000

예: peerToPeerRequirements

"peerToPeerRequirements": {
    "latencyMaximum": 250,
    "bandwidthMinimum": 10000
},

이 항목의 맨 위로 돌아갑니다.

peerToHostRequirements

피어 투 호스트 네트워크 요건 설명 유효한 값 기본값
latencyMaximum 피어 투 호스트 연결에 대한 최대 지연 시간(밀리초)입니다. 250
bandwidthDownMinimum 호스트에서 피어로 전송되는 정보에 대한 최소 대역폭(초당 킬로비트)입니다. 100000
bandwidthUpMinimum 피어에서 호스트로 전송되는 정보에 대한 최소 대역폭(초당 킬로비트)입니다. 1000
hostSelectionMetric 호스트 선택에 사용되는 메트릭을 나타냅니다. "bandwidthup", "bandwidthdown", "bandwidth", "latency" "latency"

예: peerToHostRequirements

"peerToHostRequirements": {
    "latencyMaximum": 250,
    "bandwidthDownMinimum": 100000,
    "bandwidthUpMinimum": 1000,
    "hostSelectionMetric": "bandwidthup"
},

이 항목의 맨 위로 돌아갑니다.

measurementServerAddresses

평가해야 하는 잠재적 서버 연결 문자열 집합입니다. 연결 문자열은 소문자여야 합니다. 대규모 세션에서는 measurementServerAddresses을(를) 지정할 수 없습니다.

연결 문자열은 다음과 같은 형식으로 정의됩니다.

"<server name>": { "secureDeviceAddress": <device address> }

여기서 장치 주소는 서버의 base-64로 인코딩된 보안 장치 주소입니다.

예: measurementServerAddresses

"measurementServerAddresses": {
    "server farm a": {
        "secureDeviceAddress": "r5Y="
    },
    "datacenter b": {
        "secureDeviceAddress": "rwY="
    }
},

이 항목의 맨 위로 돌아갑니다.

cloudComputePackage(사용되지 않음)

이 속성은 Xbox Live Compute 서비스를 더 이상 사용할 수 없고 중단되었으므로 더 이상 사용되지 않습니다. 할당할 클라우드 컴퓨팅 패키지의 속성을 지정합니다.

cloudCompute 기능이 설정되어 있어야 합니다.

속성 설명
titleId 할당할 클라우드 컴퓨팅 패키지의 타이틀 ID를 나타냅니다.
gsiSet 할당할 클라우드 컴퓨팅 패키지의 GSI(글로벌 보안 인프라) 집합을 나타냅니다.
variant 할당할 클라우드 컴퓨팅 패키지의 변형을 나타냅니다.

예: cloudComputePackage

"cloudComputePackage": {
    "titleId": "4567",
    "gsiSet": "128ce92a-45d0-4319-8a7e-bd8e940114ec",
    "variant": "30ebca60-d96e-4629-930b-6957aa6bfbfa"
},

이 항목의 맨 위로 돌아갑니다.

중재(사용되지 않음)

이 속성은 Xbox Live Compute 서비스를 더 이상 사용할 수 없고 중단되었으므로 더 이상 사용되지 않습니다. 중재 프로세스에 대한 시간 초과를 지정합니다.

arbitration 기능이 설정되어 있어야 합니다.

중재 시작 시간은 세션의 /servers/arbitration/constants/system/startTime 요소에서 정의됩니다.

시간 제한 설명 유효한 값 기본값
forfeitTimeout 중재 시작 시간에서의 시간(밀리초)을 나타냅니다. 0 - n 60000
arbitrationTimeout 중재 시작 시간을 기준으로 한 시간(밀리초)으로, 중재 결과가 시간 초과되는 시간입니다. 이 값이 forfeitTimeout 값보다 작으면 안 됩니다. 0 - n 300000

예: arbitration

"arbitration": {
    "forfeitTimeout": 60000,
    "arbitrationTimeout": 300000
},

이 항목의 맨 위로 돌아갑니다.

broadcastViewerTitleIds

브로드캐스트 세션에 대한 읽기 액세스 권한이 항상 있어야 하는 타이틀들의 타이틀 ID 배열을 지정합니다.

예: broadcastViewerTitleIds

"broadcastViewerTitleIds" : ["34567", "8910"],

이 항목의 맨 위로 돌아갑니다.

ownershipPolicies

마지막 소유자가 세션에서 나갈 때 세션을 어떻게 처리할지 지정합니다. hasOwners 기능을 설정해야 합니다.

소유권 정책 설명 유효한 값 기본값
migration 마지막 소유자가 세션을 떠날 때 발생하는 상황을 나타냅니다. 이 마이그레이션 정책을 "endsession"으로 설정하면 세션이 종료됩니다. 마이그레이션 정책을 "oldest"로 설정하면 가장 먼저 참가한 멤버가 세션의 새 소유자가 됩니다. "oldest", "endsession" "endsession"
allowNonOwnerInviteHandles 소유자가 아닌 세션 멤버에 대한 초대 동작을 나타냅니다. 기본적으로 소유자가 아닌 사람은 세션에 대한 초대를 보낼 수 없습니다. true, false false
nonOwnerModifiableSystemProperties 비소유자가 hasOwners 기능이 true(으)로 설정된 세션에서 수정할 수 있는 시스템 속성 이름 목록입니다. 시스템 속성 이름 목록 적용할 수 없음

예: ownershipPolicies

"ownershipPolicies": {
     "migration": "oldest",
     "allowNonOwnerInviteHandles": true,
     "nonOwnerModifiableSystemProperties": ["joinRestriction", "closed"] 
}

이 항목의 맨 위쪽으로 돌아갑니다.