Battle.net v2 Information
This document serves as a collage for information about Battle.net v2. Much of this information is available elsewhere. A lot of information has been taken from public, and private, repositories around the web.
Battle.net v2 is responsible for bringing World of Warcraft, Starcraft II, and Diablo III online to Blizzard's gaming service. It is also responsible for version checks, in-game news, and much more. Eventually, according to Blizzard themselves, Battle.net v2 will support the "older games" which may or may not leave out Shareware/Demo clients.
- The protocol uses HTTP for patches, news, and other things.
- The protocol operates on bit-level, as opposed to byte-level (like v1 was).
- When there is less than a full byte in a packet received (when the packet is not [size % 8]), the remaining bits are left null (0). When another packet is received, the remaining bits should be used for the beginning of the new packet, and not left null as they were received.
- Some data in packets are still read as full bytes, such as DWORDs (32-bits).
- The protocol uses 7 or 11 bits in the packet header. The first 6 bits are the packetID, the 7th bit is inChannel (a yes/no value). If isChannel is TRUE, then the header contains an extra 4 bits for the channelID, otherwise there are no bits left in the header.
- Bits are read right to left, fields are read left to right. So in the packet header, if it said 0000100, then you would be parsing the packetID first which would be 0x01, and then you would parse inChannel next which would say no.
- The protocol uses plaintext in the beginning, but after some communication, uses RC4 encryption on everything except the packet header.
- The protocol uses the SRP algorithm for account log-in and creation. *can someone please add if it is modified or standard SRP? For more information about standard SRP, see RFC 2945.
was donated by RealityRipple. At the time of writing, I had no time to paste and format the information into this document here, so for now accept the pastebin link as part of this document; it will later become integrated into this document so we do not have pastebin links heading everywhere.
Other information may come later. Until then, feel free to comment.
= Online = Offline
= Online = Offline