Is anyone familar enough with the scanner to tell me if this is a me problem or an it problem? I scanned successfully recently and today it didn’t load.
Usually, the API is down or the Boundlexx site.
Was there ever a good write up or posts that really explained some of the backend of this stuff on the scanning and other things? I’ve been considering looking into some of this “data” you get from the servers and other things. I never took any time to understand that earlier on and not really up for trying to figure it all out from scratch.
Well… I do know the APIs that are exposed via Boundlexx and a few other places and I used some of those to create a website showing some color data successfully.
With a little knowledge it was pretty easy. Grab a URL, parse some stuff, make a pretty UI and display it. I did it with some AJAX calls and some JS, but you could do it any number of ways of course.
IIRC, there were an official list of API calls you could technically make, but I may wrong there.
Maybe @Rydralain, @Angellus or someone could chime in.
I think this is the only “official” API that the game provides, and you need a key for it.
The stuff developed by simoyd and later taken over by another player (angellus I think) has been open sourced, AFAIK.
That’s what’s running the color scanner and other stuff I think. There is more that you can do with it but boundlexx makes most of what people want more accessible. Early on they locked down some of the stuff that people had found by packet-sniffing and other techniques, I’m not sure how possible it is to directly (http) access things like login server data any more.
That’s around the time we lost BoundlessNinja IIRC.
EDIT: To clarify if anyone notices or cares, the references from James to “Creative Mode” there are because that was, at the time, the term they used for an earlier local version which also allowed the use of the LUA interface for scripting and modding in game.
At this very moment, I am not getting this error. I would guess that the Boundlexx servers were down temporarily.
I don’t know if there is a good write-up for it, but the scanner sets up a local server on your computer that intercepts the http responses coming from the Boundless servers before passing it on to the game. The data is then parsed by the scanner, but it’s in… byte arrays? I think? I never learned that part of this stuff. I believe there was a great deal of trial and error involved in figuring it out.
Looks like the source for Angellus’ version is here:
GitHub: AngellusMortis / BoundlessProxyUi
Yeah, I think that people were only given keys for the Shopping API and the Beacons API. I believe everything else on Boundlexx is from game file parsing, the BoundlessProxy MitM parsers, or the map file dumps on the forums.
Oh I forgot the beacons API. I see the map API there too, do you know if the keys that were issued cover all of these (shopping, beacons, maps)?
I thought the sites were completely dependent on james for map dumps. All three of those say you need a “blessed key” but there’s no indication of whether or not they’re keyed separately.
This is part of the conversation I wanted to start in another thread but, that got derailed and it’s probably “too soon” anyways.
At least the map one is keyed separately, and I believe there is no intention to make it available on the public universe due to the server load it creates. I think they put that documentation up in preparation for private servers, along with a not-yet-documented world & sovereign generation API.
Thanks… yeah I wish in the early days I had been more willing to take the time to look into all this.
This is what I was really interest in…
Thanks everyone else for their feedback as well.
This can also be caused by Boundless not shutting down properly. Try closing Proxy UI, opening Boundless and then closing Boundless normally. And then re-do Proxy UI.
Was there ever a good write up or posts that really explained some of the backend of this stuff on the scanning and other things?
Basically, every current private API I could find for the game has been implemented into Boundlexx as an indirect proxy so there is no strain on the game servers.
The source code for Boundlexx is here: GitHub - AngellusMortis/boundlexx: An API to get all things related to the game Boundless. Everything is in that repo except for the login code because @james asked me to not open source it.
This is basically the code to ingest data from the game files: boundlexx/boundlexx/ingest at master · AngellusMortis/boundlexx · GitHub
And this is the code to model all of the data and pull data from the game servers: boundlexx/boundlexx/boundless at master · AngellusMortis/boundlexx · GitHub
The shops do not update as well as BUTT, but that is because there are aggressive rate limits on the API so I do not try to squeeze the data out since everyone prefers BUTT (we both cannot really use the API at the same time), I do have plans for rewriting it to make it update faster, but as long as BUTT is also using the official API as well and there are such aggressive rate limits, I doubt I will do that.
Outside of shops, I also pull world data from the forums, mostly only for getting world images for Exo/Sovereigns though. I also scan worlds, which is how Boundlexx discovers new Exos, calculate distances between worlds and polls settlements. Color / World Control data comes from players running Boundless Proxy UI and requires an API key so I can track who is uploading what data in the event of something doing something bad. There is also a command for me to suck up the atlas data that gets dropped occasionally. There are additional “official” APIs (Beacons | LOD0 map) to pull this data, but it requires an API key that with a higher level of permissions then the ones that have been given out to myself and Mayu.
If you want any more details about how Boundlexx gets data, it is probably better for the topic dedicated to it.