DB/BannedAddOns

From wowdev
Revision as of 20:42, 6 September 2017 by Schlumpf (talk | contribs)
Jump to navigation Jump to search

≥ Wrath

This DBC is used to ban addons. In addition to the DBC, there is also the baddons.wcf file, which is an early form of hotfixing when there was no hotfixing tech.

Upon connecting to the server,

  • DB/BannedAddOns is loaded
  • baddons.wcf is loaded
  • the maximum m_lastModified over both files is determined
  • GetAddOnInfoRequest is sent with other data and the timestamp
  • SetAddOnInfoRequest is received with new banned addons and other data
  • new ban data is merged with existing data
  • baddons.wcf is written with the updated data
  • loaded addons are checked if they match and if they do, they are refused loading

3.0.2.8905-3.3.5.12340-6.0.1.18179

Table

Column Field Type Notes
1 ID Integer
2 NameMD5 char[0x10]
3 VersionMD5 char[0x10]
4 LastModified Integer In unix time
5 Flags Integer

Struct

struct BannedAddOnsRec {
  uint32_t m_ID;
  uint32_t m_nameMD5_[4];
  uint32_t m_versionMD5_[4]; // md5("") to ban all addons just matching name
  uint32_t m_lastModified;   // seconds since epoch (unix time)
  enum {
    flag_is_banned = 1,      // entries without this flag are ignored in FindBannedAddOn
  };
  uint32_t m_flags;
};