Home docs nex protocols match-making Match Making Types
Post

Match Making Types

Since the match making methods are split across several protocols, this page documents all match making related structures in one place.

Flags

FlagDescription
0x10Controls what happens when the owner leaves the gathering. If set, the server chooses a new owner. If not set, the gathering is deleted.

Many games also use flag 0x200, but its purpose is unknown.

Gathering (Structure)

TypeName
Uint32m_idMyself
PIDm_pidOwner
PIDm_pidHost
Uint16m_uiMinParticipants
Uint16m_uiMaxParticipants
Uint32m_uiParticipationPolicy
Uint32m_uiPolicyArgument
Uint32m_uiFlags
Uint32m_uiState
Stringm_strDescription

PersistentGathering (Structure)

This structure inherits from Gathering

TypeName
Uint32m_CommunityType
Stringm_Password
List<Uint32>m_Attribs
Bufferm_ApplicationBuffer
DateTimem_ParticipationStartDate
DateTimem_ParticipationEndDate
Uint32m_MatchmakeSessionCount
Uint32m_ParticipationCount

MatchmakeSession (Structure)

This structure inherits from Gathering

In NEX version 2.x, the matchmake session looks as follows:

TypeName
Uint32m_GameMode
List<Uint32>m_Attribs
Boolm_OpenParticipation
Uint32m_MatchmakeSystemType
Bufferm_ApplicationBuffer
Uint32m_ParticipationCount

In NEX version 3.0, the session key was added:

TypeName
Bufferm_SessionKey

In NEX version 3.4, a progress score field was added. Note that this field was inserted before the session key field:

TypeName
Uint32m_GameMode
List<Uint32>m_Attribs
Boolm_OpenParticipation
Uint32m_MatchmakeSystemType
Bufferm_ApplicationBuffer
Uint32m_ParticipationCount
Uint8m_ProgressScore
Bufferm_SessionKey

In NEX version 3.5, one more field was added:

TypeName
Uint32m_Option0

In NEX version 3.6, the revision number was increased to 1 and two more fields were added:

TypeName
MatchmakeParamm_MatchmakeParam
DateTimem_StartedTime

In NEX version 3.7, the revision number was increased to 2 and one more field was added:

TypeName
Stringm_UserPassword

In NEX version 3.8, the revision number was increased to 3 and three more fields were added:

TypeName
Uint32m_ReferGid
Boolm_UserPasswordEnabled
Boolm_SystemPasswordEnabled

In NEX version 4.0, the revision number was set back to 0 and one more field was added:

TypeName
Stringm_Codeword

MatchmakeSessionSearchCriteria (Structure)

Up to NEX version 1.x, this structure looks as follows:

TypeName
List<String>m_Attribs
Stringm_GameMode
Stringm_MatchmakeSystemType
Boolm_VacantOnly
Boolm_ExcludeLocked
Boolm_ExcludeNonHostPid

In NEX version 2.0, the minimum and maximum participants fields were added. Note that these fields were inserted before the matchmaking system type field:

TypeName
List<String>m_Attribs
Stringm_GameMode
Stringm_MinParticipants
Stringm_MaxParticipants
Stringm_MatchmakeSystemType
Boolm_VacantOnly
Boolm_ExcludeLocked
Boolm_ExcludeNonHostPid

In NEX version 3.0, one more field was added:

TypeName
Uint32m_SelectionMethod

In NEX version 3.4, one more field was added:

TypeName
Uint16m_VacantParticipants

In NEX version 3.6, the revision number was increased to 1 and one more field was added:

TypeName
MatchmakeParamm_MatchmakeParam

In NEX version 3.7, the revision number was increased to 2 and two more fields were added:

TypeName
Boolm_ExcludeUserPasswordSet
Boolm_ExcludeSystemPasswordSet

In NEX version 3.8, the revision number was increased to 3 and one more field was added:

TypeName
Uint32m_ReferGid

In NEX version 4.0, the revision number was set back to 0 and two more fields were added:

TypeName
Stringm_Codeword
ResultRangem_ResultRange

CreateMatchmakeSessionParam (Structure)

TypeName
MatchmakeSessionsourceMatchmakeSession
List<PID>additionalParticipants
Uint32gidForParticipationCheck
Uint32createMatchmakeSessionOption
StringjoinMessage
Uint16participationCount

JoinMatchmakeSessionParam (Structure)

TypeName
Uint32gid
List<PID>additionalParticipants
Uint32gidForParticipationCheck
Uint32joinMatchmakeSessionOption
Uint8joinMatchmakeSessionBehavior
StringstrUserPassword
StringstrSystemPassword
StringjoinMessage
Uint16participationCount
Uint16extraParticipants
MatchmakeBlockListParamblockListParam

UpdateMatchmakeSessionParam (Structure)

TypeName
Uint32gid
Uint32modificationFlag
List<Uint32>attributes
BoolopenParticipation
BufferapplicationBuffer
Uint8progressScore
MatchmakeParammatchmakeParam
DateTimestartedTime
StringuserPassword
Uint32gameMode
Stringdescription
Uint16minParticipants
Uint16maxParticipants
Uint32matchmakeSystemType
Uint32participationPolicy
Uint32policyArgument
Stringcodeword

MatchmakeBlockListParam (Structure)

TypeName
Uint32optionFlag

MatchmakeParam (Structure)

TypeName
Map<String, Variant>m_Params

AutoMatchmakeParam (Structure)

TypeName
MatchmakeSessionsourceMatchmakeSession
List<PID>additionalParticipants
Uint32gidForParticipationCheck
Uint32autoMatchmakeOption
StringjoinMessage
Uint16participationCount
List<MatchmakeSessionSearchCriteria>lstSearchCriteria
List<Uint32>targetGids

4.0 and later:

TypeName
MatchmakeBlockListParamblockListParam

FindMatchmakeSessionByParticipantParam (Structure)

TypeName
List<PID>m_principalIdList
Uint32m_resultOptions
MatchmakeBlockListParamm_blockListParam

FindMatchmakeSessionByParticipantResult (Structure)

TypeName
PIDm_principalId
MatchmakeSessionm_session

GatheringURLs (Structure)

TypeName
Uint32m_gid
List<StationURL>m_lstStationURLs

GatheringStats (Structure)

TypeName
PIDm_pidParticipant
Uint32m_uiFlags
List<Float>m_lstValues

Invitation (Structure)

TypeName
Uint32m_idGathering
Uint32m_idGuest
Stringm_strMessage

ParticipantDetails (Structure)

TypeName
PIDm_idParticipant
Stringm_strName
Stringm_strMessage
Uint16m_uiParticipants

DeletionEntry (Structure)

TypeName
Uint32m_idGathering
PIDm_pid
Uint32m_uiReason

PlayingSession (Structure)

TypeName
PIDm_PrincipalId
Data<Gathering>m_Gathering

SimplePlayingSession (Structure)

TypeName
PIDm_PrincipalID
Uint32m_GatheringID
Uint32m_GameMode
Uint32m_Attribute_0

SimpleCommunity (Structure)

TypeName
Uint32m_GatheringID
Uint32m_MatchmakeSessionCount
Contents