C>S 0x5C SID_SWITCHPRODUCT
Transport Layer: | Transmission Control Protocol (TCP) |
---|---|
Application Layer: | Battle.net v1 TCP Messages (SID) |
Message Id: | 0x5C |
Message Name: | SID_SWITCHPRODUCT |
Direction: | Client to Server |
Used By: | Warcraft III The Frozen Throne |
Message Format: (does not include protocol header) |
|
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
WAR3
andW3XP
keys show as in-use on Battle.net. - Allow Battle.net to treat this client as
WAR3
rather thanW3XP
as 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.