Wednesday, February 13, 2013

The Gray-Space Part Deux

I'd like to offer a correction.  Market relays like EVE-central and Goonmetrics do not use manually exported files.  Instead, they operate in the gray zone of cache scraping that I warned against yesterday.  Credit to a bunch of the #tweetfleet for correcting my error.

Also, if you haven't read @FunkyBacon's blog on the fallout, I seriously endorse it: part1 part2

The Way it Was

Yesterday's post specifically outlined the classic way that specific client data was accessed without the API.  It's still the way most locally-saved features still work, specifically fittings and overview.  Whenever you press import/export inside the game client, files are accessed from \My Documents\EVE\.  This is why (in my opinion) overview modifiers are still fair game, and the means EFT-warriors can get their fits from EFT into EVE and back again.

This sanctioned method is still perfectly valid, and you too can play with the data.  This was how EVE-central got its data until late 2011.  Unfortunately, this stream requires users actively acquiring data, and is prone to bad-data stuffing.  

The Way it Is

Say hello to contribtastic.  This works by scraping the results from every market query you make in-game, then pushing it off to be processed by eve-central.  I'm not particularly savvy on the exact specifics, or how things are parsed... but it works off the live cache files as they are generated.  This provides a much higher quality, more direct, and higher throughput stream of price data for all the hungry marketeers across EVE.  Also, this stream enables more powerful services like EMDR.

This process has not been specifically outlawed by CCP, but absolutely exists in an uncomfortable gray area.  And, without warning, CCP has the ability to pull the functionality out, leaving us with the old-way.  It won't outright kill 3rd party development, but it would be a serious hamstring.

The Tenuous Relationship

There is an unsteady armistice when it comes to the market feeds for EVE.  The rumor I've heard through other player-devs from fanfests say that CCP cannot provide the direct API connection to the market, fearing in-game stability.  On the other hand, 3rd party developers need a high-quality stream of market data to keep the logistical gears moving.  Also, with the generous rate API server hands out IP bans, I really don't want CCP hosting market data via API. This leaves us with the current operating relationship: utilizing the gray-area for market feeds, while CCP turns a blind-eye.  

As this Kelduum scandal runs its course, I am sure there will be calls/threats on the EVE-O forums, once again, to encrypt local cache files.  But I hope that CCP Seagull has the foresight to see how dangerous this proposition is to the so-called "Enablers".

Updates as they become available:

Notes from Entity (developer of eveapi for python and Reverence)

Well, there's this post here that is very explicitly granting permission to read cache: there's also the fact I sent my cache decoder to CCP's CTO for review and approval before releasing it, so I can say with absolute certainty that it is currently perfectly fine to decode the cache. 
Of course, as with any tool, it can be used for evil as well as good, so in the end it still matters what you do with it. 
And CCP is also within their right to revoke the permission if they so choose, but I have not seen any such notice, nor do I really see a reason for them to. 
Besides, forbidding it is pointless because such a policy is unenforceable, but that's another story. 
Hope that answers your question.