S>C 0x08 BOTNET_PROTOCOL_VIOLATION

Transport Layer:Transmission Control Protocol (TCP)
Application Layer:BotNet Messages (PACKET)
Message Id:0x08
Message Name:BOTNET_PROTOCOL_VIOLATION
Direction:Server to Client
Used By:(nothing or unknown)
Message Format:
(does not include protocol header)
(UINT32) Error code
 (UINT8) Offending message ID
(UINT16) Offending message length
(UINT16) Unprocessed data length

Remarks

Client violated protocol.

This message is supported as of server revision 4.

This is received by any client violating the protocol. After being received, the server will immediately close the connection. The four fields should be used to debug your client and determine what exactly was incorrectly implemented from the lists below.

The Error code is message-specific unless otherwise noted.

Offending message ID is the ID found in the Client to Server message you sent which raised the error.

Offending message length is the length of that message.

Unprocessed data length is the amount of bytes in the server's buffer that arrived after that message.


The outer list is of Offending message ID values and each ID has a list of Error codes with their meanings.

  • Any message ID:

    • 0x01: Unrecognized message ID.
  • C>S 0x01 BOTNET_LOGON:

    • 0x02: Bad state: Client is attempting to identify themself a second time.
    • 0x03: Bad size: Bot name field.
    • 0x04: Bad size: Bot password field.
    • 0x05: Empty: Bot name field.
    • 0x06: Empty: Bot password field.
  • C>S 0x02 BOTNET_STATSUPDATE:

    • 0x02: Bad state: Client has not identified themselves with C>S 0x01 BOTNET_LOGON.
    • 0x03: Bad size: Message too small.
    • 0x04: Bad size: Battle.net unique username field.
    • 0x05: Bad size: Battle.net current channel field.
    • 0x06: Missing: Battle.net server IP address field.
    • 0x07: Bad size: Database name and password field.
    • 0x08: Missing: Cycle status field.
    • 0x09: Empty: Battle.net unique username field.
    • 0x0A: Empty: Battle.net current channel field.
    • 0x0B: Invalid: Battle.net server IP address field.
    • 0x0C: Malformed: Battle.net unique username field.
    • 0x0D: Malformed: Database name and password field.
  • C>S 0x03 BOTNET_DATABASE:

    • 0x02: Missing: Subcommand field.
    • 0x03: Bad state: Client tried to perform a database modification while invisible.
    • 0x04: Invalid: Subcommand field.
    • Subcommand was 0x01:
      • [no specific errors defined]
    • Subcommand was 0x02:
      • 0x05: Missing: Usermask field.
      • 0x06: Missing: Flags field.
      • 0x07: Empty: Usermask field.
      • 0x08: Empty: Flags field.
      • 0x09: Malformed: Usermask field.
      • 0x0A: Malformed: Flags field.
    • Subcommand was 0x03:
      • 0x05: Bad size: Message too small.
      • 0x06: Missing: Usermask field.
      • 0x07: Empty: Usermask field.
      • 0x08: Malformed: Usermask field.
  • C>S 0x04 BOTNET_COMMAND_TO_DATABASE:

    • 0x02: Bad state: Client tried to issue command while invisible.
    • 0x03: Missing: Sender name field.
    • 0x04: Missing: Command field.
    • 0x05: Empty: Sender name field.
    • 0x06: Empty: Command field.
    • 0x07: Malformed: Sender name field.
  • C>S 0x05 BOTNET_CYCLE:

    • 0x02: Bad state: Client tried to perform cycle while invisible.
    • 0x03: Missing: Count field.
    • 0x04: Count is zero.
    • 0x05: Not enough data in message to satisfy Count value.
    • 0x06: Specified more clients than are connected.
  • C>S 0x06 BOTNET_USER_LIST:

    • 0x02: Bad state: Client tried to query list while invisible.
      Because the client is always the first entry in the response, they must be visible to be returned.
  • C>S 0x07 BOTNET_COMMAND_TO_ALL:

    • 0x02: Bad state: Client tried to issue command while invisible.
    • 0x03: Missing: Sender name field.
    • 0x04: Missing: Command field.
    • 0x05: Empty: Sender name field.
    • 0x06: Empty: Command field.
    • 0x07: Malformed: Sender name field.
  • C>S 0x08 BOTNET_COMMAND_TO:

    • 0x02: Bad state: Client tried to issue command while invisible.
    • 0x03: Missing: Target bot ID field.
    • 0x04: Missing: Sender name field.
    • 0x05: Missing: Command field.
    • 0x06: Empty: Sender name field.
    • 0x07: Empty: Command field.
    • 0x08: Invalid: Target bot ID field.
    • 0x09: Malformed: Sender name field.
  • C>S 0x09 BOTNET_DATABASE_CHPW:

    • 0x02: Bad state: Client tried to change password while invisible.
    • 0x03: Missing: Password selection field.
    • 0x04: Missing: New password field.
    • 0x05: Malformed: New password field.
  • C>S 0x0A BOTNET_CLIENT_VERSION:

    • 0x02: Missing: Client awareness level field.
    • 0x03: Missing: Client capabilities field.
    • 0x04: Unsupported bits set in the Client capabilities field.
  • C>S 0x0B BOTNET_CHAT:

    • 0x02: Bad state: Client tried to chat while invisible.
    • 0x03: Missing: Command field.
    • 0x04: Missing: Action field.
    • 0x05: Missing: Bot ID field.
    • 0x06: Missing: Message field.
    • 0x07: Invalid: Command field.
    • 0x08: Invalid target, only if attempting to whisper.
  • C>S 0x0C BOTNET_ADMIN:

    • 0x02: Bad state: Client invisible.
    • 0x03: Missing: Subcommand field.
    • Subcommand-specific errors are undocumented.
  • C>S 0x0D BOTNET_ACCOUNT:

    • 0x02: Missing: Subcommand field.
    • 0x03: Invalid: Subcommand field.
    • 0x04: Missing: Account name field.
    • 0x05: Empty: Account name field.
    • Subcommand was 0x00:
      • 0x06: Missing: Account password field.
      • 0x07: Empty: Account password field.
    • Subcommand was 0x01:
      • 0x06: Missing: Account old password field.
      • 0x07: Empty: Account old password field.
      • 0x08: Missing: Account new password field.
      • 0x09: Empty: Account new password field.
    • Subcommand was 0x02:
      • 0x06: Missing: Account password field.
      • 0x07: Empty: Account password field.
| Edited: Ribose

Comments

no one has commented yet.