S>C 0x03 BOTNET_DATABASE

Transport Layer:Transmission Control Protocol (TCP)
Application Layer:BotNet Messages (PACKET)
Message Id:0x03
Message Name:BOTNET_DATABASE
Direction:Server to Client
Used By:(nothing or unknown)
Message Format:
(does not include protocol header)
(UINT32) Subcommand

For subcommand 0x01 (Transfer status):   [rev: 4]
    (UINT32) Transfer event

For subcommand 0x02 (Entry modified):
    (UINT32) Sending Bot ID              [rev: 4; awl: 1]
    (UINT32) Last modification time      [rev: 4; awl: 1]
    (STRING) Usermask
    (STRING) Flags
    (STRING) Comment                     [rev: 4; awl: 1]

For subcommand 0x03 (Entry removed):
    (UINT32) Sending Bot ID              [rev: 4; awl: 1]
    (UINT32) Last modification time      [rev: 4; awl: 1]
    (STRING) Usermask
    (STRING) Comment                     [rev: 4; awl: 1]

Remarks

Database data updated.

A database entry is a Usermask and Flags pair, conventionally describing a user or group of users on Battle.net and their permissions to the bot(s) using the database in the form of uppercase flags from A through Z.

Subcommand:

Possible values:

  • 0x01: Transfer status [rev: 4]
  • 0x02: Entry modified
  • 0x03: Entry removed

Other values are reserved.


Transfer status:

Possible values of Transfer event:

  • 0x00: Full transfer started
  • 0x01: Incremental transfer started
  • 0x02: Tranfer completed

Clients can request full or incremental transfers using C>S 0x03 BOTNET_DATABASE with Subcommand 0x01 (Request database). The server responds with a series of this message in this order:

  1. A message with Subcommand 0x01 (Transfer status) with Transfer event set to 0x00 (Full transfer started) or 0x01 (Incremental transfer started). Clients are encouraged to temporarily disable database change notifications on-screen, if they are present.
  2. A series of messages with Subcommand 0x02 (Entry modified) or 0x03 (Entry removed) indicating the contents of the full or incremental transfer.
  3. A message with Subcommand 0x01 (Transfer status) with Transfer event set to 0x02 (Transfer completed).

Server revision 4 added steps 1 and 3, and there was previously no indication when full transfers were complete. Server revision 4 also added the functionality to do incremental transfers.


Entry modified and Entry removed:

Subcommand 0x02 indicates a new database entry or a change to an existing database entry. Subcommand 0x03 indicates a removal of a database entry.

These two subcommands occur in the following situations:

  1. During a database transfer (see above).
  2. To distribute changes made by other clients.
  3. To countermand database changes which were rejected, if flag 0x01 (Await server confirmation of database changes) in C>S 0x0A BOTNET_CLIENT_VERSION/S>C 0x09's Client capabilities field is clear [the default].
  4. To confirm successful database changes, if flag 0x01 (Await server confirmation of database changes) in C>S 0x0A BOTNET_CLIENT_VERSION/S>C 0x09's Client capabilities field is set.

The Sending Bot ID field is the client who initiated the change. It is 0 when the message originates from the server.

The Last modification time is the last time this entry was modified.

The Usermask and Flags fields specify the entry contents.

The Comment contains the text that the user provided with the database modification. This only has contents when a user has just sent them in C>S 0x03 BOTNET_DATABASE with Subcommand 0x02 or 0x03.

| Edited: Anonymous

Comments

no one has commented yet.