Repository navigation
Messages MatchingGame
Every message in the MatchingGame area: its opcode, direction, how far it is verified, and its fields.
Note
Generated from the message declarations at dev dd9b230 by Tools/NexusTomorrow.ProtocolReference. Don't edit it by hand: change the declaration's documentation and regenerate.
Sets a group member's queue penalties, one per match type; the client raises MatchingPenaltyUpdated.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0436 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
GroupId |
64 | unsigned | The group, by group id. |
Unknown1 |
32 | unsigned | The client gives this value no meaning. |
MemberId |
the fields below | The member, by realm-scoped character id. | |
MemberId.RealmId |
14 | unsigned | The realm the id belongs to. |
MemberId.Id |
64 | unsigned | The id within its realm. What it identifies, a character or a residence, depends on the member that holds it. |
Penalties[0] |
32 | unsigned | The member's queue penalty for each match type, indexed by MatchType: a duration in milliseconds, 0 for none. |
Penalties[1] |
32 | unsigned | |
Penalties[2] |
32 | unsigned | |
Penalties[3] |
32 | unsigned | |
Penalties[4] |
32 | unsigned | |
Penalties[5] |
32 | unsigned | |
Penalties[6] |
32 | unsigned | |
Penalties[7] |
32 | unsigned | |
Penalties[8] |
32 | unsigned | |
Penalties[9] |
32 | unsigned | |
Penalties[10] |
32 | unsigned | |
Penalties[11] |
32 | unsigned | |
Penalties[12] |
32 | unsigned | |
Penalties[13] |
32 | unsigned | |
Penalties[14] |
32 | unsigned | |
Penalties[15] |
32 | unsigned |
Sets whether the player may queue for the prime-level dungeon and adventure without a full group.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05B0 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
PartialGroupAllowed |
1 | unsigned | Whether the player may queue for PrimeLevelDungeon and PrimeLevelAdventure without a full group. While it is false the client refuses a solo queue for them with NotInGroup, and a group short of the map's size with RequiresFullGroup. |
Sets the player's matching privileges, which decide the maps the player may queue for.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05B8 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
Privileges |
32 | unsigned | The player's matching privileges, a mask. The client offers and queues a map only when the map requires none of these bits or the player holds one of those it requires, and otherwise refuses with PrivilegeRestricted; a group queue tests each member's privileges the same way, refusing with GroupMemberPrivilegeRestricted. |
Cancels the pending match; the client raises MatchingCancelPendingGame.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05BC |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Marks the match finished; the client raises MatchFinished.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05BE |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Tells the client the player is in the match's instance; the client raises MatchEntered.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05BF |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
GameMapId |
32 | unsigned | The match's map, as a MatchingGameMap id, which the client keeps as the current match's. |
Tells the client the player is out of the match's instance; the client raises MatchExited.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05C0 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Offers the player a place in a match already under way, with the allies' answers so far.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05C4 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
MatchType |
5 | unsigned | The match's match type. |
PendingAllies |
32 | unsigned | How many allies have yet to accept. |
AcceptedAllies |
32 | unsigned | How many allies have accepted. |
The client stores it as the pending match and raises MatchingGameReady for a match in progress, or MatchingGamePendingUpdate when the player is in the match's instance.
Tells the client the player joined a match; the client clears the role check and the pending match and raises MatchJoined.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05C6 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
GameMapId |
14 | unsigned | The match's map, as a MatchingGameMap id, which the client keeps as the current match's. |
Tells the player a match is ready for them to accept.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05CA |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
MatchType |
5 | unsigned | The match's match type. |
PendingAllies |
32 | unsigned | How many allies have yet to accept. |
PendingEnemies |
32 | unsigned | How many enemies have yet to accept. |
The client stores it as the pending match, starts the time the player has to answer and raises MatchingGameReady for a new match.
Counts one more player of the pending match as accepted; the client raises MatchingGamePendingUpdate.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05CC |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
Ally |
1 | unsigned | Whether the player who accepted is an ally (true) or an enemy (false); the client moves one of that side from yet to answer to accepted. |
Sets the player's queue penalties, one per match type; the client raises MatchingPenaltyUpdated.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05D9 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
Penalties[0] |
32 | unsigned | The player's queue penalty for each match type, indexed by MatchType: a duration in milliseconds, 0 for none. |
Penalties[1] |
32 | unsigned | |
Penalties[2] |
32 | unsigned | |
Penalties[3] |
32 | unsigned | |
Penalties[4] |
32 | unsigned | |
Penalties[5] |
32 | unsigned | |
Penalties[6] |
32 | unsigned | |
Penalties[7] |
32 | unsigned | |
Penalties[8] |
32 | unsigned | |
Penalties[9] |
32 | unsigned | |
Penalties[10] |
32 | unsigned | |
Penalties[11] |
32 | unsigned | |
Penalties[12] |
32 | unsigned | |
Penalties[13] |
32 | unsigned | |
Penalties[14] |
32 | unsigned | |
Penalties[15] |
32 | unsigned |
Tells the client the player left the match; the client resets its match state and raises MatchLeft.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05DC |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
Unknown0 |
5 | unsigned | The client gives this value no meaning. |
Adds a matching queue entry, filed under MatchType.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05DF |
to client | purpose |
| Field | Bits | Encoding |
|---|---|---|
Request |
the fields below | |
Request.MatchType |
5 | unsigned |
Request.GameMapIds count |
32 | unsigned |
Request.GameMapIds |
array, counted by Request.GameMapIds count
|
|
Request.GameMapIds[] |
32 | unsigned |
Request.GameTypeId |
14 | unsigned |
Request.Flags |
32 | unsigned |
Entry |
the fields below | |
Entry.MatchType |
5 | unsigned |
Entry.AsGroup |
1 | unsigned |
Entry.TimeInQueueMs |
32 | unsigned |
Entry.AverageWaitTimeMs |
32 | unsigned |
Unknown2 |
32 | unsigned |
For an entry already in its match the client stores the fields and does nothing else. Otherwise it also prints the joined text, raises MatchingJoinQueue, ends any role check, and stops the player's cast of one spell a GameFormula row names.
Reports the result of a matching queue operation.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05E1 |
to client | purpose |
| Field | Bits | Encoding |
|---|---|---|
Result |
6 | unsigned |
Unknown1 |
4 | unsigned |
The client prints the result's text. On RemovedByServer it raises MatchLeft, on NotConfirmingRole MatchingRoleCheckCanceled, and on NotWaitingToAccept MatchingCancelPendingGame.
Sets which matching queues the player is in and the match type of the match they are in.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05E3 |
to client | purpose |
| Field | Bits | Encoding |
|---|---|---|
Unknown0 |
4 | unsigned |
ActiveMatchType |
5 | unsigned |
Unknown2 |
5 | unsigned |
QueuedTypes[0] |
1 | unsigned |
QueuedTypes[1] |
1 | unsigned |
QueuedTypes[2] |
1 | unsigned |
QueuedTypes[3] |
1 | unsigned |
QueuedTypes[4] |
1 | unsigned |
QueuedTypes[5] |
1 | unsigned |
QueuedTypes[6] |
1 | unsigned |
QueuedTypes[7] |
1 | unsigned |
QueuedTypes[8] |
1 | unsigned |
QueuedTypes[9] |
1 | unsigned |
QueuedTypes[10] |
1 | unsigned |
QueuedTypes[11] |
1 | unsigned |
QueuedTypes[12] |
1 | unsigned |
QueuedTypes[13] |
1 | unsigned |
QueuedTypes[14] |
1 | unsigned |
QueuedTypes[15] |
1 | unsigned |
The client applies Unknown0 and QueuedTypes first, then stores ActiveMatchType and Unknown2. It raises MatchLeft first only when the stored active match type is not None and differs from the new one.
Warns the player of their inactivity in a PvP match; the client raises MatchingPvpInactivityAlert.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05E6 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
RemainingTimeMs |
32 | unsigned | The time remaining, in milliseconds. |
Reports a kill in PvP; the client raises PvpKillNotification with the victim's and the killer's names, the reason, the killer's class and the victim's team.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05E7 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
KillerType |
2 | unsigned; selects Killer
|
The kind of Killer, which picks its record: 0 a player, 1 a creature, 2 one the client has no name for. |
Killer |
union, selected by KillerType
|
The killer. | |
Killer(0) |
when KillerType is 0 |
A killer or a victim who is a player. | |
Killer(0).PlayerId |
the fields below | The player, by realm-scoped character id; the client asks the server for the name when it does not have it. | |
Killer(0).PlayerId.RealmId |
14 | unsigned | The realm the id belongs to. |
Killer(0).PlayerId.Id |
64 | unsigned | The id within its realm. What it identifies, a character or a residence, depends on the member that holds it. |
Killer(0).Class |
5 | unsigned | The player's class; the kill board uses it for the killer only. |
Killer(1) |
when KillerType is 1 |
A killer or a victim that is a creature. | |
Killer(1).UnitId |
32 | unsigned | The creature, by unit id; the client takes the name from the unit when it has it. |
Killer(1).CreatureId |
18 | unsigned | The creature, as a Creature2 id; the client takes the name from that record when it does not know the unit. |
Killer(2) |
when KillerType is 2 |
A killer or a victim the client has no name for. | |
Killer(2).Unknown0 |
1 | unsigned | The client gives this value no meaning. |
VictimType |
2 | unsigned; selects Victim
|
The kind of Victim, which picks its record: 0 a player, 1 a creature, 2 one the client has no name for. |
Victim |
union, selected by VictimType
|
The victim, in the same records as Killer. |
|
Victim(0) |
when VictimType is 0 |
A killer or a victim who is a player. | |
Victim(0).PlayerId |
the fields below | The player, by realm-scoped character id; the client asks the server for the name when it does not have it. | |
Victim(0).PlayerId.RealmId |
14 | unsigned | The realm the id belongs to. |
Victim(0).PlayerId.Id |
64 | unsigned | The id within its realm. What it identifies, a character or a residence, depends on the member that holds it. |
Victim(0).Class |
5 | unsigned | The player's class; the kill board uses it for the killer only. |
Victim(1) |
when VictimType is 1 |
A killer or a victim that is a creature. | |
Victim(1).UnitId |
32 | unsigned | The creature, by unit id; the client takes the name from the unit when it has it. |
Victim(1).CreatureId |
18 | unsigned | The creature, as a Creature2 id; the client takes the name from that record when it does not know the unit. |
Victim(2) |
when VictimType is 2 |
A killer or a victim the client has no name for. | |
Victim(2).Unknown0 |
1 | unsigned | The client gives this value no meaning. |
VictimTeam |
2 | unsigned | The victim's team. |
DeathReason |
3 | unsigned | How the victim died. |
Starts a role check; the client marks a role check active and raises MatchingRoleCheckStarted.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05F1 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
RolesRequired |
1 | unsigned | Whether the player must choose roles to answer the check. |
Tells the client the match is looking for replacements; the client marks it so and raises MatchLookingForReplacements.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05F2 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Tells the client the match stopped looking for replacements; the client raises MatchStoppedLookingForReplacements.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0604 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Lists queued players; the client prints the list in chat.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x060A |
to client | purpose |
| Field | Bits | Encoding |
|---|---|---|
Unknown0 |
32 | unsigned |
Unknown1 count |
32 | unsigned |
Unknown1 |
array, counted by Unknown1 count
|
|
Unknown1[].Unknown0 |
the fields below | |
Unknown1[].Unknown0.RealmId |
14 | unsigned |
Unknown1[].Unknown0.Id |
64 | unsigned |
Unknown1[].Unknown1 |
varies | wide string |
Unknown1[].Unknown2 |
14 | unsigned |
Unknown1[].Unknown3 |
14 | unsigned |
Unknown1[].Unknown4 |
14 | unsigned |
Unknown1[].Unknown5 |
2 | unsigned |
Unknown1[].Unknown6 |
32 | unsigned |
Unknown1[].Unknown7 |
3 | unsigned |
Unknown1[].Unknown8 |
32 | unsigned |
Unknown1[].Unknown9 |
1 | unsigned |
Unknown1[].Unknown10 |
32 | unsigned |
Unknown1[].Unknown11 |
32 | float |
Unknown1[].Unknown12[0] |
the fields below | |
Unknown1[].Unknown12[0].Unknown0 |
16 | unsigned |
Unknown1[].Unknown12[0].Unknown1 |
8 | unsigned |
Unknown1[].Unknown12[1] |
the fields below | |
Unknown1[].Unknown12[1].Unknown0 |
16 | unsigned |
Unknown1[].Unknown12[1].Unknown1 |
8 | unsigned |
Unknown1[].Unknown12[2] |
the fields below | |
Unknown1[].Unknown12[2].Unknown0 |
16 | unsigned |
Unknown1[].Unknown12[2].Unknown1 |
8 | unsigned |
Unknown1[].Unknown12[3] |
the fields below | |
Unknown1[].Unknown12[3].Unknown0 |
16 | unsigned |
Unknown1[].Unknown12[3].Unknown1 |
8 | unsigned |
Unknown1[].Unknown12[4] |
the fields below | |
Unknown1[].Unknown12[4].Unknown0 |
16 | unsigned |
Unknown1[].Unknown12[4].Unknown1 |
8 | unsigned |
Unknown1[].Unknown13 count |
32 | unsigned |
Unknown1[].Unknown13 |
array, counted by Unknown1[].Unknown13 count
|
|
Unknown1[].Unknown13[].Unknown0 |
15 | unsigned |
Unknown1[].Unknown13[].Unknown1 |
16 | unsigned |
Ends the vote to kick as cancelled; the client clears the vote's target and raises MatchVoteKickEnd.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x060D |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Ends the vote to kick as failed; the client clears the vote's target and raises MatchVoteKickEnd.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0612 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Starts a vote to kick a player from the match; unless Unknown0 is the player's own realm-scoped id, the client keeps the target and raises MatchVoteKickBegin with it.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0614 |
to client | purpose |
| Field | Bits | Encoding |
|---|---|---|
Unknown0 |
the fields below | |
Unknown0.RealmId |
14 | unsigned |
Unknown0.Id |
64 | unsigned |
TargetId |
the fields below | |
TargetId.RealmId |
14 | unsigned |
TargetId.Id |
64 | unsigned |
Has the client print a time in the matching text, which it does only for two values of Unknown0.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0616 |
to client | purpose |
| Field | Bits | Encoding |
|---|---|---|
Unknown0 |
6 | unsigned |
Unknown1 |
32 | unsigned |
Ends the vote to kick as passed; the client clears the vote's target and raises MatchVoteKickEnd.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x061A |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Ends the vote to surrender as failed; the client marks no surrender vote running and raises MatchVoteSurrenderEnd.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x061F |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Starts a vote to surrender the match; the client marks a surrender vote running and raises MatchVoteSurrenderBegin.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0621 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Reports the result of a match operation.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0623 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
Result |
6 | unsigned | The result. |
CooldownMs |
32 | unsigned | With a surrender cooldown result, the cooldown in milliseconds, which the client counts from the message's arrival. |
On PersonalSurrenderCooldown or GlobalSurrenderCooldown the client keeps the result and the cooldown, and holds back MatchVoteSurrenderInitiate until the cooldown has run out; on any other result it prints that result's text.
Sets the average wait of one matching queue; for an entry not in its match the client also raises MatchingAverageWaitTimeUpdated.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0628 |
to client | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
MatchType |
5 | unsigned | The match type of the queue, the one its entry is filed under. |
AverageWaitTimeMs |
32 | unsigned | The queue's average wait, in milliseconds. |
The player's answer to a role check: the roles chosen, or a refusal.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05B2 |
to server | purpose |
| Field | Bits | Encoding |
|---|---|---|
Unknown0 |
5 | unsigned |
Roles |
32 | unsigned |
Accepted |
1 | unsigned |
Leaves every matching queue the player is in.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05B4 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Leaves one matching queue.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05B5 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
MatchType |
5 | unsigned | The match type of the queue to leave, the one its entry is filed under. |
Leaves one matching queue the player joined as a group.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05B6 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
MatchType |
5 | unsigned | The match type of the queue to leave, the one its entry is filed under. |
The player's answer to a ready match.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05C8 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
Accepted |
1 | unsigned | Whether the player accepts the match (true) or declines it (false); on a refusal the client raises MatchingCancelPendingGame. |
Starts a vote to kick a player from the match; MatchingGameLib.InitiateVoteToKick sends it.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05D1 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
TargetId |
the fields below | The group member to kick, by realm-scoped character id; the client chooses the target among the group's members and never names the player themself. | |
TargetId.RealmId |
14 | unsigned | The realm the id belongs to. |
TargetId.Id |
64 | unsigned | The id within its realm. What it identifies, a character or a residence, depends on the member that holds it. |
Starts a vote to surrender the match.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05D3 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
The client sends it while no surrender vote runs and the active match type is a dungeon, an adventure, a warplot or a shiphand, unless a surrender cooldown MatchOperationResult set is still running.
Asks the match to look for players to fill the places it has open.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05D5 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
Roles |
32 | unsigned | The roles to look for, as a mask of Role. |
Leaves the match; MatchingGameLib.LeaveGame sends it while the player is in one.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05DA |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Joins a matching queue; MatchMakingLib.Queue sends it.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05EF |
to server | purpose |
| Field | Bits | Encoding |
|---|---|---|
Request |
the fields below | |
Request.MatchType |
5 | unsigned |
Request.GameMapIds count |
32 | unsigned |
Request.GameMapIds |
array, counted by Request.GameMapIds count
|
|
Request.GameMapIds[] |
32 | unsigned |
Request.GameTypeId |
14 | unsigned |
Request.Flags |
32 | unsigned |
Roles |
32 | unsigned |
PrimeLevel |
32 | unsigned |
Joins a matching queue as a group; MatchMakingLib.QueueAsGroup sends it.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05F3 |
to server | purpose |
| Field | Bits | Encoding |
|---|---|---|
Request |
the fields below | |
Request.MatchType |
5 | unsigned |
Request.GameMapIds count |
32 | unsigned |
Request.GameMapIds |
array, counted by Request.GameMapIds count
|
|
Request.GameMapIds[] |
32 | unsigned |
Request.GameTypeId |
14 | unsigned |
Request.Flags |
32 | unsigned |
Roles |
32 | unsigned |
PrimeLevel |
32 | unsigned |
Joins the random matching queue of a match type.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05F8 |
to server | purpose |
| Field | Bits | Encoding |
|---|---|---|
MatchType |
5 | unsigned |
Flags |
32 | unsigned |
Roles |
32 | unsigned |
Joins the random matching queue of a match type as a group.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x05F9 |
to server | purpose |
| Field | Bits | Encoding |
|---|---|---|
MatchType |
5 | unsigned |
Flags |
32 | unsigned |
Roles |
32 | unsigned |
Asks the match to stop looking for replacements; the client sends it from the group leader while the match is looking.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0602 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
Asks to be moved into the current match; the client sends it only when the match's type allows it.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0606 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
| (none) | 0 |
The player's vote on a vote to kick; the client clears the vote's target once it sends it.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0617 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
TargetId |
the fields below | The player the vote would kick, as TargetId gave it. |
|
TargetId.RealmId |
14 | unsigned | The realm the id belongs to. |
TargetId.Id |
64 | unsigned | The id within its realm. What it identifies, a character or a residence, depends on the member that holds it. |
Vote |
1 | unsigned | The player's vote on the kick. |
The player's vote on a vote to surrender; the client sends it while a surrender vote runs.
| Opcode | Direction | Verified to | Mark |
|---|---|---|---|
0x0624 |
to server | fields |
| Field | Bits | Encoding | Meaning |
|---|---|---|---|
Vote |
1 | unsigned | The player's vote on the surrender. |
| Piece | Path |
|---|---|
| Message declarations | Source/NexusTomorrow.Network.World/Message/Model/MatchingGame/ |
| This page's generator | Tools/NexusTomorrow.ProtocolReference/ |
Start here
How the server works
The protocol
Working on it