. EVE API « Torchwood Archives
Torchwood Archives
2Apr/150

LMeve dev-blog: Bugfixes and POS tracking improvements

Hi space friends!

More and more of you have already tried LMeve, which I am incredibly grateful for. This means more people are testing the app and I get more feedback, which is awesome. I also get a lot of questions which I try to answer the best I can and in a timely fashion.

Remember: by trying and using LMeve you help developing it!

Few players also caught some bugs, that I'm happy to announce, have been properly squashed in the 0.1.52 release.

  • Bug fix in db.php "Notice: LM_dbhost is not defined" - added $LM_dbhost to global declaration in db.php
  • Bug fix in Database - "function eregi() is deprecated" - replaced with preg_match()
  • Bug fix in YAML updater - changed 'DROP TABLE' to 'DROP TABLE IF EXISTS' to prevent errors if the table was not created yet.

One bug was found by my trusty Aideron Technologies beta testers:

  • Non-recurring Tasks (singleton) bug fix - one-time tasks did not display correctly due to a mistake in SQL query

What's new besides Bugfixes?

  • Poller now fetches StarbaseDetails.xml and CREST industry cost indexes

The first API feed is used by POS tracking code to display accurate and up-to-date fuel levels in LMeve Inventory. The second CREST feed provides NPC cost index to the build cost estimation formula (I currently use an average system index, so you might pay more or less than what LMeve uses for price estimates).

In the next release I will add a "Industry home system" field in Settings, where you will choose your home system. LMeve will then use this system's cost index in all it's calculations.

  • New POS management screen - displays fuel amounts and how long it will last
  • There is now a notification when any tower has less than 48 hours of fuel left

new-pos-screen

  • Tech III invention added. You can now add Tech III invention tasks and get price estimates for Tech III
  • New global setting for the default Relic type for use with Tech III Invention (Intact, Malfunctioning or Wrecked)

Download LMeve here

https://github.com/roxlukas/lmeve/

If you are updating from a previous release, please remember to create new tables included in this release using /data/schema-delta-0.1.51-0.1.52.sql

Try-before-you-buy

Well, LMeve is free software, so you don't have to buy it 🙂 (donations are of course welcome!). But let's get back to business. Installation requires some technical knowledge, so to make it easier for you guys to try it out, I have prepared a pre-installed Virtual Machine with LMeve, which runs on free VMware Player. You can download the image here: https://pozniak.pl/lmeve-vm/ 

  • it contains LMeve 0.1.52
  • static data is updated to Scylla
  • after booting it shows the IP address to point your web browser to:

lmeve_vm

18Nov/141

Mobile apps for EVE Online on Windows Phone

companion-apps-all

» For iOS and Android apps please view this post «

About two years ago I've written a post about iOS and Android apps for EVE Online, but I didn't have any Windows Phone device at the time, so I had to skip this fledgling platform. Said post has become very popular and is one of my top post to the date. Few months ago I've become owner of Nokia Lumia running Windows Phone 8.1, so I am now able to test EVE apps on Windows Phone. Enjoy!

Windows Phone 8 apps

EVE Mail

EVE Mail is in-game mail client. Entering API Key is straightforward - simply press the plus sign on the first page. Once you've done that, your characters will appear on the front page. Each toon has their own set of mailboxes including "Inbox" (all mail), "Personal" (character mail), "Corporation" (corp mail) and "Alliance" (as name says). You also see your "Mail lists" and "Sent" which holds all messages you've sent. XML EVE API does not let messages to be sent from device, so this app is of course read-only.

Unfortunately the app does not have a Live Tile, which would utilize one of the most powerful features of Windows Phone. There is also no notifications when new mail arrives - you have to open the app to manually refresh the mails.

All in all, the app is still useful, because it gets the job done.

eve mail 1 eve mail 2 eve mail 3

Eve Mercenaries

This is an ultra simple reference app. Looking for a Mercenary? Download this app and you'll know who to talk to. Information is divided by space type (high sec, low sec, null and wh space).

While the app does contain some potentially useful information, it is very poorly designed. Readibility and formatting is well below acceptable level. There is not even an "About" screen, so I had to go back to Windows Store to find out who to blame. Sorry Team R Helix, I am no Windows Phone dev, but I can make a better looking app in under an hour.

eve mercenaries

Eve Mining Monitor

Now something well designed for a change (and quite useful, too). This is another reference app, this time for miners. It does exactly the same thing as LMeve Ore Chart: shows the ISK value per cubic meter of every ore and every ice in game. However, you have to make sure to update the prices before using the app, or the Ore chart will be inaccurate. Go to Settings and choose either Region or Trade Hub prices and then hit refresh. Good job, Vagus Malakhov!

emm 1 emm 2 emm 3

Eve Price

Another reference app, this time for market traders (but let's face it, everyone needs a Jita price check now and then). There is two lookup modes:

  • Quick - simply enter item name and system - app will try to guess what you mean and will provide a quick  drop down list with most relevant choices
  • Search - enter item name, choose region (and optionally system)

What I find useful about this app is that you can save your favourite searches on the "Favorites" page - so there is no need to enter item and system names every time.

All price data comes from eve-central.com.

wp_ss_20141118_0023 wp_ss_20141118_0020 wp_ss_20141118_0022 wp_ss_20141118_0019

EVEision

First character tracker for Windows Phone in this test. It is very simple, but gets the job done.

  • "Details" page shows characater name and portrait, amount of ISK, character attributes and clone data. Note: no numer formatting on the ISK field. Can't see if I have 3 billion ISK or three hundred million.
  • "Now Training" page shows information and progress bar for the skill currently in training. You can add a reminder when the skill is trained.
  • "Queue" page shows the current skill queue. Note: on the small screen of my Lumia, the font used for the skill list seems a little too big.
  • "Skills" page shows all the skills currently trained by the character.
  • "Certificates" page currently shows nothing (bug?)

wp_ss_20141118_0026 wp_ss_20141118_0027 wp_ss_20141118_0028 wp_ss_20141118_0025

EveLet

Another character progress tracker. This one allows one more thing, compared to EVEision: it shows market transactions. Unfortunately (again) has problems with number formatting. While ISK amounts look fine, training times are shown in a weird format: D.H:mm:ss

It does however support Start Tiles (not Live Tiles though, but still, it's better than no tiles support whatsoever). You can pin any of your characters to the start menu. Tapping the tile brings up EveLet showing this specific character. Neat!

  • Summary - shows corp, ship, ISK and SP amounts, Skill Queue and Market Transaction summary
  • Queue - shows current skill queue
  • Transactions - shows the list of last market transactions
  • Orders - shows the list of current market orders

wp_ss_20141118_0031 wp_ss_20141118_0029 wp_ss_20141118_0030

EVEMON 7

Yup, it's the same EVEMON you know from the "big" Windows and it's been developed by the same team of people.

Unfortunately... it does not work 🙁 After entring API key it complains about the format of the Characters.xml.aspx endpoint, so it probably requires some compatibility work. I will review it again when (and if) it is properly updated.

wp_ss_20141118_0036 wp_ss_20141118_0035 wp_ss_20141118_0034 wp_ss_20141118_0033 wp_ss_20141118_0032

EVE Profiler

One more character tracker. And I must say I'm impressed, because it is very well designed. It looks both like a native Windows Phone app (puts emphasis on fonts, font sizes and minimalistic design), and an EVE Online themed app. Menu slides in from the left and looks similar to NEOCOM strip in game. Very good design, Mr Jeremy Shore!

Regarding features it is rather limited when compared to the other character trackers. It offers the following:

Character Summary page: corporation, when joined, security status, active ship

Eve Mail page - a very neat mail reader

Skills page - I was unable to load all the skills Lukas has 🙁

Unfortunately it is less stable than the other apps and crashed to start menu a few times. Maybe it is just my budget Lumia. I hope Jeremy updates his app soon, because it looks really great.

wp_ss_20141118_0037 wp_ss_20141118_0038 wp_ss_20141118_0039 wp_ss_20141118_0040

EveWP

Probably the best character tracker for Windows Phone so far, it is both stable, good looking and has quite some features. Don't let that home brew icon fool you. After entering the API key, main menu is shown and it consist of:

  • pilot list
  • notifications
  • eve-news (several sources news reader, including eve news 24, tmc and official eve online feeds)

After choosing on of the characters, several pages worth of information are shown:

  • sheet - shows security status, currently piloted ship and location, ISK balance, SP amount, Clone grade, date of character creation and attributes
  • queue - shows skill queue
  • skills - displays currently trained skills. Note: it's the only app that has skills grouped like in game
  • notifications - like name says

And it supports Live Tiles on the start menu! I really recommend this app. Good job, 3rd Rock Studios!

wp_ss_20141118_0046 wp_ss_20141118_0047 wp_ss_20141118_0048 wp_ss_20141118_0049 wp_ss_20141118_0050 wp_ss_20141118_0041 wp_ss_20141118_0042 wp_ss_20141118_0044 wp_ss_20141118_0045

Mili: Damage

Another ultra simple reference app. Remember when everyone had damage dealt/weakness for all factions in their bio? Well, this is it.

wp_ss_20141118_0052 wp_ss_20141118_0051

Ship Browser

This app is a ship database. It takes a while to load, but is packed with information, and can even display some of the ships in 3D. It looks very much like a show info window and contains the same st of information (ship stats, description, ship image). If you can't live without spinning ships on the go, this app is for you.

wp_ss_20141118_0053 wp_ss_20141118_0054 wp_ss_20141118_0055

5Jun/140

LMeve new features – 0.1.30 beta in testing

Hello internet spaceship industry moguls! With Crius and big changes to industry just around the corner, one would surely benefit from a contribution tracking tool such as LMeve.

I realize that, and despite the fact that I'm retired from the game, I still support the tools.

New features

First, thanks to an amazing dev known as CCP FoxFour (@regnerBA) and his recent work on CREST & EVE API, LMeve will now display the list of POCOs owned by your Corporation (or Corporations) and tax rates set on each of them.

lmeve-02Another new feature is one that was well overdue - it even had a placeholder in the menu, but it was not completed before my retirement. Say hello to PVE Activity window. It shows how many missions and incursions have been run in a given month (based on the WalletJournal data; number of missions equals the amount of agent mission payouts and CONCORD payouts account for incursion sites run). A similar graph for PVP is in the works as well (will show kills vs losses).

lmeve-01

Some bugs have been squished as well (for example all graphs will now show proper number of days for each month instead of hardcoded 31). Another bug was in poller code for POS list (StarbaseList.xml.aspx). Due to the way it was written (INSERT ... ON DUPLICATE KEY UPDATE...;), all old POSs would continue to exist in the database, despite the fact they have been unanchored or destroyed. New code (DELETE...; INSERT...;) removes all old POSs and updates them per latest API data. The same code was used for Pocos, so they should update correctly as well.

By the way, I have a patch ready for EVE: Crius industry changes (new ME and TE formulas), but I will hold it until this new expansion is released.

You can download the latest release of LMeve directly from github: https://github.com/roxlukas/lmeve. See this post for instructions on how to install it on your webserver.

Known issues

CCP is not updating the 3D models on their CDN automatically, which means that 3D preview will not work for a good deal of them (or will show old models instead, for example for Tristan or Moa). I have tweeted to @CCP_raRaRa, who is the person behind CCP WebGL, so we have to wait until he runs his model export scripts again.

Does it mean Lukas Rox is back?

If only life was so easy 😉 Nope, I'm still retired from EVE. This is just some necessary maintenance work on apps I've written for you guys!

 

23May/130

On the development front – LMeve dev blog #1

Industry Tracker - Login Screen

When I first started this project, I knew it will take more than a day to complete. In fact, I have assumed it will take at least a month (1-2 hours a day) to finish basic features. I was wrong: it took one and a half month. The result however, is better and more functional than the original Specification required.

First I would like to say a big thank you to my corp mates, who are testing LMeve restlessly. Beta test has also raised some excellent improvements and ideas, some of which are implemented already, and some have been added to the drawingboard. Thank you guys!

Features developed since the last post

Tasks is a module, which allows planning and tracking industry jobs over the course of one month. Currently the only person with edit rights is the CEO, so he can plan manufacturing, invention and copying for each corp member. Members can view their own task list, which shows the completion state of their tasks.

LMeve task tracking page

LMeve task tracking page

It looks almost exactly like the Task page on Marcel's aideronrobotics.com (this was one of the specified requirements). Crysis McNally, one of our members has proposed to add a tooltip over Progress and Success bars, which shows how many jobs have been already done. This way corpies know exactly how many more runs are needed to reach 100%. This is one of the features we've missed in the original aideronrobotics.com industry tool.

Database is a module mainly used for planning and reference (and since there is no "Kit Builder" yet, it also tells the amount of materials required for production). It's also the first module to display price data from eve-central.com (data itself has been downloaded for more than a month). We plan to add a drop-down ME field, which will recalculate required materials, and a setting if we want to get (or stop getting) price data from eve-central.com.

Ah, the beauty of Excel in space ;-)

Ah, the beauty of Excel in space 😉

Wallet has been iterated upon, because previously it would display walletTransactions (market sales) and walletJournal (bounties, contracts, taxes, etc.) separately. Market and contracts are now merged, so we know the actual ISK flow (we are buying minerals from corp members using contracts, and the rest of materials from market).

Tips'n'Tricks for Static Data Dump and EVE API

I have already mentioned it in the first post about LMeve, that EVE API can be tricky at times. So does the Static Data Dump.

As it turns out, telling the correct amount of materials required to build an item is not an easy task, because the data is mixed together: skills and "extra materials" are in the ramtyperequirements table, so you have to tell them apart (hint: join invgroups and use categoryID = 16 to separate skills from materials).

Secondly, the invtypematerials table contains the materials you get when reprocessing the item. It should be the same amount as materials required to build an item, right? Well, it only holds true for Tech 1 items. For Tech II, you have to subtract Tech 1 base item materials from the Tech 2 materials (hint: use recycle column in ramtyperequirements table to find the base item). The weirdest thing however is, that for some items it will give the exact results (for example Improved Cloaking Device II), but for some (like Kronos) you will end up with negative values! Of course the only solution is to hide the negative values from output.

Last but not least, EVE API is having hiccups now and then, throwing 1001: cache is invalid error for wallet transactions, wallet journal and message feeds. The main functionality of LMeve does not depend on these feeds (apart from the Wallet module), but for some people, like Somerset Mahm (and his excellent Blink service) it can be quite a pain. Good luck fixing it @CCP!

Story continues

This is not a formal project, so keeping the scope from growing is not much of an issue (the only budget I have here is time), but there is still plenty of features waiting on the drawing board:

  • Industry Goals (similar to Tasks, but at the corp level). Ideally I would like to draw pretty production lines for Tech II and Capital items with all the intermediate products.
  • Inventory (Material Stocks, Buy Calculator for buying minerals from corp members)
  • Market (Monitoring buy/sell orders, Monitoring market prices for materials and products)
  • Settings (Some values are still not editable without phpMyAdmin right now)
  • EVE API monitoring (to gather API statistics and errors over time, currently I only keep the last value)
  • Linking characters to accounts using EVE API (currently admin has to link characters to account manually)

Want to help us test LMeve?

Would you like to join a friendly group of mature players and get paid for cycling corp manufacturing and invention tasks?

Well, now you have a chance! Apply to Aideron Technologies today! Simply contact our recruiter - Razeu - in game.

PS. Please specify AT in the application form, because we still share forum with Aideron Robotics.

26Apr/130

Four new EVE Online apps for iOS

Last summer I have written a big review of all EVE Online apps available for iOS and Android. The post has been very popular (it's in the top 3 every month), so I have decided to update it with new apps, which have arrived in App Store since the original post.

While I try to avoid the word "useless", the usefullness of some of these apps below is well... low. This doesn't mean however, that they can't potentially be useful for some players.


EPIc-for-EVEEPIc for EVE

Developer: Adolfo Adorni Price: 1,79 EUR

Description

EPIc for EVE Online is your Planetary Interaction Companion.
With EPIc you can browse Eve Planets and materials you can extract from or build on planets, set up your current warehouse of materials and set up the production goal and study you colony plant settings.

Using EPIc you can share your warehouse whit Eve mates and complete every build target easily!

Review

This is the only app for Planetary Interaction on iOS, it's also the most expensive one! Since CCP offers no API for PI, the app does not need a key.

Everything is set up in the app itself.

  • First, you need to input your PI related skills on the "Settings" tab - Interplanetary Consolidation and command Center Upgrades.
  • Secondly, switch to the "Planets" tab and set up your colonies. To do this, choose a planet type from the list, press the right arrow sign.
  • Set up colony name and add structures. You will have to enter details such as link lengths as well.

Based on what you have set up, app will determine what you're producing on the "Recap" screen. It will also let you to set up exportable and importable materials (if you have to move them between planets). IMHO the background on the Recap screen should be less transparent, because the bitmap with the Drakes makes it a bit difficult to read. Otherwise the UI is very clear and intuitive.

Last but not least, you can create a group with other players. Such group will be able to plan goals and import/export commodities between their planets.

IMG_1249 IMG_1248 IMG_1251 IMG_1252 IMG_1250


evemineEVEMine

Developer: Robert Bojor Price: FREE

Description

EVEMine will help EVE Online players, miners especially, to optimize their mining time and in the same time increase the ISK per hour ratio.

The Ore Mining tab will serve for when you're strip mining those pesky belts. Just input your Mining yeld, Cycle time, Lasers used, Asteroid type and quantity and hit Run Calculation.

The Ice Mining tab works a bit different. Input your Cargo space, Lasers used and Cycle time and it will notify you when your cargo is full. This way you can do your AFK jobs and not switch to the game constantly.

Review

Another really simple app, but can potentially be useful. If you are an Ice Miner and you are not afraid of gankers, this is the perfect timer app for Ice Mining. Simply warp to a belt, start mining and minimize EVE. The app will then sound an alarm when the cargo hold is full, so you know when to alt-tab back to EVE.

Unfortunately the app does not seem to be up-to-date with Mining Barge changes in Inferno 1.2.

20130426-115602.jpg 20130426-115613.jpg 20130426-115622.jpg


eveccEVE Carebear Central

Developer: bbb Price: 0,89 EUR

Description

* Fetching current Jita/Dodixie/Amarr/Oursulaert/Rens mineral/ice prices from server. - It is (buy+sell)/2 atm. Also you can see detailed buy/sell prices in Detail window via detail button.

* Calculating Ore/Ice values at Ore/Ice tab. Listing their refined minerals, also their ISK/volume values so you can see which ore to mine is best at current market prices.

* Character Tab: You can add your characters -click info button at bottom right for info- to see all their minerals worth with current selected data pull with their location. Also main character list shows current wallet + all mineral worth.

Review

The app is quite useful for Tech I manufacturers, because it allows a quick peek at the ice/mineral prices in all major trade hubs (using eve-central as its price source). Unfortunately entering API KEY is a bit complicated compared to other EVE Online apps. First, you need to enter your character name, so the app does a reverse characterID lookup (what for?), then you can copy and paste your API key from EVE Online website. Once you've done that, the app will pull the assets API feed and calculate the value of all minerals in posession of your character. It will also display the current amount of ISK in your wallet. The biggest disadvantage however is the fact that the app is a paid one (0,89 EUR or $0,99)

20130426-115828.jpg 20130426-115834.jpg 20130426-115838.jpg


iskiesISKies

Developer: Simeon Mitev Price: FREE

Description

This is the right tool for everyone who's playing EVE ONLINE and need to convert ETC60 into ISK or convert ISK into playing time.

Iskies will keep you informed about the actual average sell price and average buy price for a single ETC60 of Eve Timecode Bazaar, right on your iPhone.

If you want to convert ISK from within the game just setup your desired SELL price and Iskies will let you know when the right moment has come.

Using EPIc you can share your warehouse whit Eve mates and complete every build target easily!

Review

A very simple and straight-forward app. You can see the graph of the average price of 60-Day ETC on Timecode Bazaar (on EVE Online Forums). When you slide the first graph with sell prices, a second one with buy prices will appear. Again, EVE API isn't used here at all.

IMG_1258 IMG_1259 20130426-115822.jpg

18Apr/130

Warning: may cause severe threadnaughts

Today CCP Stillman has posted a Dev Blog about a 30 day ban enforced on people who have been using client modifications, namely warp to zero autopilot.

This dev-blog would be nothing out of ordniary, if Stillman didn't remind the community about Cache Scraping being a bannable offense as well.

Let me remind you what Cache Scraping is. EVE is storing some temporary data on your computer to avoid downloading it from the server every time this data is required. Market prices are a good example: when you visit the in-game market, the game is downloading prices and is storing them in cache. There is several programs, including well known EVEMON, which use this information to feed eve-central.com, one of the biggest unofficial API projects made by EVE players. Data frome eve-central.com is used to feed killboards and other third party apps with current prices.

There is also the excellent Python script by Entity (the famous item collector), which allows to create a static data dump from singularity (or tranquility) client cache data. This allows third party developers to offer their apps with up-to-date databases even before official Static Data Dump is available. I have been using Entity's script to publish data dumps from Singularity builds as well (these dumps allow players to see what changes are coming to ships and modules in the coming expansion).

With cache scraping banned, all these useful additions would be gone

But here came the excellent EVE Online community. As expected, players have rallied together and created this forum threadnaught to remind CCP, that they are about to ban something, that enriches the game, and fills the gaps left by the developers. EVE API does not allow access to the market data, so players have created a tool for other players. CCP has consulted their lawyers, and CCP Peligro has posted this in the threadnaught which I've mentioned:

CCP Peligro wrote:

Thank you for all your comments and concerns regarding cache scraping, we are listening and we truly appreciate your feedback.

After consulting with CCP Legal and Team Security, we are not prepared to amend the EULA at this time to address your concerns. However, your comments are good ones, and we will consider incorporating them with the next scheduled update to the EULA (expected this fall, 2013).

In the meantime, CCP confirms that we will only impose penalties on cache scraping if used in connection with other illegal activities in the game (i.e., botting). We will not take action against cache scraping for other uses.

The day is saved, long live the EVE community!

PS. It's not Stillman's fault, that the EVE EULA disallows cache scraping. What happened today however, has a chance to get the EULA ammended in such a way, that players using the data from game cache will not end up being punished for enriching the game for others.

13Apr/131

Industry Tracker takes shape

Industry Tracker - Login Screen

In a recent post I have introduced you to the LMeve Industry Tracker. It's a web app, which I'm writing for my corp.

Some time has passed, and despite a hard drive failure, the app is already taking shape. The most important part I have described in the previous post, the API poller, is nearly complete. And it's been working stable for more than a month, which is additional boon. I have decided not to parse all-and-every available api feed (do we seriously need that medal data?), but instead I have chosen to poll the most often used ones. This way I can start working on the GUI, which at this time is the most important thing for us. Of course there is nothing stopping me from adding all other API calls later on.

The following feeds are currently being parsed and loaded to the database:

  • global: ConquerableStationList.xml
  • global: ErrorList.xml
  • global: RefTypes.xml
  • evecentral: eve-central.com/marketstat.xml
  • corp: AccountBalance.xml
  • corp: APIKeyInfo.xml
  • corp: AssetList.xml
  • corp: ContactList.xml
  • corp: ContainerLog.xml
  • corp: CorporationSheet.xml
  • corp: FacWarStats.xml
  • corp: IndustryJobs.xml
  • corp: KillLog.xml
  • corp: MarketOrders.xml
  • corp: MemberTracking.xml
  • corp: StarbaseList.xml
  • corp: WalletJournal.xml
  • corp: WalletTransactions.xml

Each feed is cached according to the API documentation, and if a permanent error is returned, the poller will not attempt to read that feed again.

Me and TheAhmosis (Aideron Technologies' CEO) have decided, which modules have to be up-and-running before we can start using the app for the corp:

  • Timesheet - so we know how much money we owe to our employees (yes, Aideron Technologies is paying their members; wanna become a part of the famous Aideron Industry Program and get paid? Apply now!)
  • Wallet - so we know how much ISK we have made (or lost)
  • Tasks - so every employee knows what to make (and when)

I have added one thing on top of that: role based rights management. My old PHP framework is only using two levels of rights currently: admin and user. In this project however, we would like our corp members to be able to register themselves by using their API keys, so we need a more granular security solution. This way we will also be able to match app username to in-game characters, and display the task list only for characters of that corp member.

Pics, or it didn't happen?

Sure thing:

Timesheet Monthly wallet summaries API Poller statistics Industry overview - by character Industry overview - by item type

29Mar/132

New EVE API project – Industry Tracker

Industry Tracker - Login Screen

Industry Tracker - Login Screen

About two weeks ago I have started a new project, which uses XML feeds from EVE API. The new app is supposed to be a new industry tracker for my corp, because the old one is not being maintained anymore. We could probably use DRK Industry Tracker for that, but our Directorship has raised some doubts regarding security, because our API information could potentially be available to a third party. A decision was made to develop an in-house solution.

I have already written an EVE API app in Java to view character data in the past, so I have volunteered to be the chief architect and developer of the new app, thinking that API holds no secrets from me. Of course I was very wrong, but I will get to that later.

An industry planner app will have several users, who need to have access to it. This forces either a client-server approach (which would be an overkill for an app like this) or web based approach. Since browser applications only run when they are being visited, I would need some way to keep API data complete and without any gaps.

That's how the API poller was born

Poller algorithm

Poller algorithm

I needed to write a poller script, which could be run in crontab periodically. This way I could keep the live data complete and up-to-date, without the need for anyone to trigger the API update (by visiting app's web page for example).

EVE API has some best practices, one of them being respecting cache timers (to prevent unnecessary load on API servers). Another one is not to poll a feed that returned a persistent error (for example permission denied). I took these two as the main guidelines for my API poller.

It takes some experimenting

I've mentioned that I was wrong to say that I know the EVE API well. Well, I was. According to the documentation on the official EVE Wiki, WalletTransactions.xml.aspx only takes three parameters:

keyID, vCode, characterID

It means that the actual call should look like this:

https://api.eveonline.com/corp/WalletTransactions.xml.aspx?keyID=12345&vCode=1a23f91d20c&characterID=12341234

That call will succeed. You will not get an error message, but a parseable XML file with no data in it.

After some research it turns out one needs to provide the accountKey, which corresponds to wallet division. Then and only then will the WalletTransactions feed return the actual data. So the correct call will be:

https://api.eveonline.com/corp/WalletTransactions.xml.aspx?keyID=12345&vCode=1a23f91d20c&accountKey=1001

Getting the data is not even half the trick

Industry Tracker - Timesheet

Industry Tracker - Timesheet

The EVE Static Data Dump is about 300 megabytes of data. The live information downloaded by the poller adds even more data to dig through. This means that the most important thing is analyzing, displaying and managing all this data. GUI has therefore several tasks:

  • authenticate users
  • authorize users
  • allow corp members to self-register in a secure manner
  • plan the industry tasks
  • track the industry tasks
  • run reports
  • view the static data dump information
  • enrich live data by connecting it with static data
  • manage settings and API keys

While it sounds simple, the majority of the work will be done here. Each of these bullet points will be broken into even more actions. Working application however, will help our corp make billions, so all the effort is well worth it.

2Oct/127

EVE Online app you can send mails from

UPDATE: This post is very old and no longer accurate

CREST API released by CCP Games in 2016 allows sending and receiving evemails in third party apps.

At some point in the past I took some time to test all EVE Online apps available for iOS and Android. Since the publication of that post, many players have asked me about an app that allows SENDING evemails, and not just reading them. I have bad news for you: due to the limitations of the current EVE API, such app does not exist. But I also have some good news for you. It does not exist yet.

With Retribution, CCP is planning to release a new API (called CREST), which will certainly allow you to manage Contats and is very likely to allow sending EVE mails, too.

For the third party developers, the most valuable resource is the current documentation preview, which has already been made available.

Technical details

First big change is Authentication and Authorization mechanism, which the current API is missing (currently you need to authenticate every time by including apikey and vcode in every HTTP request you make). The new CREST API will let your app to log on once, using login.eveonline.com. This login server will grant an OAuth2 token, which will be used instead of api keys or other credentials. Moreover, CCP is adding some POST request besides the already existing GET requests. Data presentation layer will also be changed to utilize JSON, which I think is easier to use on web apps (for example in PHP or JavaScript), and should not give much trouble for other technologies (like iOS and Android). It is still up to CCP to decide which parts of the new API will offer "write" access, like sending EVE Mails or managing contacts.

One more thing

CREST is an acronym of Carbon REST. The Carbon technology is the new CCP framework that has been in use since Incarna, and REST means it's a RESTful protocol (wiki). It will be released in Retribution expansion, so one might say it is a "Crest of Retribution". Now this is what I found when googling it: http://us.battle.net/wow/en/item/13375. Coincidence? 😀

24Aug/122

JAVA EVE API Reader gets Inferno 1.2 static data

The JAVA EVE API Viewer has just been updated with Inferno 1.2 data dump (so the Iteron Mark IV Amastris Edition shows just fine).

I will also try to provide a data dump conversion for Aura in the near future, so the finest EVE app for Android would finally be up to date with the new skills and items, which have been introduced in Inferno.

If you use Linux or Mac and are looking for an EVE Online character tracker, my App should meet your needs.

Download API Reader Launch JAVA EVE API Reader