C>S 0x05 MCP_GAMELIST
|Transport Layer:||Transmission Control Protocol (TCP)|
|Application Layer:||Diablo II Realm Messages (MCP)|
|Direction:||Client to Server|
|Used By:||Diablo II, Diablo II Lord of Destruction|
(does not include protocol header)
Requests a game listing.
* Normally blank. If a non-empty string is sent, games will be returned that include this string in their names. This is not used by the client, but still exists.
D2XP client sends 0x0800 for the second dword, not 0x00.
The D2XP client sends this packet approximately every 15 seconds while the "Join Game" tab is focused. The request id is incremented by 0x01 for each subsequent MCP_GAMELIST (this is the same request id that is used by MCP_CREATEGAME and MCP_JOINGAME).
- Possibly a bug with the D2XP client, but this packet appears to be sent twice on the initial focus.
The 0x800 value sent for the dword unknown seems to be the same hardcore flag used in https://bnetdocs.org/packet/162/mcp-gameinfo. Softcore characters seem to request with 0, hardcore with 0x800 (checked SCNL, SCL, HCL all LoD). Further testing should probably be done to see if the server cares at all, if other flags work, or if it's possible to request game listings from modes you're not playing.
It now always send a zero'd dword, no matter if your hardcore, ladder or on which difficulty you at.