BNETDocs
C>S 0x5C SID_SWITCHPRODUCT
Message Id:0x5C
Message Name:SID_SWITCHPRODUCT
Direction:Client to Server
Used By:Warcraft III The Frozen Throne
Format:

(UINT32) Product ID

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.

| Edited:
Comments
Ribose

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).

Caaaaarrrrlll

I feel like the real purpose for this message is to:

  1. Ensure both WAR3 and W3XP keys show as in-use on Battle.net.
  2. Allow Battle.net to treat this client as WAR3 rather than W3XP 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.