- system
- capabilities
- metrics
- memberInitialization
- peerToPeerRequirements
- peerToHostRequirements
- measurementServerAddresses
- cloudComputePackage (deprecated)
- arbitration (deprecated)
- broadcastViewerTitleIds
- ownershipPolicies
system
Return to the top of this topic.
capabilities
Capabilities are Boolean values that are optionally set in the session template. If no capabilities are needed, an emptycapabilities property should be set in the template to prevent capabilities from being specified on session creation, unless the title needs dynamic session capabilities.
Setting the
userAuthorizationStyle capability to true causes the session defaults for readRestriction and joinRestriction to local instead of none. This means that titles must use search handles or transfer handles to join a game session. | true, false | false
crossPlay | Indicates that the session supports crossplay between Windows PC, XBOX One, or XBOX Series devices. | true, false | true
broadcast | Indicates that the session represents a broadcast. The name of the session must be the xuid of the broadcaster. Requires the large capability. | true, false | false
team | Indicates that the session represents a tournament team. This capability can’t be set on large or gameplay sessions. | true, false | false
arbitration | Indicates that the session must be created by a service principal that adds the arbitration server entry. Requires gameplay but can’t be set on large sessions. | true, false | false
hasOwners | Indicates that the session has a security policy based on certain members being owners. | true, false | false
searchable | Indicates that the session can be a target session of a search handle. If the userAuthorizationStyle and searchable capabilities are set, hasOwners must also be set. | true, false | false
Example: capabilities
metrics
If themetrics properties aren’t specified, they default to the values that are needed to satisfy the QoS requirements.
If the metrics properties are specified, the values must be sufficient to satisfy the QoS requirements.
This element is only valid if the session has the connectivity capability set.
Example: metrics
memberInitialization
If thememberInitialization property is set, the session expects the client system or title to perform initialization following session creation or as new members join the session.
The time-outs and initialization stages are automatically tracked by the session, including QoS measurements if any metrics are set.
These time-outs override the session’s reservation and ready time-outs for members that have initializationEpisode set.
memberInitialization can’t be specified on large sessions.
NOTE: The default duration is sufficient for normal title execution, but it might lead to join time-outs if a title is being debugged during the Multiplayer Session Directory (MPSD) flow. While debugging, override and increase this default value for the session.| 0 - n | 10000
measurementTimeout | Indicates the number of milliseconds that a session member has to upload measurements. A member that fails to upload measurements is marked with a failure reason of “timeout”. | 0 - n | 30000
evaluationTimeout | Indicates the number of milliseconds that an external evaluation has to upload measurements. | 0 - n | 5000
externalEvaluation | If true, indicates that the title code performs the evaluation of who can join based on QoS measurements. The multiplayer service doesn’t perform any QoS logic, and the title is responsible for advancing the initialization stage. Titles don’t typically need this. | true, false | false
membersNeededToStart | The number of members needed to start the session only for initialization episode zero. | 1 - maxMembersCount | 1
Example: memberInitialization
peerToPeerRequirements
Example: peerToPeerRequirements
peerToHostRequirements
Example: peerToHostRequirements
measurementServerAddresses
The set of potential server connection strings that should be evaluated. The connection strings must be lowercase.measurementServerAddresses can’t be specified on large sessions.
The connection strings are defined in the following format.
"<server name>": { "secureDeviceAddress": <device address> }
where the device address is the base-64-encoded secure device address of the server.
Example: measurementServerAddresses
cloudComputePackage (deprecated)
This property is deprecated because the XBOX Live Compute service is no longer available and has been discontinued. Specifies the properties of the cloud compute package to allocate. Requires that thecloudCompute capability is set.
Example: cloudComputePackage
arbitration (deprecated)
This property is deprecated because the XBOX Live Compute service is no longer available and has been discontinued. Specifies the time-outs for the arbitration process. Requires that thearbitration capability is set.
The arbitration start time is defined in a session in the /servers/arbitration/constants/system/startTime element.
Example: arbitration
broadcastViewerTitleIds
Specifies an array of the title IDs of the titles that should always have read access to the broadcast session.Example: broadcastViewerTitleIds
ownershipPolicies
Specifies how to handle a session when the last owner leaves the session. Requires that thehasOwners capability is set.
