S>C 0x04 MCP_JOINGAME
Transport Layer:
Transmission Control Protocol (TCP)
Application Layer:
Diablo II Realm Messages (MCP)
Message Id:
0x04
Message Name:
MCP_JOINGAME
Direction:
Server to Client
Used By:
Diablo IIDiablo II Lord of Destruction
Message Format:
(does not include protocol header)
(does not include protocol header)
(UINT16) Request ID
(UINT16) Game token
(UINT16) Unknown (0)
(UINT32) IP of D2GS Server
(UINT32) Game hash
(UINT32) Result
Remarks
Received when attempting to join a closed Battle.net game using MCP_JOINGAME.
Possible values for result:
0x00
: Game joining succeeded. In this case, Diablo 2 terminates the connection with the MCP and initiates the connection with the D2GS.0x29
: Password incorrect.0x2A
: Game does not exist.0x2B
: Game is full.0x2C
: You do not meet the level requirements for this game.0x6E
: A dead hardcore character cannot join a game.0x71
: A non-hardcore character cannot join a game created by a Hardcore character.0x73
: Unable to join a Nightmare game.0x74
: Unable to join a Hell game.0x78
: A non-expansion character cannot join a game created by an Expansion character.0x79
: A Expansion character cannot join a game created by a non-expansion character.0x7D
: A non-ladder character cannot join a game created by a Ladder character.
🔖diablo-iidiablo-ii-lord-of-destructionmcp
| Edited:
LordVader
Comments
0x7D is also send if a ladder char tries to join a non ladder game.
The shown error is decided in the client (either for ladder or non ladder)
case 0x7d:
if (D2IniData_multiplayer->isLadder == '\0') {
// Unable to enter game. A Ladder character cannot join a game created by a
// Non-Ladder character.
uVar12 = 0x2ab2;
}
else {
// Unable to enter game. A Non-Ladder character cannot join a game created by a
// Ladder character.
uVar12 = 0x2ab1;
}