zKillboard URL-fu

posted by sacah on software, zkillboard, sacah,

zKillboard is an amazing site that I enjoy browsing from time to time. Every now and then I want to drill down into some specific data further and I always struggle to remember the URL-fu that zKillboard allows. Forget no more, I thought I’d dig in and find as much as I could and document it for next time.

I gathered this from looking at the source code of zKillboard, and trying out some things on the site. One day, when I have some time, I’d love to get the site running locally and have a dig into the database and how queries are constructed to get a better understanding of how it hangs together, if anything here is wrong, or there is more, let me know.

Standalone URLs

Lets get some base standalone URLs out of the way first

URL Description
https://zkillboard.com/kills/5b/ Kills where the victims value is over 5b
https://zkillboard.com/kills/10b/ Kills where the victims value is over 10b
https://zkillboard.com/kills/bigkills/ Kills where the victim is in one of these groups: Carrier(547), Dreadnought(485), Force Auxiliary(1538), Freighter(513), Jump Freighter(902), Titan(30), Supercarrier(659), Capital Industrial Ship(883)
https://zkillboard.com/kills/citadels/ Kills where the victim is in one of these groups: Citadel(1657), Engineering Complex(1404), Refinery(1406)
https://zkillboard.com/kills/awox/ Kills where an attacker is in the same corp/alliance as victim
https://zkillboard.com/kills/t1/ Kills where the victim is in one of these groups Combat Battlecruiser(419), Battleship(27), Capsule(29), Carrier(547), Cruiser(26), Destroyer(420), Frigate(25), Industrial(28), Industrial Command Ship(941), Mining Barge(463), Corvette(237), Shuttle(31)
https://zkillboard.com/kills/t2/ Kills where the victim is in one of these groups Assault Frigate(324), Black Ops(898), Combat Recon Ship(906), Command Ship(540), Covert Ops(830), Electronic Attack Ship(893), Exhumer(543), Interdictor(541), Force Recon Ship(833), Heavy Assault Cruiser(358), Heavy Interdiction Cruiser(894), Interceptor(831), Jump Freighter(902), Logistics(832), Marauder(900), Stealth Bomber(834), Deep Space Transport(380)
https://zkillboard.com/kills/t3/ Kills where the victim is in one of these groups Strategic Cruiser(963)
https://zkillboard.com/kills/frigates/ Kills where the victim is in one of these groups Assault Frigate(324), Electronic Attack Ship(893), Frigate(25), Interceptor(831), Corvette(237)
https://zkillboard.com/kills/destroyers/ Kills where the victim is in one of these groups Destroyer(420), Interdictor(541)
https://zkillboard.com/kills/cruisers/ Kills where the victim is in one of these groups Combat Recon Ship(906), Cruiser(26), Force Recon Ship(833), Heavy Assault Cruiser(358), Heavy Interdiction Cruiser(894), Logistics(832), Strategic Cruiser(963)
https://zkillboard.com/kills/battlecruisers/ Kills where the victim is in one of these groups Combat Battlecruiser(419), Command Ship(540)
https://zkillboard.com/kills/battleships/ Kills where the victim is in one of these groups Battleship(27), Black Ops(898), Marauder(900)
https://zkillboard.com/kills/solo/ Kills where only 1 attacker was involved, and the ship isn't a capsule (670) and group isn't Corvette(237), Shuttle(31)
https://zkillboard.com/kills/capitals/ Kills where the victim is in one of these groups Carrier(547), Dreadnought(485), Force Auxiliary(1538)
https://zkillboard.com/kills/freighters/ Kills where the victim is in one of these groups Freighter(513), Jump Freighter(902), Industrial Command Ship(941)
https://zkillboard.com/kills/rorquals/ Kills where the victim is in a Capital Industrial Ship(883)
https://zkillboard.com/kills/supers/ Kills where the victim is in one of these groups Titan(30), Supercarrier(659)
https://zkillboard.com/kills/lowsec/ Kills occuring in lowsec
https://zkillboard.com/kills/highsec/ Kills occuring in highsec
https://zkillboard.com/kills/nullsec/ Kills occuring in nullsec
https://zkillboard.com/kills/w-space/ Kills occuring in wormholes
https://zkillboard.com/kills/ganked/ Kills where one or more of the attackers are in the same alliance as the victim
https://zkillboard.com/kills/abyssal/ Kills that occured in Abyssal space (systemID > 32000000)
https://zkillboard.com/kills/abyssal1b/ Kills that occured in Abyssal space (systemID > 32000000) and have an iskValue >= 1b

That gives you a few quick URLs that might be of interest, and those are also available via the Menu dropdown in zKillboard, so no needing to remember them.

URL Segments

Now lets take a look at the base URL segments zKillboard accepts. These are also stackable, more will be explained on this later:

URL Segment Description
system/%systemID% Killmails occuring in systemID
( https://zkillboard.com/system/30000142/)
character/%characterID% Killmails with characterID involved
( https://zkillboard.com/character/96393303/)
corporation/%corporationID% Killmails with someone from corporationID involved
( https://zkillboard.com/corporation/1000181/)
alliance/%allianceID% Killmails with someone from allianceID involved
( https://zkillboard.com/alliance/99007498/)
faction/%factionID% Killmails with someone aligned to a faction
( https://zkillboard.com/faction/500004/)
ship/%shipID% Killmails with shipID involved
( https://zkillboard.com/ship/601/)
group/%groupID% Killmails with a ship from groupID involved
( https://zkillboard.com/group/237/)
region/%regionID% Killmails occuring in regionID
( https://zkillboard.com/region/10000005/)
location/%locationID% Killmails occuring at locationID, locations like asteroid belts, stargates etc
( https://zkillboard.com/location/40031149/)
constellation/%constellationID% Killmails occuring in constellationID
( https://zkillboard.com/constellation/20000072/)

Each one of those will help you drill down a bit into the enormous dataset of zKillboard. Taking them further, those are also stackable, putting them together can help you drill down even further. The first segment in the URL is what the pages display will use. So if the base is something not player driven, like a system, region, constellation or location, there are only kills, no losses. If the first segment is a character, any kill that player is involved in is a kill, and when they died, that is a loss. You get the picture.

Examples fo stacking segments

URL Segments Description
character/%characterID%/system/%systemID% Using Tenny Page from our character segment above. Lets filter for kills/losses occured just in systemID
( https://zkillboard.com/character/96393303/system/30002813/)
group/%groupID%/system/%systemID% Using the Corvette (237) group of ships from our group segment above. Lets filter for kills/losses occuring just in systemID
( https://zkillboard.com/group/237/system/30002813/) Notice we still see kills/losses as if the victim is a ship in groupID, it will be shown as a loss, if one of the attackers is flying a ship in groupID it will be shown as a kill.
system/%systemID%/group/%groupID% Now lets flip the segments so system is first
( https://zkillboard.com/system/30002813/group/237/) Notice everything is a kill now, as system is the base segment, and a system can't be killed.

Segment Modifiers

With an understanding of the above segments, lets look at modifiers. These modifiers can go on any of the above segments.

URL Modifier Segment Description
iskValue/%iskValue% Show killmails where the loss value is greater than iskValue. Needs to be multiples of 5b else you'll get an error
( https://zkillboard.com/system/30002813/iskValue/2500000000/)
npc/%OnOff% Show killmails where the only attacker was an NPC, or excluding all kills by NPCs, based on a 0 (no NPCs) or 1 (just NPCs) for OnOff
( https://zkillboard.com/system/30002813/npc/1/)
solo/ Show killmails where only 1 attacker was involved
( https://zkillboard.com/system/30002813/solo/)
kills/ Using our Corvettes in Tama query above, lets filter to just ones where corvettes were on the attackers list
( https://zkillboard.com/group/237/system/30002813/kills/)
losses/ Flip of above, just where Corvettes died in Tama
( https://zkillboard.com/group/237/system/30002813/losses/)
w-space/ Show killmails involving Corvettes in wormholes
( https://zkillboard.com/group/237/w-space/) This won't work too well coupled with a segment like system, region etc
lowsec/ Corvettes in lowsec
( https://zkillboard.com/group/237/lowsec/) This won't work too well coupled with a segment like system, region etc
nullsec/ Corvettes in nullsec
( https://zkillboard.com/group/237/nullsec/) This won't work too well coupled with a segment like system, region etc
highsec/ You guessed it, Corvettes in highsec
( https://zkillboard.com/group/237/highsec/) This won't work too well coupled with a segment like system, region etc
awox/ Show killmails where the victim and one of the attackers are in the same alliance
( https://zkillboard.com/group/237/awox/)
abyssal/ Show killmails where a Vexor (626) died in Abyssal deadspace
( https://zkillboard.com/ship/626/abyssal/)
ganked/ Show killmails where Vexors were involved and the attackers got concorded after
( https://zkillboard.com/ship/626/ganked/)
stats/ Show tabular data of kills/losses. As our base segment is a Vexor (Cruiser group) you will notice the only loss colum is the cruier. And all the kill numbers are ones involving a Vexor on the attackers list
( https://zkillboard.com/ship/626/stats/)
top/ For the current month, top player, corp & alliance for the base segment. This modifier is more focused on base segments that involve multiple pilots, rather than the character segment.
( https://zkillboard.com/system/30002813/top/)
topalltime/ All time top player, corp & alliance for the base segment. This modifier is more focused on base segments that involve multiple pilots, rather than the character segment.
( https://zkillboard.com/system/30002813/topalltime/)
ranks/ Tabular data showing who is ~20 points +- the base segments ranking. The ranking can also be seen top right of the details page 'Alltime Rank' & 'Recent Rank'. This modifier is more focused on player base segments, rather than system, location etc.
( https://zkillboard.com/character/96393303/ranks/)

There are also a few modifiers that only work on limited segments.

URL Segment Description
finalblow-only/ limits results to only kms where the character landed the final blow. Use it on the character/%characterID% segment.
corpstats/ Tabular data on all corps in alliance and details around kills/losses. Use it on the alliance/%allianceID% segment.

The reset/ modifier

reset/ is an interesting one, usually each new segment you add filters the data more, so if you looked for /alliance/%allianceID%/corporation/%corporationID%/ it would find a victim who was in allianceID AND corporationID, or an attacker who was in allianceID AND corporationID.

If you’d like to find a victim from allianceID and an attacker from corporationID, or vice versa, you can use /reset/. It acts like an ‘involved’ rather than an ‘and’ between segments.

URL Description
https://zkillboard.com/alliance/1354830081/ Shows all the kills/losses for the Goonswarm Federation.
https://zkillboard.com/corporation/1060620511/ Shows all the kills/losses for the Galactic Rangers corp, in ChaosTheory alliance.
https://zkillboard.com/alliance/1354830081/reset/corporation/1060620511/ Combine with a reset/ in between shows kills where the victim was in Goons and the attackers were in Galactic Rangers, or where the victim was in Galactic Rangers and attackers in Goons.

Understanding reset/ full would require I get this running locally to see how it forms the query, from what I can tell, you can’t use the same segment type on either side, unfortunatly, so comparing 2 alliances doesn’t work, comparing 2 characters doesn’t work.

Hope that gave you some insights into how to better use zKillboard, if you know any more, or find anything wrong, please leave a comment below.