Boundlexx API: An API to get all things related to Boundless

WARNING:

In the near future, I will be removing all data about non-public Sovereign worlds from Boundlexx. It has been brought to my attention via discussions with the devs that some players have complained about the data for their “private” worlds are being leaked. So that means in the near future, any worlds that currently is_public = false will stop returning data via Boundlexx. You will start to get 404s instead of data. This also applies to any Discord Webhook as well. A notification for a new Sovereign world will only be generated when the world is set to global “Can Visit”.

I totally understand why some players would not want everyone to know about their world if they are not ready to let players to know about it. I apologize for any inconvenience this might cause any awesome things you have built.

1 Like

Man that’s a shame but I get it. All good.

  • In line with my previous comment, removes private Sovereign worlds from the Discord notifications Webhooks. A Discord message will be pushed out on the first world poll after the world is made public, if ever. Sorry for the duplicate/old messages while I was working out these issues. I probably should have disabled everyone’s subscriptions while I work ironing that out. This will only affect Sovereign/Creative worlds, not Homeworlds or Exoworlds.
  • Shop data! I finally got an API key for the Live Universe and now shop data is starting to get populated in Boundlexx. You can start building against the existing APIs, just please be aware it may still take me a day or two to get the polling up to expected performance levels/timing intervals.
  • Adds text_name and html_name (similar to the same fields on the Worlds API) for both Leaderboard Record APIs and Shop APIs.
1 Like

How does someone find this screen, if I might ask?

But this means that as an owner you can’t check any of the data either. Plus can’t check if one like you requested has just been created.
I mean that when I created one I kept looking out for a pop up of a planet with similar characteristics. And before going there I checked the resources.

This is a shame that is now not possible anymore.

I also don’t understand why anyone would want to keep things a secret. There’s no player name associated with the planets so we don’t know who owns it. All we can see is the amount of resources and why on earth would you want that to keep a secret.

What nefarious plans do people have to want this secrecy?

4 Likes

Part of the frontend we have been working on.

1 Like

Am I understanding correctly you now have to set your world to public (via the discord hook or some other method I’m not aware of) manually, not just the world control, to be visible in the API? The methods require your world id, right? How does a normal person get this id?

1 Like

You ca have it in debug menu now on pc. If its still like that you can look via planet names aswell on the api.

I’m assuming he’s setting the “is_public” flag from the worlds list endpoint (https://ds.playboundless.com:8902/list-gameservers) as any world that restricts visitors doesn’t appear in there.

1 Like

The discovery page has no info about that as far as I can see, I wish it had. It doesn’t even show if the world is creative or survival.

Yeah i do not understand that either, would be nice to have someone opinion that want this info private.

It doesn’t no - but it does not show any worlds that have the “can visit” flag set to false either.

It definitely shouldn’t require a player to set anything outside the game to opt out of their world being visible.

The is_public flag in Boundlexx maps to the public property that is returned by Sovereign worlds in the game API. That value is in turn is determined by the global “Can Visit” on Sovereign worlds in the World Control. For Homeworlds, Exoworlds and Creative worlds, public is never returned so I always assume they are public.

That is part of a feature set I would love to do if I can get game auth integrated in to Boundlexx, but that is currently not easy to do in a secure and “trustful” way. The Boundless Accounts SSO server is designed to only work with the forums and the game servers so I can make my own login page that can send the credentials you give to the Boundless Accounts server to auth, but I still have to accept your credentials, which is not ideal. I would need an OAuth or similar open SSO implementation so I could send the user to the Boundless Account server to auth and then send the user back to me after they are done.

There is no actual way to tell from a user that they own a world, but I could block their Boundlexx account in the case of abuse. Boundless auth integration would help stop some abuse that I rather not have to deal with:

  • Does this person actually own Boundless?
  • What stops the user from just making another Boundlexx account if they abuse it?

Some of the things I have thought of implementing if users actually had accounts:

  • Customized notifications (push/Discord notification for things like change in shop item prices, etc.)
  • Obviously access to the worlds they own even if they are private
  • Automated control over managing forum posts for worlds you own

The DS list-gameservers does not return Creative worlds. Only public (global “Can Visit”) survival Sovereign worlds and Homeworlds. As far as I know, it also does not show Exoworlds either.

So it’s this info you use to determine if a world is public and should be visible in the API, not the discord thing?

Correct. @DreamEvil’s new crowdsourcing with Nixbot thing can only allow users to self-report global “Can Edit” and “Can Claim” permissions, not “Can Visit” since I can get that data myself.

1 Like

Great! I was worried 95% of the planets would disappear from the API since people haven’t done the discord thing.

2 Likes

WARNING: I am always working to make Boundlexx model more closely to how the game does stuff. Next up on the chopping block is world resources and drop rates. Because of that, I need to “fix” some of the existing data. All of the “resource counts” endpoints (listWorldPollResources, retrieveItemResourceCount, and retrieveItemResourceTimeseries) will all be getting updated to return the correct source block for an item.

All of the following “items” will be updated their proper “block item” (the seam blocks):

Rough Amethyst
Rough Diamond
Rough Emerald
Rough Topaz
Rough Ruby
Rough Sapphire
Rough Rift
Rough Blink
Copper Ore
Iron Ore
Silver Ore
Gold Ore
Titanium Ore
Soft Coal
Medium Coal
Hard Coal
Small Fossil
Medium Fossil
Large Fossil
Ancient Tech Remnant
Ancient Tech Component
Ancient Tech Device
Rough Umbris
Rough Oortstone

After doing this, I also plan to add drop rate calculations to Boundlexx and there will be new endpoints that will be “resource drop counts” versions of the existing “resource counts” ones. These new resource drop count endpoints will take into consideration all of the things that contribute to the drops, meaning it will allow you to search on Inky leaves instead of Rosetta Nox and it will show counts/averages based on drop rate for the Tier of the world correctly as well.

No ETA on release, the above changes to “fix” the data will likely go out in the next couple of days. If I manage to get the drop rate stuff done, I will add it in as well. Hopefully everything will be out by this time next weekend.

2 Likes

Previous changes mentioned above are live!

  • Changes resources to properly pull from game files (all of the “Rough” version of items have been replaced with the “Seam” block versions of the item)
  • Adds prestige, mine_xp, build_xp, is_liquid, is_block, and resource_data to retrieveItem API.
  • Fixes time to generate API Schemas, so now that do not timeout ever anymore!