|Transport Layer:||Transmission Control Protocol (TCP)|
|Application Layer:||Battle.net v1 TCP Messages (SID)|
|Direction:||Client to Server|
|Used By:||Warcraft III The Frozen Throne|
(does not include protocol header)
This message is used to switch from
W3XP installed, the client sends both
W3XP keys in SID_AUTH_CHECK and uses
W3XP as the
Product Id in SID_AUTH_INFO. After a successful SID_AUTH_CHECK, the client sends this message with the Product Id set to
WAR3 to make the switch from expansion to non-expansion.
In experimenting I've found: (client I identified as in SID_AUTH_INFO) -> (client I sent in SID_SWITCHPRODUCT) = (result): W3XP -> WAR3 = intended result, using WAR3 in channel. Non-WarCraft III -> anything = short ipban. W3XP -> non-WarCraft III = kick. WAR3 -> non-WarCraft III = kick. W3XP -> W3XP = passes, but obviously does nothing. WAR3 -> WAR3 = passes, but obviously does nothing. WAR3 -> W3XP = passes, but does nothing (using WAR3 in channel).
I feel like the real purpose for this message is to:
- Ensure both
W3XPkeys show as in-use on Battle.net.
- Allow Battle.net to treat this client as
W3XPas it was originally to trigger both keys being in-use.
In short, it feels like Blizzard wants the Frozen Throne key to show as in-use even when playing Reign of Chaos.