Missing Item Icons

API Discussion
I'm not entirely sure if this is the place to bring this up, but:

There appear to be 5 icons which are present in the Item API that are not available on Blizzard's servers (404).

Path: http://media.blizzard.com/wow/icons/56/{icon}.jpg

Icons (item IDs):

inv_misc_food_164_fish_seadog (73260)
inv_shield_timewalker_b_01 (107158)
ability_mount_ironchimera (107951)
inv_ravenlordmount (109013)
inv_ravenlordpet (109014)

Since there's so few, I'm able to just manually get them from Wowhead, but reporting this here because I definitely would like to be able to retrieve and cache these icons from the source instead of having to rely on third parties when I run item updates in my project.
I used WoW icons all over the place in my Feral Simulator Catus. After being frustrated by the Blizzard web servers (failed request, throttling, etc.), I resorted to using wow.zamimg.com and couldn't be happier. I'm sure Wowhead isn't exactly cool with this, but I cache everything locally and send all of my in-game external website requests to Wowhead, so it unofficially works out :) Besides, this stuff is static content, any modern CDN shouldn't even notice aggressive requests for ~4KB resources.

My WarBase Java library also encourages the use of these resources:
https://github.com/adraffy/warbase/blob/master/src/com/antistupid/warbase/art/IconCache.java
10/26/2014 01:20 AMPosted by Raffy
I used WoW icons all over the place in my Feral Simulator Catus. After being frustrated by the Blizzard web servers (failed request, throttling, etc.), I resorted to using wow.zamimg.com and couldn't be happier. I'm sure Wowhead isn't exactly cool with this, but I cache everything locally and send all of my in-game external website requests to Wowhead, so it unofficially works out :) Besides, this stuff is static content, any modern CDN shouldn't even notice aggressive requests for ~4KB resources.


It's generally unacceptable to hotlink content on other people's servers without permission. Yeah, maybe they're tiny files and maybe your project itself wouldn't add a noticeable load on a CDN, but there are thousands of other websites/projects that think the same thing, and it adds up. This stuff costs people money.

Do the right thing. Maybe you pull the images you can from Blizzard (since it's their content for starters and they permit it in their third-party usage policy). Maybe you pull a few from Wowhead that were missing from Blizzard. But then host the files on servers that you control. You can then be sure that the images are always going to be there, and you have a clean conscience about it. It's not even that hard. If you must, get a $3/mo VPS somewhere, slap a web server on it, and put the images there. Done. But you probably already have web space for your project, in which case, use it!
I just want to be clear, I'm not talking about linking to these resources from a website. Sep and I are talking about pulling these once and caching them. Developers shouldn't be forced to extract the icon data directly from the CASC game data. Unfortunately, the only other true source is media.blizzard.com which is incomplete (as Sep explains) and frustrating (as I described.)
but the icon extraction is so simple and takes 10 min from extraction to concerting

Open game launcher select wow Options -> Game Settings check additional command line arguments enter -console. click done

Launch wow, at any screen press the ~ key (the one before the number 1 on most keyboards) then enter ExportInterfaceFiles Art

it takes a few min but then you have all the in game art in your wow dir, ICONS folder has all the icons for the game in it use a program like XnView to convert to your choice format and done!
After being frustrated by the Blizzard web servers (failed request, throttling, etc.) ...


Could you share a bit more about your issues? Was this CDN requests only or for API requests?

I'm not aware of us doing any throttling on our CDN resources. 404s for icons would likely mean we need to re-export icons from a recent build.
Just CDN stuff. I distributed my application Catus as a stand-alone app with no included data. It made sequential HTTP requests for all resources: armory data, item data, icons, etc. All requests were cached locally, so things like item data and icons were only ever requested once.

When you import your armory into Catus, it loads all of the items, and then all of the unique, uncached icons associated with those items. With gems included, this might be 20+ unique icons per armory.
Or when you open the trinket simulator (https://dl.dropboxusercontent.com/u/2989349/catus_screenshots/Catus26-SimTrinkets2.png), and it loads all of the icons for all of the Feral trinkets (maybe 25 icons), I'd occasionally see failures starting from an empty cache.

I had no idea what was causing the issue. I tried spoofing various user-agents. I added delays. Still I was getting random rejections from media.blizzard.com. I switched to wow.zamimg.com and the problem disappeared.
10/31/2014 01:14 PMPosted by Raffy
Still I was getting random rejections from media.blizzard.com.


Hm. I assume by "random rejections" you mean you could request one URL multiple times and the assets would only be returned intermittently. For example, http://media.blizzard.com/wow/icons/56/inv_jewelry_necklace_134.jpg might only be returned on 80% of the time.

Is that accurate?
Correct. I don't recall which HTTP errors I was getting, but I probably have it written down somewhere.

Join the Conversation

Return to Forum