|Transport Layer:||Transmission Control Protocol (TCP)|
|Application Layer:||Battle.net v1 TCP Messages (SID)|
|Direction:||Server to Client|
|Used By:||Diablo II, Diablo II Lord of Destruction|
Warcraft III Reign of Chaos, Warcraft III The Frozen Throne
(does not include protocol header)
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).
When the official server sends this, it sends each entry in its own message with
Number of entries set to
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.