Skip to content
d07RiV edited this page Mar 6, 2016 · 28 revisions

NGDP (Next Generation Download Protocol) is a new content distribution system introduced together with CASC.

The system provides configuration and data files for all recent Blizzard games, including the following (source):

Code Description
agent Battle.net Agent
bna Battle.net App
bnt Heroes of the Storm Alpha (Deprecated)
d3 Diablo 3 Retail
d3cn Diablo 3 China
d3t Diablo 3 Test
demo ? (Partial)
hero Heroes of the Storm Retail
herot Heroes of the Storm Test
hsb Hearthstone
pro Overwatch Retail
prodev Overwatch Dev
sc2 StarCraft II (Partial)
s2 StarCraft II
s2t StarCraft II Test (Partial)
s2b StarCraft II Beta
test ? (Partial)
storm Heroes of the Storm (Deprecated)
war3 Warcraft III (Partial)
wow World of Warcraft Retail
wowt World of Warcraft Test
wow_beta World of Warcraft Beta

Global configuration

Global configuration files can be obtained from the following URLs (where ProgramCode is a value from the above table):

Configuration file format

All global configuration files share the same table format. Here is an example of a /cdns file:

Name!STRING:0|Path!STRING:0|Hosts!STRING:0
us|tpr/d3|blzddist1-a.akamaihd.net blzddist2-a.akamaihd.net
eu|tpr/d3|blzddist1-a.akamaihd.net blzddist2-a.akamaihd.net
kr|tpr/d3|blzddistkr1-a.akamaihd.net blizzard.nefficient.co.kr blzddist1-a.akamaihd.net
tw|tpr/d3|blzddist1-a.akamaihd.net blzddist2-a.akamaihd.net
cn|tpr/d3|client01.pdl.wow.battlenet.com.cn client02.pdl.wow.battlenet.com.cn client03.pdl.wow.battlenet.com.cn client04.pdl.wow.battlenet.com.cn blzddist1-a.akamaihd.net

The first line describes the column names and formats, and can be ignored as it is always the same for a given file. The rest of the lines cointain table data, separated by vertical bars.

CDNS table

/cdns file (example above) lists available domains per region, and the download paths for the rest of configuration files and data. All files are accessed by a 16-byte MD5 hash, formatted as a 32-character hex string. The download URLs are formatted as follows:

http://host/path/type/first-byte/second-byte/full-hash

Where host and path are taken from the /cdns table, and first-byte and second-byte repeat the first two and second two characters of the hash string.

Known types include:

  • config - contains build config, CDN config and patch config files
  • data - contains game data files; smaller files are bundled together in archives
  • patch - contains patch data

An example URL:

http://blzddist1-a.akamaihd.net/tpr/d3/data/5a/6b/5a6b94ec102ce72e917f7284232ba6bb

Versions table

The /versions table contains the current build config and CDN config hashes per region, along with build ID and version strings. An example file (http://us.patch.battle.net:1119/d3t/versions):

Region!STRING:0|BuildConfig!HEX:16|CDNConfig!HEX:16|BuildId!DEC:4|VersionsName!String:0
us|e583b35f5a4de27d3b35cf484b439ee7|2505e067a5ef12d869fcaf406e5e6360|35056|2.4.0.35056
xx|e583b35f5a4de27d3b35cf484b439ee7|2505e067a5ef12d869fcaf406e5e6360|35056|2.4.0.35056
eu|e583b35f5a4de27d3b35cf484b439ee7|2505e067a5ef12d869fcaf406e5e6360|35056|2.4.0.35056
kr|e583b35f5a4de27d3b35cf484b439ee7|2505e067a5ef12d869fcaf406e5e6360|35056|2.4.0.35056
cn|e583b35f5a4de27d3b35cf484b439ee7|2505e067a5ef12d869fcaf406e5e6360|35056|2.4.0.35056
tw|e583b35f5a4de27d3b35cf484b439ee7|2505e067a5ef12d869fcaf406e5e6360|35056|2.4.0.35056

Clone this wiki locally