The Ledgers of DestructionTarek Raimo
Killboards. Depending on which EVE players you ask, they are a subject of obsession, a method of evaluating potential recruits, an intelligence gathering tool, a source of bragging rights, a wellspring of statistical research data or a problematic influence on player behaviour. Whatever the individual player thinks of them, they have been with us almost as long as killmails themselves have been. When it came to my attention that zKillboard co-developer Karbowiak is working on a new project, I got in touch with him to explore the functionality, history and future of this time-honoured third-party service.
A Rocky Road
It wouldn’t be EVE if there weren’t some drama involved in the history of the project. It appears that there has been some trouble in the past between Karbowiak and the current maintainer of zKillboard, Squizz Caphinator. Both developers made their breakup public in 2014. Karbowiak posted about it on his facebook page, and Squizz announced the end of their cooperation on reddit. While Squizz says that he honoured the agreement to keep sharing killmails, Karbowiak says he didn’t. Although the coast has cleared between them in the meantime, the argument is not entirely settled, but I’ll let them tell the story in their own words (Note: The statements here have been put together from written conversation in emails and on slack)
zKillboard was started on by Squizz and myself as a replacement for EDK on EVE-KILL
Karbowiak: “I was one of the guys who originally started EVE-KILL back in the day, and is now the sole person left behind to maintain it (and doing a piss poor job at it) – I’ve been playing EVE since the beta, though only since 2005 on my current character. […] Beansman, Ralle030483 and myself started EVE-KILL, Ralle then left some years later so only Beansman and I [were] working on it, then Squizz came along and joined and did stuff. After that Beansman left and Squizz and I ran it, while we worked on zKillboard. […] zKillboard was started on by Squizz and myself as a replacement for EDK on EVE-KILL – because even back then it was starting to show it’s age – sadly Squizz felt otherwise, and backtracked on the original plan, stole the database, moved the domain, set it all up on his own servers, and cut ties.”
Squizz: “zKillboard started off as my baby and was originally known as killwhore.com which I had to rename after discovering the word whore was banned on the Eve forums. Since I had worked diligently with Beansman and Karbowiak on EveKill, coming up with ideas and implementing methods to keep the site from imploding on itself (and they worked, yay!) I invited them to work with me on zKillboard. I envisioned zkb as a completely rewritten from the ground up killboard that would attempt to learn from the mistakes and experiences of EDK (the killboard software Eve-Kill is based on).
Karbo and I made some great progress on zkillboard.
Karbo and I made some great progress on zkillboard. We each had great ideas and each wrote horrible code to implement them. However, Karbo can be an extremely difficult person to work with, although I won’t detail the reasons why. Combine that with the nature of my stubborn personality and conflicts happened, and happened frequently. After a couple of trigger events with Karbo, I decided to go my way and did so, splitting off in my own direction and taking zkillboard with me.
Despite the hostilities we agreed we didn’t want the community to suffer and ensured that all killmails would be shared between each other. We have both kept that promise to this day.”
Karbowiak: “We both decided to write zKillboard […] to replace EDK on EVE-KILL, it was never written from the start to be a stand-alone entity, it only became that after you (ED: he replies to Squizz there) decided it should be that – and then tried to rewrite history to reflect that.”
Squizz: “I hope Karbowiak does a great job on his new killboard and it is welcomed by the community too. “
Just A Means Of Communication
ED: I asked Squizz whether he would like to add some more insight into the programming and running of a killboard, but he did not find the time to reply. Therefore the remaining interview text is between Karbowiak and myself.
Tarek Raimo: “Without becoming too technical, could you explain how killboards work?”
Karbowiak: “They all work by getting data from CCP, players kill stuff ingame, and then post a CREST link to the killboard page (or have their API key added), which the board periodically pokes for new data. Once a new killmail is posted/found, it’s downloaded from CREST, processed and put into the database and onto the website for viewing. That’s really common to all killboards, and you can’t really make it better or worse. The only way for a killboard to differentiate itself, is by how the killmail is shown to the user – which is fairly common amongst all the killboards out there: fitting wheel, module list, attacker list, final-blow/top-damage, and such.”
There’s the victim, and the attacker. So if either one posts it, or has an API-key added somewhere, it gets onto a killboard.
Tarek Raimo: “How do kills get on there from users who never submitted their API?”
Karbowiak: “Well, there’s two parties in a kill. There’s the victim, and the attacker. So if either one posts it, or has an API-key added somewhere, it gets onto a killboard. The only way to not have it post, is by neither of them having one (ED: an API key) somewhere, but then you run into corporations posting a corporate key sometimes, which means it covers all members in said corp.”
Tarek Raimo: “How did you get started on building killboards?”
Karbowiak: “It actually started out when I was in Triumvirate back in 2007 or there about. Our own killboard was pretty bad, crashed whenever we had a fleet fight and we had to look at several other killboards to see the bigger picture and then guess what had happened, who had won, etc.
So I decided to set up a board for the alliance and feed data in from all the other boards around us, to get a better picture of the battles, which led to everyone in the north using the Tri board for battle stats, which in turn crashed it worse than before. So a guy in the alliance named Bunji helped write some caching stuff for it, so it stayed alive, at which point it managed to stay up under heavy load. Ralle then contacted me about using that code for EVE-KILL, and i accepted. Not long after, Beansman contacted me about working together on a public killboard and then he contacted Ralle, and all three of us got together and wrote a new version of EVE-KILL, with lots of fixes and additions to keep it running under heavy load. It fetched mails from EVERYONE and from there it all just got larger and larger.”
It fetched mails from EVERYONE and from there it all just got larger and larger.
Tarek Raimo: “As a third-party developer, how is your relation with CCP?”
Karbowiak: “My relation to CCP is.. uh.. I guess good, but also somewhat hostile.
I’m relatively quick to call them out on their bullshit, and stupidity – especially on #devfleet over on Slack. […] Probably just the 3rdpartydev emo in me, mixing with my bittervet that makes me say that, but there’s a few things CCP does in the 3rdparty area which is lackluster, like their YAML dump (ED: YAML is a method of transferring information in a standardised format) being fucked for the majority of YAML parsers and then removing the IGB (ED: The In Game Browser which has been retired as of October 2016) without replacing the features it had via CREST, even though they said they would.”
Tarek Raimo: “People kept telling me that CREST is a valid replacement for IGB functionalities.”
Karbowiak: “Oh it is. It’s just, uh missing those IGB features. It has the Fleet stuff now though, which can handle some of the things like where your ship is, and what ship you’re flying, but it’s still missing a lot of other stuff.”
Tarek Raimo: “Players often criticise the effect killboard have on in-game behaviour. How do you see the role of killboards for EVE?”
There are people who use the live feed of killmails to judge where ships need to be restocked on the market
Karbowiak: “Killboards are both good and bad tbh. They’re bad in the way that they make some people more cautious about what they fly and how they play in EVE, because a loss in a 70b shit fit Raven is not only a hit on the wallet, it’s also a hit on the killboard e-peen. But at the same time I think they’re good, because they force a certain standard when it comes to fittings and how people fit, fly and fight. Plus you can glance all kinds of statistics from killmails.
There are people who use the live feed of killmails to judge where ships need to be restocked on the market, what ships are worth more etc. Even mission runners use it to see which faction ship/module they should cash out. On top of that you can see the Flavor of The Month (o.smium does this for example) by continually analyzing killmails for fittings. So, you can do a lot of things with the raw data, beyond calculating which pilot has the biggest e-peen in the game.”
The New Eden Killboard
Tarek Raimo: “I heard you are working on a new killboard project. What can you tell us about that?”
Karbowiak: “New Eden is a complete rewrite from the ground up of a killboard, still using PHP, but swapped the database out to mongodb with some clever stuff on the backend to make it much much more resilient for the long haul. And it’s laid out in an orderly fashion, not a huge mess like zKillboard ended up becoming, so very, very nice to work with. Plus this allowed me to do a lot of new things I myself had no idea about – learning experience and all that. If anyone wants to participate in writing the new killboard I’m open to have people join. All they’ll need to know is PHP and a little bit of MongoDB (Or simply be willing to learn how to utilize MongoDB), or JS / HTML5 / CSS.”
ED: For those who want to join in, Karbowiak can be reached in the #devfleet channel on the tweetfleet slack and under the email address firstname.lastname@example.org.
Did you enjoy this article? Please consider supporting Crossing Zebras.