DB/BannedAddOns: Difference between revisions
Jump to navigation
Jump to search
(→Table) |
Barncastle (talk | contribs) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
{{Template:Sandbox/VersionRange|min_expansionlevel=3}} | {{Template:Sandbox/VersionRange|min_expansionlevel=3}} | ||
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 <code>m_lastModified</code> over both files is determined | |||
* <code>GetAddOnInfoRequest</code> is sent with other data and the timestamp | |||
* <code>SetAddOnInfoRequest</code> 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=== | ===3.0.2.8905-3.3.5.12340-6.0.1.18179=== | ||
====Table==== | ====Table==== | ||
Line 13: | Line 27: | ||
|1 || ID || Integer || | |1 || ID || Integer || | ||
|- | |- | ||
|2 || NameMD5 || char[0x10] || | |2 || NameMD5 || char[0x10] || MD5 of the toc Title tag | ||
|- | |- | ||
|3 || VersionMD5 || char[0x10] || | |3 || VersionMD5 || char[0x10] || MD5 of the toc Version tag | ||
|- | |- | ||
|4 || LastModified || Integer || In unix time | |4 || LastModified || Integer || In unix time | ||
Line 26: | Line 40: | ||
uint32_t m_ID; | uint32_t m_ID; | ||
uint32_t m_nameMD5_[4]; | uint32_t m_nameMD5_[4]; | ||
uint32_t m_versionMD5_[4]; | uint32_t m_versionMD5_[4]; // md5("") to ban all addons just matching name | ||
uint32_t m_lastModified; | 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; | uint32_t m_flags; | ||
}; | }; | ||
===7.0.3.22248 +=== | |||
====Table==== | |||
{| style="background:#FCFCFC; color:black" | |||
|- | |||
! width="80" | Column | |||
! width="180 " | Field | |||
! width="80" | Type | |||
! width="200" | 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 <code>SMSG_ADDON_INFO</code> packet. There is no header or anything. It is just a plain array of entries: | |||
BannedAddOnsRec cached_banned_addons[]; | |||
[[Category:DBC]] | [[Category:DBC]] | ||
[[Category:DBC_WotLK]] [[Category:3.0.2.8905]] [[Category:3.3.5.12340]] | [[Category:DBC_WotLK]] [[Category:3.0.2.8905]] [[Category:3.3.5.12340]] | ||
[[Category:DBC_WoD]] [[Category:6.0.1.18179]] | [[Category:DBC_WoD]] [[Category:6.0.1.18179]] |
Latest revision as of 12:42, 16 September 2017
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[];