Hi folks,
I used the forum search, but I could not find any thread where this topic was discussed before. So, let’s give it a try here.
With the advent of bucket-based/floating-window-rate limiting, which rather heftily penalizes you if you are causing a 4xx response, I am wrapping my head around the following problem:
Over the time I have collected a large bunch of structure ids, of which I don’t know if
- they are still live (or were taken down, either by destruction or removal), or
- if only their ACL was reduced so much that I am no longer allowed to dock/see information through ESI (but which also could change again in the future).
Obviously, it does not make sense to send ESI requests to structures that have died (like the “first” Perimeter - Tranquility Trade Tower) - because for this group of structures, never ever any request will come back anymore. In the case of the Perimeter - TTT, it’s trivial that no ESI requests should be sent anymore, because “the world knows” that it’s gone (it even got a landmark there). But how about those stations that are less known to the world (e.g. The market-enabled structures in Lustrevik)?
To make a long story short: Are you aware of an approach to determine if a structure effectively died using ESI?
My first idea was using “GetUniverseStructuresStructureId” , but that - as the description tells you - always returns a “403 Forbidden” even for destroyed structures.
I think I get the hang of why it was designed that way: Because if you’d get a “404” in case of destroyed structure, then from the transition from 403 to 404 you could conclude the exact point of destruction - even though you never had visited the system in-game (which violates the principle that you should not gain a game’s advantage from using ESI). But: Using GetUniverseStructures, you can effectively scan the availability of structures, even if you haven’t visited the solar system ever. That’s a kind of asymmetry which I find is problematic - the life cycle for structures is incomplete (they get “created”, but they never really receive “deletion”).
If we have fear about that returning a 404 for destroyed/dismantled structures may give you an undue advantage, what about the idea to delay showing the 404 by - say - 30 days after destruction/removal (and until then keep showing 403)? By this the advantage gained for intelligence would be close to nil (what’s the tactical advantage after 30 days), whilst long-term you would at least be able to determine that this structure “is gone for good”.
Any thoughts about this?