C>S 0x5C SID_SWITCHPRODUCT
0x5C
SID_SWITCHPRODUCT
Remarks
This message is used to switch from W3XP to WAR3.
When running WAR3 with W3XP installed, the client sends both WAR3 and 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.
Comments
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
WAR3andW3XPkeys show as in-use on Battle.net. - Allow Battle.net to treat this client as
WAR3rather thanW3XPas 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.