S>C 0x46 SID_NEWS_INFO
Transport Layer: | Transmission Control Protocol (TCP) |
---|---|
Application Layer: | Battle.net v1 TCP Messages (SID) |
Message Id: | 0x46 |
Message Name: | SID_NEWS_INFO |
Direction: | Server to Client |
Used By: | Diablo II, Diablo II Lord of Destruction Warcraft III Reign of Chaos, Warcraft III The Frozen Throne |
Message Format: (does not include protocol header) |
|
Remarks
This packet contains news from Battle.net. Timestamps are in C/Unix format, biased for UTC.
Multiple separate news messages can be received. These should be treated the same as if one message was sent with several news entries.
If the 'Timestamp' field for an entry is zero, then that entry is the message of the day (and not a news entry in the normal respect).
Comments
When the official server sends this, it sends each entry in its own message with Number of entries
set to 1
and Newest news timestamp
set to the timestamp of the single entry that was sent in that message. Oldest news timestamp
seems to be the same across all entries, but even when requesting all of the news, an entry with that timestamp is not guaranteed to also be sent.
For the "MotD" entry (timestamp = 0) the Newest news timestamp
is neither 0 nor a value matching any of the other news entries that were sent. In my single sample it was newer than the newest actual news, but still a few years old. This MotD seems to be product-specific and can contain special characters. The last line seems to always be your last logon time, for example Last logon: Fri Sep 10 2:18 AM
(double spaces between date and time intentional, not sure if it's do to the single-digit hour or some other reason). If no other MotD is set for a product it'll just be this line.
On the official server, news entries are sent newest-to-oldest, and the MotD is sent at the end.