-
Notifications
You must be signed in to change notification settings - Fork 36
NGDP
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 files can be obtained from the following URLs (where ProgramCode is a value from the above table):
- http://us.patch.battle.net:1119/(ProgramCode)/cdns - table of domains and paths containing game data, per region
- http://us.patch.battle.net:1119/(ProgramCode)/versions - table of current game versions and CDN configs per region
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 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
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
The two hash strings can be used in the config URL described in the previous section to obtain the CDN and build config files.
cdn-config, build-config and patch-config files all follow a similar plain text format, described in the following sections.
Here is a sample cdn-config file:
# CDN Configuration
archives = 01d7d7a9521d7c2b5967956e222f9574 020efa2db06256f66745e256c06838c7 031257b98ca9541724a8a0db5f82be0e 0641814e4e408af39ab4fd978b34c7cc 07bcfe50e5eee70259b03305eff64674 088f1a3351df9f09070b7be209b24d2b 09e06fabac63d90dd811391b610fcb8b 0af505cd8548e87086f268ebc15c9226 0c1f1d3830073377bb366184ba547340 0cd0aba397db52dafe133c1fe66fdde5 0d312ac9c4cdbcfa9885c5607a81c7fd 0e778873710c4949cc4aedf706343335 0ff72aa032b22f56de8b480b3902e3bc 1163733de2259cf54f55950cacb2a6a3 14755ccb742441eff156e5ade8e43918 16a65f37c377b6d9cb77be9559f963d0 171739ba9bd36e6e811b43d25d9d41f0 17a5d406b7012a82e98e785e1e4ab103 18234687b889df21c855961016aa3853 185083f0a8a2b58e293a51866b67ad1e 19032b232100b2593d2d2ccac0a515e9 19cbbf7ecbce19e2a72bf47856fa4f6b 1a7ae51e43e58186524aabe59fe3cf52 1ad8f03b671a750ff3931392ebc0cc55 1c07d0ef69116cb927f3e75814393799 1d2639db7ac6070854d5249b27517746 220ea2da5de411b840ba3b23e877bcfe 227f81d8d5229c15ff62bf8164b4b968 24f99dceb1256ac914ea5c61c8aa50bf 25263dacdc7cd63a92e6d07e9aead6c1 273a0c959362eb70adf02d38ee66199f 29ccc5ac58dd28753069758f3f857aab 2c1d6c0cc786e53d1cc6ee5cd9e1f663 2c3b6fd79ab40c8e93b6e141c7a404b5 2c9fbd67ed3202143a18adc2017550ad 2e6c151489fb439cc7d6ae8fce69685e 2f5bd0d2a4eb152dd41e0c40c10403d3 30550327ad5939ddc458eccabbc2c93a 305bd533a56140414081c203fced6900 308fc86d78627c9c354d9292f3b8788d 32f1a6d9de4ab9ba379e5c89cbe49ee4 33924730ec636bf0943951595adc27d8 347ce3da8bd2a9effa539bdde2e78ce4 37f2f8c64c943b195f06e1a11fbf5e90 389a13f170d40f370c0007d93599bd16 39c16353d8384a3aac3e7fe3e7faa866 3baf37878ba49dc523caef6552a66e08 3c17b00d27e63a2968f6bc9787c0b70b 3d4a33d0682fb7df8fabc730a78a0b66 3e3e8e189a43678de9ef0f3540f7ead3 3ec69ce6e77f94218db2fb3aee4a865b 410161940150ecf44de5e6b98a3b3fe5 413c82737a07c2d3ae9d1cdaacdf5034 429d12c02fbafee7210273ab7ac6768d 42da9b100f8b89e96fdc78d2916f63fd 45668d2fcf503ab45c50f1599040e84f 47d5f66f0d1a79840d0b0e452cbbb75b 48a71453b94db1c5ecd727a06834b4ea 4a44a7f586afbf2051f0aeb18bb9d271 4b59f4e9a14dc6740e05932d71d395bc 4c619107fbb94312939d3122d30381c9 4d0f32231bad440998149ee3f63d1b72 4d3b47452a465bb475b0d278282fc2e1 4e1d286460c41ac7c630429169d7e59a 4e441e4c0d7de60c7fb40a07f15c1023 4e843b80589abad147a70a7ad7cb21dc 4e96c2d0e6b26ee217d515035cdcfb64 4ebea24bc0e3a910c6b13734ffe6e830 527d6d0cca4edf7f7045cdd7b8fb763a 52e11bd18247c7dc766fe6e888820fd8 5401d1184a59e163f92a09995f45ac8d 5525ffe042d6fb51ae202542328b39c6 5841561a3dfd595fe6a401464a5ed1b8 5a2f1c8cd71614ba3d355f9cd7909e2c 5e27d8ee269d40b23de6a0eb0e974c82 5f7c0b44595f5909d4647008563aa155 5ff4adc5f43f9e5057b066fff98302e9 6033339137cf98a7ea9297f1c20bf546 60e7ab941a1d3a34db3daa9736a279a0 6181b584b22738367f7f0c4b6cfb2f70 622a64cb4833454c3674087efb1aa521 62e48f59cd96eded13428d1841df6dc8 64a67bac86560cb5eac3cd8867839467 64e5c6ab1b919a81a5fa929e7a27f96c 65274a77238e9a4834649d694c115509 663480553b75c5271775b5543e463468 671786ac1895efb557c4d515d1f3bd28 6720ea24295d2fe1a5ccbd29ca7c562d 679009bfd53d83f444ee8d5201daf316 683e728a3ddf91c21821498cf3770c36 68c4edda8062411d95d9c31ae36b3bbd 6bf66529a17715e88e9dab162fc3375c 6c798f2e9957073f438b49f47cfb6a6d 6e8c239c09506051bad116de0da86423 6fc9ba74db79e8e942169880d22f3d34 701a6f0eb1b4b7419b4475a619ea9672 7095c5520097aca2ee7c06ea165066ad 70b24fbc90001a68adf6a6ccc9739395 7113d54d598d22daaa1c49e549f6325b 71493f645410391d752275f19fa9bfb5 7295e002c3d7af84ef80c5f5fb2a5574 72e65603e2f9b538f2ad7545aa71d2d5 73e7a62d04c847e17b82ab29211f1a2f 740055bbaf24824e40b0d89fbcf570f7 74468d4c75538cd43bc86dba3871b16c 74b0892c9245f886ea262c68aa196026 765383bb5736e82e3adae9de02da08c5 783913718b395f9d0c89ddd390726fda 7c318265fd1ccde4b997370a0dc9ee3c 7d384e427c41a3d583c1bd426a952a64 7d48a3cc1e869e49a3e81f6a05db104c 7de854160b23a86f7d73b6adb1b9e004 7f310a388574df20d3a02f3a28d688a3 80f030c8b11128a8ce91a44aff80b972 82af8078f31990df8def8a21b1f175dd 84252eebed563730f00abebc75074c15 842920c66fabe01b0dbda8f419367424 84d064d743dc61b9fe4e00ec514ddb06 8529b2685defe4ed8a70ee1d7e114e30 8788cfe94452760ac42503f506220e31 87b85f68353eb2dc736aa0036e7af2db 87db7049463b7b04a1a0080f36007985 8a912bbee60d13d2f9608729af538165 9029f8e81582ff2b272b56a2bfdfc893 91b48ed503b3b04dcd3c7763977ac6a3 940928843f4c07d47fd7fc3679130f97 9450038d59e40900d15fa600ff3974c9 958e6a006998ef464bd795e7f7132bd9 96470e9332ced098cbabfe2a2c4d15ac 9707829695124cc20fcda3de3512897b 97d7ab5ce1364a3398ae013732dea916 97e0649049ff646fb419de82f99fed7f 982cfbbb082de7f98de2eaeff5adf0c5 99955dfe5d0dcf31c51054d3cb4aeb1b 99f483d2a90180d7d5e0e7318520c42f 9d7c68ce17bf895214fc6bdde09a84b1 9ea11fa92badf889c6b0038c06744d41 9f36f20725db27a64ff53c6c709c6082 9f390f3513165f38c02902e5b6d5e917 9fb370d131e22f8a3b38f9a17c8491be 9fd8b7579aec88b81ef5fd583f346d07 a10dce2c30020b2d3658be8d759ad2f7 a265d6258c214d0b9932e0179e1329e1 a2c856757049a2b236c6aa5e825d3b86 a35b99e2187a8d94896e62844bb2fae1 a596e8678d4157648aa1054091c810c3 a7378c6314a0242895a052a260ecde3a a852959843ec24c68969c64b99bae940 aacec477a93520e39868b0b3289c66ce aae26119db7895e902fc07d4f9014615 ab9e2fa3ff70086c8cb50ccfdbedb26d ac60ec03283d3264e8bbbe51bb57c07f ad1ec9499f37d34d670df1712bd1856a af4772f10b2454fb59f0b791e6c7f81a af69ebca1785f4943d9813d9ac36349d afb7fed9307f3b296ce6c54dd30c47e8 b05511118e36ab3816636aa7a4222e66 b0d5069232bc59ead165a9f4db32c98a b289557320d54ab9ca9448f4a306f9f5 b2b2e485e6b3a881357c1ede5b7e9b6b b3306802e230e375a89be8119f408a7c b35ab9380e01b63362b01367ab38e833 b3936658ad4b730e0d2980755ff6cee5 b434c638c3746431085d06001d5b19a8 b4e939cb618f118e2887f2563bd7f402 b80eb29e518e7a9e37abdf638854c75b bafd9785ae491fd861abc8de1a65c1b0 bbfbd08c9d0b922da3e7cd84e0fe8fe3 bc1dcf26577919981389c2be97c4bf9e bc81ffe875082ca64c561fdae20a2e34 be4e5d345d75b4df9b3f8bd369652506 c0ff7a1328e0b71e7b6b611033a9d517 c13a671c68cf5296c10fff2a84ad0165 c159497bdc24065eb43edbd8f9a67157 c2c2098ea6a4dca948b9a78ca55f927d c3fa2810cd149a3075f5578c8abbecf7 c5060916ae21133cdc387e214cd3d5c7 c540d633cac4fc2dacc71f1aab5a24ea c5b4b024f99c03e469e5ca6369b4f0b5 c7bc4299ddb01d114e39329a29729bde c85f41ea57c820341d495272ccd047a6 c86e1a71952acf63e1a68add00ba6757 ca358939cd279e5ffa81253740a100b1 cc3a5563f91207dbacb33be2f295f7e6 cd04cb493b93fab8b0266b747d154e3a cff9efe45eb754abf566e84ca5710e72 d06169b1f3f340f4e29ac5c7ecba1a2b d0b8ae09ccfd37a853c925e4176f9496 d1ccd4f7b51517b32bd99f7d77672293 d366bce25fe6e25e6d328e25a744a54c d3d555b5d282c455bf91997e630c7611 d3e6de40bc5ee0b85f56548a975398c1 d4ad1a0d7bedc2e3c3a318aa2a5daf72 d6e02dc18e48414d71a982d7ea0fd4b8 da2a3ea2cd6f0251cdc521548af7eb41 db458bc00896a899e7f2cd42168484f0 db709ac67e54b492606738ca101f8fad dd31c70f9929d991a7a29ee6b869ab28 dd76a029db8fd7310b940a5425413159 deb56bacd2994c278872bd062b2ab6bd df75eecee362e06c9a8b65ab12bab036 dfc8a333058b19baa7f9d5d96294ccd8 e0ba316aadb721128d767006d71f7466 e0d30b50bb7d36b85c179fa130927d78 e1fc8b88f9e73aa34e38bbd7a92aa7c7 e2ecd1b271e7920d6f2edcd3b040f318 e3416d374d115c733baed97f3f96ce0f e6d2c922b9e403b6937614180fba0b63 e6e6c1e587492f7b1e1591bd2e80179a ea12e3ca5cb1757491a4617556127be7 eca2b1ff5a02e1200dffe994dbc20318 edc372893135613c42be40d833f6f9a4 edcc675e778c3e579eae9620b272cb86 edfebbc2e477f3db1172a8214f9701e8 ee08c00f61bb2d3a659257299ab49c92 eef46ac5d21f8eadf1ab09154e0857ed ef8c70f33ade360eee88dd9736d3d893 f0f6d7b360d4d23c81b10787836a937e f30cb8cba1c06e8b8026cde4be7c223f f72e4614222b5675421d7cc74115885e f7bd20e0eec56ec2a36bf796044ed3c6 f85fb561ce8dddb4a94afc7ff7bea205 f8f942950ef6c303eb95cabfa055d25b fa8ddb00b277aa721845ada54c9bfea5 fa926ad826c0b448a862e6ae9dca0aad faa77998a9a19f6a73b52ae02a3e6ba5 fabc14a1b80888891de12f859cdf25c0 fd6b312db3761bf19ec004af248d6ca2 fe2db9d280cb36a3235428dfe91bb3bb fe932c6810d33066b2e85bb5ee5d0dca fff3cf280b67989b0919518c9d204f12
archive-group = 2733101a7cba6700622e6577f02973c3
patch-archives = 0971385dd158b7042e035b2ba1eff726 0b8de0764a11cae2d7c8fc97e0e969d2 0f608f2cdc323881b1ca1dd74cc62108 1315d52a7760321139359b88cd732862 13a32e79d5207274a73355c87465d9c3 1a4ec41331cf55fd4d53acb031f7e46d 1cf4fae1beb0e026410eae26912f9455 24fbe33e384ab92c52b2129b26cfbf31 285cf6fc4713e98f0c1460e1497b1688 2baad15bdc6d10d2ee1e883bb4ee8f3b 2ce233667772f621f419b3cbcd0b9866 30333c734455d8803bd685284291eb04 361dc76343648b6ee3aae95ad883b0d2 3a0a4bbe8d5804129d1ff4686315e212 3dd9649c6a90e7580cb67d6145bdcba6 486a485049695556f4e1866c364a138d 4f863472280c543b73fd952fe39251df 4fd20aa0c3535263d4690f46c0af1084 507fd28bb8d91c506297c5ccb41943bf 56afd9d99d0352ea6d712dcc369b97f5 5aac6e8aa9b3bdfc153c6984b953821c 6d24b2c3392c9023a056a8e7a9858a34 75d9165e0deecaf5493dec5661142379 766a98ad420cf07b32b94f9d390cd090 76989bc0b8fc3a5dbf53b46af9644765 7b542eb44c407acd851e44ba3865d7cc 80120db54730cfdc590e816a469afa47 803eb901c0a2eb0cebd0db85b634353d 86aad5a1830b89b04f8ef14889eeb91b 88f62cb4d073b55d0393ee1213d11a06 8a62cde3713605df162e4d5d74918d7d 8f0bb72d20be7ce949510fe95c888e9c 91828ada3dfe235167e21ca63627d9cb 9494e1039eefe91d645b760791de3076 976718f5473703dbab84b4bfea462491 9dc223427709b02a0e7af2ea72f5eabe 9e79b699d4ab0544bdbe1cc92654b039 aa0a5c5d689e9bbda9bfbe29ad4f595d ae24c7b2ed261b242a801cf98c6a431d ae84982247b823a4d2dca51860465923 b92abca512604ae2bb6e2b060b31a35d bba4d4bf7200d9c3cd34dc5458fc8820 c0813229ab0f043ba3b9d47c7e322bc7 c5833f6029a2464ebfaf2e4fbc31f339 c8f2a90daa835a1ab872deffc007b435 d03f14122e5038a229ffddfc54da43f4 d0460b301e715b28836975d9377f987b d32a6ae8742e0e160fa07c68e958d9ce dac48c0758e25621a467287db6dff596 dd47743853f9331f5461038c7d07ac14 e0f32b8710012dc8defd5922ac676631 e2cc863f057593cf921628af91815793 eee14f2d952826a2e92af173084d7844 ef2cccc799e800b2d39a6812d158bb08 fa72a8f9fbff3d2889ac59808041dd83 fd9c4e6c862fb243e35880b5c38d7743
patch-archive-group = 6e9fd3a2223eadac8f08a908a7f431b7
builds = af3638124f30c66fa023535687a7467e 71b3a5c01ae99a901d4ec481c614f405 1c353144a9669cf679dd89fe55a69c14 a90149335cb0b07c267ed0db30eea6b4 116eded6425fe0fdb77273a72e7c967e b93d51a31ea107c3ae90c91b0696724d 4d7449a667e10c36e32440351ee8608e e583b35f5a4de27d3b35cf484b439ee7 546ee9dade6069ea517f0b8a2eaece1a 57b56638e937765c6707ad9ecf3a9b78 50feca98d38d607875088fb268f3c0e2 df485776a8a5734df3c5afebda2ebee0 223838495b01e1594e3eb80b763b62fd 76b9955bf26e6074434dd575f5de4aaf 8db0fa6961ba0a5a89dcd3552d592d99 1f7eb84c9b0170057ed3dbc7a8e1d7dc b632cf6faa006dbde36a42efcebf374f f22b46d53cb79badae7c6197df169444 1db02c3c1cb89ccbd8479b03f556a87d 04bdd0398e104284ececde35d2890329 d60a1169af14f837fb164554838f6036 1b11754035922e937bb5286ff4b0d803 1720df15117761b613bde4fc53daf901 917162b4c2f15c0b3a09adc48586655c 9a5018f97d5fc2c19a042aef7841ba83 55ee17f8843f5dd78f5ee4b3e7e8c9cc f5bd7673db20bb1c478960ecb77990ff ede2e647de28bbe015a1c575091fde64 61edacb95fa2a1f96abc40442e51f2cf b884277dfa444f1c05b7bb3154768caf 78e080e27a8aae1e7b7f251f73ff6a4e 723146b79c9224cafbb38c1d2a36940a 16f7c29dfe4c90037c72d2570264c2e5 76c8e042b34d44561fd9d5ef48bf3faa e4055465b3e35d17a0464cdd1f9a65d1 5246c91866cf2da2f56b0a8944e93ea1 94656af7ed28ca86fbe608e6619cfacd be28429f10701a4ec38ac417fdddf6b7 d038575a79fbc71b3c8d255c95d632ab b7d0149c5a4581e6a1a8a3d0283f3f2c 486602437d264869ba24b09db9d828bd a6f87382b68556bd62e98cebf0740d0f 749d2f5080ffc782af4f1f12d2b307d3 2ba38c39c8da282472cac73e59d0a1aa 2a48bcee098da2a01d33e68594285f75 820c76929eb83aa2970734071e53bf50 e24f7a7444ef08764341311e0a0f7123 75f1bdeb4c6fe1319064e9f0528aacb1 3c4c35a44b88a265cb8532e95a395167 37b68482dfcfea00b7785945c632fd85 dd5c9f731da7af40a7fb827408cd93bf 4b7f32abbc9617e4bedc188f84a08ef2