LMeve dev-blog: Killboard with WebGL ship preview

It was quiet on the blog lately, but behind the scenes I was receiving tons of valuable feedback, and development was slowly but surely progressing through the past month.

There were two recurring questions in the feedback I was getting:

  • Corp API Keys editable in GUI
  • Killboard

So these two features have been made the top priorities. Here’s the results:

Killboard

Some people set up an instance of LMeve, and then on the same host they set up a killboard. How convenient would it be if one app contained both? Good idea. But there is so many killboards already available, that writing a new one which copies existing functionality made little sense. I had to do something new!

In the previous release, LMeve got ship fitting preview in Inventory, and it felt like a great way to display the fitting of destroyed ships as well. But first, I need the killmail data.

Killmails are available from two APIs: XML (with corp API Key) and CREST (you need to know certain information about the killmail to be able to fetch it). Item list in the XML API lacks specialized cargoholds, so I opted for a hybrid approach. First, I download Killmail.xml.aspx, based on this information I can calculate a killmail hash required by CREST, and finally download the CREST Killmail to fetch complete item list, including fittings and specialized cargoholds. This default behavior can however be changed in Settings, where you can choose to use plain XML API instead (it’s a little faster, but fittings of destroyed ships might be incomplete).

Right, but theres nothing new here, right? zKillboard does this out of the box. Well, true.

That’s where the second feature comes in. I changed the fitting display to include a 3D ship preview (rendered using CCP WebGL) instead of a static ship image (which, mind you, is a fallback for older PCs/browsers). Yup, you can spin and zoom the ship on the killmail! It works in Inventory, too!

Enough words, pics or it didn’t happen:

killboard webgl_killboard_4 webgl_killboard_3 webgl_killboard_2 webgl_killboard_1

Corp API Keys editable in GUI

This is a very simple, yet important feature. Previously, during LMeve installation procedure you had to input your API Keys in PhpMyAdmin, by directly inserting into a database. I’ve chosen not to expose API Keys in GUI, because they could potentially be abused. But this made already complicated installation procedure even worse, so after some deliberation I’ve decided to add a GUI for it.

corpapikey

And here’s the complete list of this month’s features, coming to LMeve in 0.1.55:

  • Fully functional Killboard
  • XML and CREST killmail support in API Poller
  • Can use either XML or CREST killmail endpoint (configurable in Settings)
  • CCP WebGL preview in Inventory and Killboard ship fitting window
  • You can now input Corp API Keys in GUI
  • Disabled accounts have existing sessions terminated immediately
  • Bug fixes