• Welcome to Valhalla Legends Archive.
 

Packet 0x46 Information

Started by Lenny, August 14, 2003, 01:15 AM

Previous topic - Next topic

Lenny

Anyone have any details on the Send part of this...
The Bovine Revolution
Something unimportant

Live Battle.net:

WARNING: The preceding message may have contained content unsuitable for young children.

Camel

Just one DWORD, which didn't seem to affect the response last time I checked.

Lenny

The Bovine Revolution
Something unimportant

Live Battle.net:

WARNING: The preceding message may have contained content unsuitable for young children.

Skywing

Quote from: Camel on August 14, 2003, 01:26 AM
Just one DWORD, which didn't seem to affect the response last time I checked.
This is incorrect; it does affect the response.

Hint: Have you noticed how the game seems to know what news is actually new, or that it receives lots more news the first time it connects after a fresh install than any other time after that?

On a side note, it looks like product-specific news support finally exists; you no longer receive Warcraft III news from Starcraft (you receive nothing except the MOTD now).

Camel

Interesting. Possibly some form of timestamp? The timestamp on the response appears to be seconds since midnight on Jan 1 1970, would it make sense for the client to send the current time or the last time it requested news in the same format?

TeamProx

It would make more sense to send the last time it requested news; else how would the server calculate which news posts are new to the client, and then send only those? If the server couldn't do that, then I would see no purpose in sending the current date to the server, since that's already done with packet 0x50 (or at least, the client's GMT offset).

Raven

You get all the news on a fresh install because you have an unmodified client. Once certain news becomes outdated, the client is patched to ignore the old stuff. Based on the discretion of the bnet team, the appearance of new articles may also include a routine to patch the client to ignore certain older entries, but this doesn't happen upon every login regardless of whether or not new news was available. :)

TeamProx

So then... what's the "timestamp" for?

Camel

Um, hello? Read what Skywing said.

From what I can see, it appears the server sends all of the news that was posted no more than <some constant ammount of time> before the time represented by the DWORD sent by the client in 0x46.

Proof: Send 0x46 with -1 (0xFFFFFFFF) as the DWORD. In this format, -1 represents [ 2/7/2106 6:28:14 AM ]. the response will be only the MOTD, without any news.
On the other hand, if one were to send zero as the DWORD -- representing [ 1/1/1970 12:00:00 AM ] -- all of the news (currently, two messages on WAR3) is displayed.