S>C 0x26 SID_READUSERDATA

Transport Layer:Transmission Control Protocol (TCP)
Application Layer:Battle.net v1 TCP Messages (SID)
Message Id:0x26
Message Name:SID_READUSERDATA
Direction:Server to Client
Used By:Starcraft Original, Starcraft Broodwar
Starcraft Shareware, Starcraft Japanese
Diablo Retail, Diablo Shareware
Diablo II, Diablo II Lord of Destruction
Warcraft II BNE
Message Format:
(does not include protocol header)
(UINT32) Number of accounts
(UINT32) Number of keys
(UINT32) Request ID
(STRING) [] Requested Key Values 

Remarks

Contains extended profile information as requested by the client.

Values are returned in the order they were requested. If the server refuses access to a requested key or the value is invalid or otherwise cannot be serialized as text, it prints an empty string for that value instead. No other error information is given from server to client to indicate what occurred to cause an empty string to be printed.

Also keep in mind that while the client may request a specific number of accounts and keys, the server may return 0 accounts and 0 keys in the reply. Clients should gracefully handle such scenarios. There should never be a scenario that the server replies with a partial number of keys or values than requested, it is either all or none, as these partial boundaries cannot be determined by the client during de-serialization.

If it is desired to graphically display or print values returned, note that the fields may contain characters that are otherwise not alphanumeric, such as tab or newline characters.

In addition, while official clients do not allow multiple lines in some values, such as profile\location, the server does not prevent this and some bots actively allow the user to put newlines into fields that the official clients only allow one line for.

For a full list of known keys, see the related C>S 0x26 SID_READUSERDATA.

| Edited: Anonymous

Comments

Caaaaarrrrlll

Updated to include link to known keys.