frontpage hit counter
BnetDocs - guest


Available Topics:

Navigation:
News
Search BnetDocs
Credits

Logon:
Username
Password:
Register
Lost Password?

Documents:
Logon Sequences
Battle.net Flags
Battle.net's file transfer protocol (Version 1)
Battle.net's file transfer protocol (Version 2)
BNLS Checksum Algorithm
Clan Message Codes
Diablo II Game Server Accept Sequence
Diablo II Realm Server Logon Procedure
Game Statstrings
Icons.bni
NLS/SRP Protocol
Notational Conventions
Platform & Product IDs
Protocol Headers
Sizes & Types
User Statstrings
Warcraft III Profile Requests

Consts for all messages: [pas cpp vb]

Battle.net Messages:
[C>0x00] SID_NULL
[S>0x00] SID_NULL
[C>0x02] SID_STOPADV
[S>0x04] SID_SERVERLIST (Defunct)
[C>0x05] SID_CLIENTID
[S>0x05] SID_CLIENTID
[C>0x06] SID_STARTVERSIONING
[S>0x06] SID_STARTVERSIONING
[C>0x07] SID_REPORTVERSION
[S>0x07] SID_REPORTVERSION
[C>0x08] SID_STARTADVEX
[S>0x08] SID_STARTADVEX
[C>0x09] SID_GETADVLISTEX
[S>0x09] SID_GETADVLISTEX
[C>0x0A] SID_ENTERCHAT
[S>0x0A] SID_ENTERCHAT
[C>0x0B] SID_GETCHANNELLIST
[S>0x0B] SID_GETCHANNELLIST
[C>0x0C] SID_JOINCHANNEL
[C>0x0E] SID_CHATCOMMAND
[S>0x0F] SID_CHATEVENT
[C>0x10] SID_LEAVECHAT
[C>0x12] SID_LOCALEINFO
[S>0x13] SID_FLOODDETECTED
[C>0x14] SID_UDPPINGRESPONSE
[C>0x15] SID_CHECKAD
[S>0x15] SID_CHECKAD
[C>0x16] SID_CLICKAD
[C>0x18] SID_REGISTRY (Defunct)
[S>0x18] SID_REGISTRY (Defunct)
[S>0x19] SID_MESSAGEBOX
[C>0x1A] SID_STARTADVEX2 (Defunct)
[C>0x1B] SID_GAMEDATAADDRESS (Defunct)
[C>0x1C] SID_STARTADVEX3
[S>0x1C] SID_STARTADVEX3
[S>0x1D] SID_LOGONCHALLENGEEX
[C>0x1E] SID_CLIENTID2
[C>0x1F] SID_LEAVEGAME
[C>0x21] SID_DISPLAYAD
[C>0x22] SID_NOTIFYJOIN
[C>0x25] SID_PING
[S>0x25] SID_PING
[C>0x26] SID_READUSERDATA
[S>0x26] SID_READUSERDATA
[C>0x27] SID_WRITEUSERDATA
[S>0x28] SID_LOGONCHALLENGE
[C>0x29] SID_LOGONRESPONSE
[S>0x29] SID_LOGONRESPONSE
[C>0x2A] SID_CREATEACCOUNT
[S>0x2A] SID_CREATEACCOUNT
[C>0x2B] SID_SYSTEMINFO (Defunct)
[C>0x2C] SID_GAMERESULT
[C>0x2D] SID_GETICONDATA
[S>0x2D] SID_GETICONDATA
[C>0x2E] SID_GETLADDERDATA
[S>0x2E] SID_GETLADDERDATA
[C>0x2F] SID_FINDLADDERUSER
[S>0x2F] SID_FINDLADDERUSER
[C>0x30] SID_CDKEY
[S>0x30] SID_CDKEY
[C>0x31] SID_CHANGEPASSWORD
[S>0x31] SID_CHANGEPASSWORD
[C>0x32] SID_CHECKDATAFILE
[S>0x32] SID_CHECKDATAFILE
[C>0x33] SID_GETFILETIME
[S>0x33] SID_GETFILETIME
[C>0x34] SID_QUERYREALMS
[S>0x34] SID_QUERYREALMS
[C>0x35] SID_PROFILE
[S>0x35] SID_PROFILE
[C>0x36] SID_CDKEY2
[S>0x36] SID_CDKEY2
[C>0x3A] SID_LOGONRESPONSE2
[S>0x3A] SID_LOGONRESPONSE2
[C>0x3C] SID_CHECKDATAFILE2
[S>0x3C] SID_CHECKDATAFILE2
[C>0x3D] SID_CREATEACCOUNT2
[S>0x3D] SID_CREATEACCOUNT2
[C>0x3E] SID_LOGONREALMEX
[S>0x3E] SID_LOGONREALMEX
[S>0x3F] SID_STARTVERSIONING2
[C>0x40] SID_QUERYREALMS2
[S>0x40] SID_QUERYREALMS2
[C>0x41] SID_QUERYADURL
[S>0x41] SID_QUERYADURL
[C>0x44] SID_WARCRAFTGENERAL
[S>0x44] SID_WARCRAFTGENERAL
[C>0x45] SID_NETGAMEPORT
[C>0x46] SID_NEWS_INFO
[S>0x46] SID_NEWS_INFO
[S>0x4A] SID_OPTIONALWORK
[C>0x4B] SID_EXTRAWORK
[S>0x4C] SID_REQUIREDWORK
[C>0x50] SID_AUTH_INFO
[S>0x50] SID_AUTH_INFO
[C>0x51] SID_AUTH_CHECK
[S>0x51] SID_AUTH_CHECK
[C>0x52] SID_AUTH_ACCOUNTCREATE
[S>0x52] SID_AUTH_ACCOUNTCREATE
[C>0x53] SID_AUTH_ACCOUNTLOGON
[S>0x53] SID_AUTH_ACCOUNTLOGON
[C>0x54] SID_AUTH_ACCOUNTLOGONPROOF
[S>0x54] SID_AUTH_ACCOUNTLOGONPROOF
[C>0x55] SID_AUTH_ACCOUNTCHANGE
[S>0x55] SID_AUTH_ACCOUNTCHANGE
[C>0x56] SID_AUTH_ACCOUNTCHANGEPROOF
[S>0x56] SID_AUTH_ACCOUNTCHANGEPROOF
[C>0x57] SID_AUTH_ACCOUNTUPGRADE
[S>0x57] SID_AUTH_ACCOUNTUPGRADE
[S>0x58] SID_AUTH_ACCOUNTUPGRADEPROOF
[C>0x59] SID_SETEMAIL
[S>0x59] SID_SETEMAIL
[C>0x5A] SID_RESETPASSWORD
[C>0x5B] SID_CHANGEEMAIL
[C>0x5C] SID_SWITCHPRODUCT
[C>0x60] SID_GAMEPLAYERSEARCH
[S>0x60] SID_GAMEPLAYERSEARCH
[C>0x65] SID_FRIENDSLIST
[S>0x65] SID_FRIENDSLIST
[C>0x66] SID_FRIENDSUPDATE
[S>0x66] SID_FRIENDSUPDATE
[S>0x67] SID_FRIENDSADD
[S>0x68] SID_FRIENDSREMOVE
[S>0x69] SID_FRIENDSPOSITION
[C>0x70] SID_CLANFINDCANDIDATES
[S>0x70] SID_CLANFINDCANDIDATES
[C>0x71] SID_CLANINVITEMULTIPLE
[S>0x71] SID_CLANINVITEMULTIPLE
[C>0x72] SID_CLANCREATIONINVITATION
[S>0x72] SID_CLANCREATIONINVITATION
[C>0x73] SID_CLANDISBAND
[S>0x73] SID_CLANDISBAND
[C>0x74] SID_CLANMAKECHIEFTAIN
[S>0x74] SID_CLANMAKECHIEFTAIN
[S>0x75] SID_CLANINFO
[S>0x76] SID_CLANQUITNOTIFY
[C>0x77] SID_CLANINVITATION
[S>0x77] SID_CLANINVITATION
[C>0x78] SID_CLANREMOVEMEMBER
[S>0x78] SID_CLANREMOVEMEMBER
[C>0x79] SID_CLANINVITATIONRESPONSE
[S>0x79] SID_CLANINVITATIONRESPONSE
[C>0x7A] SID_CLANRANKCHANGE
[S>0x7A] SID_CLANRANKCHANGE
[C>0x7B] SID_CLANSETMOTD
[C>0x7C] SID_CLANMOTD
[S>0x7C] SID_CLANMOTD
[C>0x7D] SID_CLANMEMBERLIST
[S>0x7D] SID_CLANMEMBERLIST
[S>0x7E] SID_CLANMEMBERREMOVED
[S>0x7F] SID_CLANMEMBERSTATUSCHANGE
[S>0x81] SID_CLANMEMBERRANKCHANGE
[C>0x82] SID_CLANMEMBERINFORMATION
[S>0x82] SID_CLANMEMBERINFORMATION

View consts: [pas cpp vb]


Battle.net/Starcraft UDP Messages:
[C>0x03] PKT_CLIENTREQ
[S>0x05] PKT_SERVERPING
[C>0x07] PKT_KEEPALIVE
[C>0x08] PKT_CONNTEST
[C>0x09] PKT_CONNTEST2

View consts: [pas cpp vb]


Realm Messages:
The official Blizzard names for MCP packets are unknown. These have been invented for convenience.

[C>0x01] MCP_STARTUP
[S>0x01] MCP_STARTUP
[C>0x02] MCP_CHARCREATE
[S>0x02] MCP_CHARCREATE
[C>0x03] MCP_CREATEGAME
[S>0x03] MCP_CREATEGAME
[C>0x04] MCP_JOINGAME
[S>0x04] MCP_JOINGAME
[C>0x05] MCP_GAMELIST
[S>0x05] MCP_GAMELIST
[C>0x06] MCP_GAMEINFO
[S>0x06] MCP_GAMEINFO
[C>0x07] MCP_CHARLOGON
[S>0x07] MCP_CHARLOGON
[C>0x0A] MCP_CHARDELETE
[S>0x0A] MCP_CHARDELETE
[C>0x11] MCP_REQUESTLADDERDATA
[S>0x11] MCP_REQUESTLADDERDATA
[C>0x12] MCP_MOTD
[S>0x12] MCP_MOTD
[C>0x13] MCP_CANCELGAMECREATE
[S>0x14] MCP_CREATEQUEUE
[C>0x17] MCP_CHARLIST
[S>0x17] MCP_CHARLIST
[C>0x18] MCP_CHARUPGRADE
[S>0x18] MCP_CHARUPGRADE
[C>0x19] MCP_CHARLIST2
[S>0x19] MCP_CHARLIST2

View consts: [pas cpp vb]


D2GS Messages:
[C>0x01] D2GS_WALKTOLOCATION
[C>0x02] D2GS_WALKTOUNIT
[C>0x03] D2GS_RUNTOLOCATION
[C>0x04] D2GS_RUNTOUNIT
[C>0x05] D2GS_LEFTSKILLLOC
[C>0x06] D2GS_LEFTSKILLOBJ
[C>0x08] D2GS_REPEATLEFTSKILLLOC
[C>0x09] D2GS_REPEATLEFTSKILLOBJ
[C>0x0C] D2GS_RIGHTSKILLLOC
[C>0x0D] D2GS_RIGHTSKILLOBJ
[C>0x0F] D2GS_REPEATRIGHTSKILLLOC
[C>0x10] D2GS_REPEATRIGHTSKILLOBJ
[S>0x10] D2GS_CHARTOOBJ
[C>0x13] D2GS_INTERACTWITHOBJECT
[C>0x14] D2GS_CHARMESSAGE
[C>0x15] D2GS_CHATCOMMAND
[C>0x16] D2GS_PICKUPGROUNDITEM
[C>0x17] D2GS_DROPITEM
[C>0x18] D2GS_ITEMTOINVENTORY
[C>0x19] D2GS_PICKUPITEM
[S>0x19] D2GS_SMALLGOLDPICKUP
[C>0x1A] D2GS_ITEMTOBODY
[C>0x1B] D2GS_REMOVEBODYITEM
[C>0x1D] D2GS_SWITCHBODYITEM
[S>0x1D] D2GS_SETBYTEATTR
[S>0x1E] D2GS_SETWORDATTR
[C>0x1F] D2GS_SWITCHINVENTORYITEM
[S>0x1F] D2GS_SETDWORDATTR
[C>0x20] D2GS_USEITEM
[C>0x21] D2GS_STACKITEM
[C>0x22] D2GS_REMOVESTACKITEM (Defunct)
[C>0x23] D2GS_ITEMTOBELT
[C>0x24] D2GS_REMOVEBELTITEM
[C>0x25] D2GS_SWITCHBELTITEM
[C>0x26] D2GS_USEBELTITEM
[C>0x27] D2GS_0x27
[C>0x28] D2GS_INSERTSOCKETITEM
[C>0x29] D2GS_SCROLLTOTOME
[C>0x2A] D2GS_ITEMTOCUBE
[C>0x2D] D2GS_UNSELECTOBJ (Defunct)
[C>0x2F] D2GS_NPCHEAL
[C>0x30] D2GS_NPCCANCEL
[C>0x32] D2GS_NPCBUY
[C>0x33] D2GS_NPCSELL
[C>0x38] D2GS_NPCTRADE
[C>0x3F] D2GS_CHARACTERPHRASE
[C>0x49] D2GS_WAYPOINT
[C>0x4F] D2GS_TRADE
[C>0x50] D2GS_DROPGOLD
[S>0x51] D2GS_WORLDOBJECT
[S>0x5C] D2GS_(COMP)STARTGAME
[C>0x5E] D2GS_PARTY
[C>0x61] D2GS_POTIONTOMERCENARY
[C>0x68] D2GS_GAMELOGON
[C>0x6A] D2GS_ENTERGAMEENVIRONMENT
[C>0x6D] D2GS_PING
[S>0x77] D2GS_TRADEACTION
[S>0x7A] D2GS_LOGONRESPONSE
[S>0xAF] D2GS_STARTLOGON

View consts: [pas cpp vb]


Botnet Messages:
[C>0x00] PACKET_IDLE
[S>0x00] PACKET_IDLE
[C>0x01] PACKET_LOGON
[S>0x01] PACKET_LOGON
[C>0x02] PACKET_STATSUPDATE
[S>0x02] PACKET_STATSUPDATE
[C>0x03] PACKET_DATABASE
[S>0x03] PACKET_DATABASE
[C>0x04] PACKET_MESSAGE
[S>0x04] PACKET_MESSAGE
[C>0x05] PACKET_CYCLE
[S>0x05] PACKET_CYCLE
[C>0x06] PACKET_USERINFO
[S>0x06] PACKET_USERINFO
[C>0x07] PACKET_BROADCASTMESSAGE
[S>0x07] PACKET_USERLOGGINGOFF
[C>0x08] PACKET_COMMAND
[C>0x09] PACKET_CHANGEDBPASSWORD
[S>0x0A] PACKET_BOTNETVERSION
[C>0x0B] PACKET_BOTNETCHAT
[S>0x0B] PACKET_BOTNETCHAT
[C>0x0D] PACKET_ACCOUNT
[S>0x0D] PACKET_ACCOUNT
[C>0x10] PACKET_CHATDROPOPTIONS
[S>0x10] PACKET_CHATDROPOPTIONS

View consts: [pas cpp vb]


BNLS Messages:
This reference is only here for convinience, and may not be complete or up to date. The original and updated documentation can be found here.

[C>0x00] BNLS_NULL
[C>0x01] BNLS_CDKEY
[S>0x01] BNLS_CDKEY
[C>0x02] BNLS_LOGONCHALLENGE
[S>0x02] BNLS_LOGONCHALLENGE
[C>0x03] BNLS_LOGONPROOF
[S>0x03] BNLS_LOGONPROOF
[C>0x04] BNLS_CREATEACCOUNT
[S>0x04] BNLS_CREATEACCOUNT
[S>0x05] BNLS_CHANGECHALLENGE
[C>0x05] BNLS_CHANGECHALLENGE
[C>0x06] BNLS_CHANGEPROOF
[S>0x06] BNLS_CHANGEPROOF
[C>0x07] BNLS_UPGRADECHALLENGE
[S>0x07] BNLS_UPGRADECHALLENGE
[C>0x08] BNLS_UPGRADEPROOF
[S>0x08] BNLS_UPGRADEPROOF
[C>0x09] BNLS_VERSIONCHECK
[S>0x09] BNLS_VERSIONCHECK
[C>0x0A] BNLS_CONFIRMLOGON
[S>0x0A] BNLS_CONFIRMLOGON
[C>0x0B] BNLS_HASHDATA
[S>0x0B] BNLS_HASHDATA
[C>0x0C] BNLS_CDKEY_EX
[S>0x0C] BNLS_CDKEY_EX
[C>0x0D] BNLS_CHOOSENLSREVISION
[S>0x0D] BNLS_CHOOSENLSREVISION
[C>0x0E] BNLS_AUTHORIZE
[S>0x0E] BNLS_AUTHORIZE
[C>0x0F] BNLS_AUTHORIZEPROOF
[S>0x0F] BNLS_AUTHORIZEPROOF
[C>0x10] BNLS_REQUESTVERSIONBYTE
[S>0x10] BNLS_REQUESTVERSIONBYTE
[C>0x11] BNLS_VERIFYSERVER
[S>0x11] BNLS_VERIFYSERVER
[C>0x12] BNLS_RESERVESERVERSLOTS
[S>0x12] BNLS_RESERVESERVERSLOTS
[C>0x13] BNLS_SERVERLOGONCHALLENGE
[S>0x13] BNLS_SERVERLOGONCHALLENGE
[C>0x14] BNLS_SERVERLOGONPROOF
[S>0x14] BNLS_SERVERLOGONPROOF
[C>0x18] BNLS_VERSIONCHECKEX
[S>0x18] BNLS_VERSIONCHECKEX
[C>0x1A] BNLS_VERSIONCHECKEX2
[S>0x1A] BNLS_VERSIONCHECKEX2

View consts: [pas cpp vb]


Other Resources:
The Battle.net Bot Development Website
Valhalla Legends

User Statstrings


Diablo
Diablo statstrings contain 9 fields, delimited with spaces.
1 Character Level
2 Character Class 0x00: Warrior
0x01: Rogue
0x02: Sorcerer
3 Number of dots
4 Character Strength
5 Character Magic
6 Character Dexterity
7 Character Vitality
8 Character's Gold
9 Unknown


Starcraft, Starcraft Japanese, Brood War, and Warcraft II
These products use the same format for their statstrings as Diablo. Most of these fields are usually 0 and their meanings are not known.
1 Ladder Rating The user's current ladder rating.
2 Ladder rank The player's rank on the ladder.
3 Wins The number of wins the user has in normal games.
4 Spawned This field is 1 if the user's client is spawned, 0 otherwise.
5 Unknown
6 High Ladder Rating This is the user's 'highest ever' ladder rating.
7 Unknown
8 Unknown
9 Icon This value should be matched against the product values of each icon in each Battle.net Icon file that is loaded. If a match is found, the client should use this icon when displaying the user.


Diablo II, Diablo II: LoD
The first three fields of these statstrings contain the user's product, realm, and character name. Following that, the statstring contains non-textual data about the user's character.

More information on this topic will be available soon.

Warcraft III, Warcraft III: TFT
Warcraft III and it's expansion have statstings which have two, possibly three, parts.

1 Icon The format of this contains usually always contains the user's most played race, and what icon they have for that race. This value should be matched against the product values of each icon in each MPQ icon file that is loaded. If a match is found, the client should use this icon when displaying the user. The Battle.net Warcraft III ladder icon info page (also Battle.net Frozen Throne ladder icon info) could help determine the icon. If the first character of the icon is a '1', then the user has the first icon of the specified race which is the second character of the icon ('H' is humans, 'N' is night elf, 'O' is orc, 'U' is undead, 'R' is random, and for Frozen Throne, 'D' is tournament).

The last two characters of the icon (generally is '3W') are not known right now as to what they do, but in the past for KBK they have been seen to have different values.
2 Level Highest level out of all possible game types that the user has played.
3 Clan Tag This is optional and will only appear if a user is in a clan.
#16



User Comments:

Starcraft
Posted by Dragon.fe on 12/02/05 01:28
2 Unknown = Ladder rank
if the user is actualy on the ladder ranking list this will show a # between 1 and 999
#273


Diablo
Posted by Dragon.fe on 12/02/05 01:14
Diablo
3 Unknown = # of dots on the icon
will only ever be 0-3 via the game client
0 = has yet to kill Diablo
1 = has killed Diablo in normal
2 = has killed Diablo in nightmare
3 = has killed Diablo in hell

Untill Arta fix's ;p
#272




For detailed questions and discussion, visit the Battle.Net Bot Development Forum.

Battle.Net©® 1996 - 2002 Blizzard Entertainment. All rights reserved. Battle.net and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment in the U.S. and/or other countries. Blizzard Entertainment©® is a trademark or registered trademark of Blizzard Entertainment in the U.S. and/or other countries. All rights reserved. StarCraft©® 1998 Blizzard Entertainment. All rights reserved. StarCraft and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment in the U.S. and/or other countries. StarCraft©®: Brood War©® 1998 Blizzard Entertainment. All rights reserved. StarCraft, Brood War and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment in the U.S. and/or other countries.

The following applies to material & trademarks not owned by Blizzard Entertainment: All material on this website is protected by copyright, and may not be reproduced without the explicit permission of the copyright owner. The copyright owner reserves all rights with respect to the acts protected by copyright. Any dispute pertaining to copyright shall be resolved according to the laws of the United Kingdom. For more information, contact the copyright owner.

Ads