DB/BannedAddOns
Jump to navigation
Jump to search
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 timestampSetAddOnInfoRequest
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] | MD5 of the toc Title tag |
3 | VersionMD5 | char[0x10] | MD5 of the toc Version tag |
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; };
7.0.3.22248 +
Table
Column | Field | Type | Notes |
---|---|---|---|
1 | ID | Integer | |
2 | Name | string | The toc Title tag |
3 | Version | string | The toc Version tag |
4 | Flags | Byte | Same as above |
baddons.wcf
The cache file has the exact same format as the DB entries. This file is generated by the client from the SMSG_ADDON_INFO
packet. There is no header or anything. It is just a plain array of entries:
BannedAddOnsRec cached_banned_addons[];