# Functions
Deserialize reads exactly one packet from b and returns it in the proper (deserialized) packet type.
NewDecoder initialization.
NewEncoder initialization.
NewFactoryCache initializes CacheFactory.
Read exactly one packet from r and returns it in the proper (deserialized) packet type.
ReqResp is a helper to separate FactoryFunc into request/response funcs.
Serialize serializes p and returns its byte representation.
Write serializes p and writes it to w.
# Constants
Name contains adjacent punctuation characters.
Name contains an illegal word.
Name contains an illegal character.
Name already exists.
Name is too short/blank.
Successfully created account name.
Name contains too few alphanumeric characters.
Name contains too many punctuation characters.
Spawned CD-Key not allowed.
Game full.
Incorrect password.
Game doesn't exist.
Too many server requests.
Game already started.
OK.
Banned key.
CD key in use (Additional info field supplies name of user).
Invalid CD key (If you receive this status, official Battle.net servers will IP ban you for 1 to 14 days.
Game version must be downgraded (Additional info field supplies patch MPQ filename).
Invalid version.
Invalid version (error code correlates to exact version).
Passed challenge.
Old game version (Additional info field supplies patch MPQ filename).
Wrong product.
JoinChannel options.
JoinChannel options.
JoinChannel options.
Server broadcast.
Channel doesn't exist.
Chat.
Globally Accessible.
Moderated.
Product-Specific.
Public Channel.
Redirected.
Restricted.
Silent.
System.
Tech Support.
Channel full.
Channel information.
Channel is restricted.
Emote.
Error message.
Notifies that a user has been ignored (DEFUNCT).
Information.
User joined channel.
User left channel.
User in channel.
Chat text.
Notifies that a user has been unignored (DEFUNCT).
Battle.net Administrator.
Blizzard Representative.
Channel Operator.
Channel Speaker.
Squelched.
Flags update.
Recieved whisper.
Sent whisper.
Initiate (Peon icon).
Leader (Chieftain icon).
Member (Grunt icon).
Initiate (Peon icon), in clan less than one week.
Officer (Shaman icon).
Game is full.
Game contains players (other than creator).
Game is in progress.
Game is open for players (?).
Game is private.
Game is a replay.
Account doesn't exist.
Account closed.
Custom error.
Incorrect password.
An email address should be registered for this account.
Logon successful.
Logon accepted, requires proof.
Account requires upgrade.
C -> S | S -> C.
C -> S | S -> C.
C -> S | S -> C.
C -> S | S -> C.
C -> S | S -> C.
C -> S | S -> C.
C -> S | S -> C.
C -> S |.
| S -> C.
| S -> C.
C -> S | S -> C.
| S -> C.
C -> S | S -> C.
C -> S |.
| S -> C.
C -> S |.
C -> S |.
C -> S | S -> C.
C -> S | S -> C.
C -> S |.
C -> S | S -> C.
C -> S |.
ProtocolGreeting is the BNCS magic number first sent by the client when initiating a connection.
ProtocolSig is the BNCS magic number used in the packet header.
# Variables
DefaultFactory maps packet IDs to matching type.
Errors.
Errors.
Errors.
Errors.
Errors.
# Structs
AuthAccountChangePassProofReq implements the [0x56] SID_AUTH_ACCOUNTCHANGEPROOF packet (C -> S).
AuthAccountChangePassProofResp implements the [0x56] SID_AUTH_ACCOUNTCHANGEPROOF packet (S -> C).
AuthAccountChangePassReq implements the [0x55] SID_AUTH_ACCOUNTCHANGE packet (C -> S).
AuthAccountChangePassResp implements the [0x55] SID_AUTH_ACCOUNTCHANGE packet (S -> C).
AuthAccountCreateReq implements the [0x52] SID_AUTH_ACCOUNTCREATE packet (C -> S).
AuthAccountCreateResp implements the [0x52] SID_AUTH_ACCOUNTCREATE packet (S -> C).
AuthAccountLogonProofReq implements the [0x54] SID_AUTH_ACCOUNTLOGONPROOF packet (C -> S).
AuthAccountLogonProofResp implements the [0x54] SID_AUTH_ACCOUNTLOGONPROOF packet (S -> C).
AuthAccountLogonReq implements the [0x53] SID_AUTH_ACCOUNTLOGON packet (C -> S).
AuthAccountLogonResp implements the [0x53] SID_AUTH_ACCOUNTLOGON packet (S -> C).
AuthCheckReq implements the [0x51] SID_AUTH_CHECK packet (C -> S).
AuthCheckResp implements the [0x51] SID_AUTH_CHECK packet (S -> C).
AuthInfoReq implements the [0x50] SID_AUTH_INFO packet (C -> S).
AuthInfoResp implements the [0x50] SID_AUTH_INFO packet (S -> C).
CacheFactory implements a PacketFactory that will only create a type once.
CDKey stores the CD key information.
ChatCommand implements the [0x0E] SID_ChatCommand packet (C -> S).
ChatEvent implements the [0x0F] SID_ChatEvent packet (S -> C).
ClanInfo implements the [0x75] SID_CLANINFO packet (S -> C).
Decoder keeps amortized allocs at 0 for repeated Packet.Deserialize calls.
Encoder keeps amortized allocs at 0 for repeated Packet.Serialize calls.
Encoding options for (de)serialization.
EnterChatReq implements the [0x0A] SID_EnterChat packet (C -> S).
EnterChatResp implements the [0x0A] SID_EnterChat packet (S -> C).
FloodDetected implements the [0x13] SID_FloodDetected packet (S -> C).
GameSettings stores the settings of a created game.
GetAdvListGame stores a game in GetAdvList.
GetAdvListReq implements the [0x09] SID_GetAdvListEx packet (C -> S).
GetAdvListResp implements the [0x09] SID_GetAdvListEx packet (S -> C).
JoinChannel implements the [0x0C] SID_JoinChannel packet (C -> S).
KeepAlive implements the [0x00] SID_Null packet (S -> C, C -> S).
MessageBox implements the [0x19] SID_MessageBox packet (S -> C).
NetGamePort implements the [0x45] SID_NetGamePort packet (C -> S).
NotifyJoin implements the [0x22] SID_NotifyJoin packet (C -> S).
Ping implements the [0x25] SID_Ping packet (S -> C, C -> S).
SetEmail implements the [0x59] SID_SETEMAIL packet (C -> S).
StartAdvex3Req implements the [0x1C] SID_StartAdvex3 packet (C -> S).
StartAdvex3Resp implements the [0x1C] SID_StartAdvex3 packet (S -> C).
StopAdv implements the [0x02] SID_StopAdv packet (C -> S).
UnknownPacket is used to store unknown packets.
# Interfaces
Packet interface.
PacketFactory returns a struct of the appropiate type for a packet ID.
# Type aliases
AccountCreateResult enum.
AdvListResult enum.
AuthResult enum.
ChatChannelFlags enum.
ChatEventType enum.
ChatUserFlags enum.
ClanRank enum.
FactoryFunc creates new Packet.
GameStateFlags enum.
JoinChannelFlag enum.
LogonProofResult enum.
LogonResult enum.
MapFactory implements PacketFactory using a map.