BNETDocs
S>C 0x06 MCP_GAMEINFO
Message Id:0x06
Message Name:MCP_GAMEINFO
Direction:Server to Client
Used By:Diablo II, Diablo II Lord of Destruction
Format:

  (UINT16)     Request ID
 (UINT32)     Status
 (UINT32)     Game uptime (seconds)
  (UINT8)     Level restriction level *
  (UINT8)     Level restriction difference *
  (UINT8)     Maximum players allowed
  (UINT8)     Number of characters in the game
  (UINT8)[16] Classes of ingame characters **
  (UINT8)[16] Levels of ingame characters **
(STRING)     Game description
(STRING)[16] Character names **

Remarks

Information about a specific game. The game client requests this when a game is selected in the list.

Status is usually a set of flags about the game. If it is 0, the packet contains no useful information and the server is probably down. If it is 0xFFFFFFFE, the request was not valid.

Flag values (OR them together), if valid:

  • Difficulty:
    • 0x0000: Normal
    • 0x1000: Nightmare
    • 0x2000: Hell
  • Type:
    • 0x200000: Ladder
    • 0x100000: Expansion
    • 0x800: Hardcore

* The level range shown in game is calculated from the level restriction values; level and difference bytes are used to make the range max(1, level - difference) to min(99, level + difference).

** Internally, there are 16 character slots, but the last 8 are always empty. This value sometimes includes some empty character slots. Then, some empty strings are added to the end of the packet. To determine the number of characters really in the game:

CharsInGameReal = CharsInGameFake - AmountOfEmptyCharNames;

Byte N here refers to character in slot N, or 0 if the slot is empty.

| Edited:
Comments

no one has commented yet.