S>C 0x26 SID_READUSERDATA
|Transport Layer:||Transmission Control Protocol (TCP)|
|Application Layer:||Battle.net v1 TCP Messages (SID)|
|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
(does not include protocol header)
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.
Updated to include link to known keys.