These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

Looking for list of ID ranges

Author
Byteflux
Stimulus
Rote Kapelle
#1 - 2011-11-02 16:55:41 UTC  |  Edited by: Byteflux
Hello tech lab,

I've tried Googling and forum searching but was unable to find exactly what I was looking for.

I am looking for a list of ID ranges for characters, corporations and alliances (and anything else). Basically, I need to validate name-to-ID conversions from the CharacterID API response using arbitrary names supplied by a user and I need to ensure that the ID returned by the API belongs to the type of entity the user claims.

A good example of this would be killmail validation, ensuring that all character names, corporation names and alliance names in a killmail are legitimately what they claim to be, since the CharacterID API will not make that distinction for you.

Anyone who shares this list gets free internet spaceship cookies :)

Thanks.


Edit:

After digging around some more, I did find mention of such a list but no actual link to it. I decided to experiment with various character, corporation and alliance names and after seeing the results I'm not so sure disambiguation by ID range is even possible. Oh well.
Dragonaire
Here there be Dragons
#2 - 2011-11-02 21:48:14 UTC
At one time it might have been be I don't think you really can anymore. You can take the name you get back and try going the other way with it plus anything from in game you can find by comparing them with static data dump since char/corp names can't overlap.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Trenker
#3 - 2011-11-02 22:26:28 UTC
Once you have the IDs you can use the AllianceList the public CorporationSheet and the public CharacterSheet to check if the IDs are correct. This way you can also make sure that the Alliance -> Corporation -> Character relations are valid.
Byteflux
Stimulus
Rote Kapelle
#4 - 2011-11-02 22:30:24 UTC
Trenker wrote:
Once you have the IDs you can use the AllianceList the public CorporationSheet and the public CharacterSheet to check if the IDs are correct. This way you can also make sure that the Alliance -> Corporation -> Character relations are valid.


My concern with this is that I would potentially (in extreme cases) need to make several hundred requests to those APIs within a few seconds. I don't know if CCP would allow it in the long run. Can anyone confirm?
Lutz Major
Austriae Est Imperare Orbi Universo
#5 - 2011-11-03 04:46:07 UTC
L
Byteflux wrote:
Trenker wrote:
Once you have the IDs you can use the AllianceList the public CorporationSheet and the public CharacterSheet to check if the IDs are correct. This way you can also make sure that the Alliance -> Corporation -> Character relations are valid.


My concern with this is that I would potentially (in extreme cases) need to make several hundred requests to those APIs within a few seconds. I don't know if CCP would allow it in the long run. Can anyone confirm?

To be honest I can't imagine a usecase where you might want to request the data "several hundred" times (except for first time imports).
If so, you will get blocked pretty quickly, if you don't start to cache request results.
Byteflux
Stimulus
Rote Kapelle
#6 - 2011-11-03 06:03:19 UTC
Lutz Major wrote:
L
Byteflux wrote:
Trenker wrote:
Once you have the IDs you can use the AllianceList the public CorporationSheet and the public CharacterSheet to check if the IDs are correct. This way you can also make sure that the Alliance -> Corporation -> Character relations are valid.


My concern with this is that I would potentially (in extreme cases) need to make several hundred requests to those APIs within a few seconds. I don't know if CCP would allow it in the long run. Can anyone confirm?

To be honest I can't imagine a usecase where you might want to request the data "several hundred" times (except for first time imports).
If so, you will get blocked pretty quickly, if you don't start to cache request results.


With a clean database to boot, there will end up being a lot of "first time" imports for a while, which is my concern.
Lutz Major
Austriae Est Imperare Orbi Universo
#7 - 2011-11-03 07:25:39 UTC
Byteflux wrote:
With a clean database to boot, there will end up being a lot of "first time" imports for a while, which is my concern.

As Trenker already said: use the AllianceList, maybe together with the ConquerableStations to aquire a foundation of id/names of corporations.
For those ids without names use the CharacterName with multiple ids (don't hammer the CharName with single ids!).

Eventually you might get (historical) corporation infos of other sites (like dotlan, http://evewho.com/, ...)
Byteflux
Stimulus
Rote Kapelle
#8 - 2011-11-03 07:42:07 UTC
Yep, thanks for the info guys, I'm taking all your suggestions and building the data now. This would all be so much easier once CCP implements a disambiguous name/id API call for each entity.
Tonto Auri
Vhero' Multipurpose Corp
#9 - 2011-11-03 11:03:39 UTC
Another pro tip: Do NOT use external sources directly from a user-invoked process. Twice that for sources known to not tolerate abusive activity.
Establish a backend connected to your database and scheduler and direct all requests to it.
Queue all external requests through scheduler and you won't run ahead of yourself.

Two most common elements in the universe are hydrogen and stupidity. -- Harlan Ellison