Back to main page

Apr 21 2024 1:46PM (Edited: Apr 30 2024 11:00AM)

New public API info

First what is a API?
It stands for Application Programming Interface
I make and use the RESTful type which is sending and receiving data through a website address.
Example: https://api.gridplay.net/name2key/venkellie will return my SL's UUID in a json format which looks like this…
{ key: 4693-593d-435c-ad32-45cffe4a8365 }
I can then use PHP's built in json_decode function to turn it into a array for easier handling of the data.

So why this post?
Few years ago I wrote GridPlay's first public API for SecondLife using inworld scripts to handle requests like converting someone's legacy name to their UUID key.
Wrote a package for Laravel websites to make it easier to use this api.
Over the years I have noticed my inworld “servers” were being DDoS attacked so I put in a “api_key” requirement, this key only needed a valid SL legacy name to use the package.

With the introduction of GPaONE and GridPlay 4's Mass Integration Plan I have decided to better secure the public api it will require a special secret key on the GPaONE website.
Meaning you will need a GPaONE account and generate the special key to use the public api.

Why?
To combat against DDoS attacks.
If your a programmer yourself then your familar with api keys. If not a programmer let me briefly explain.
Other open API's also require a special key to use their stuff. This is for the same reason.
DDoS is still a huge thing on the internet, infact the server this site is on was recently attacked, thankfully the attackers were looking for exploits that dont exist.
This server has been attacked multiple times, the attackers either cant find what they are looking for or get caught by OVH's anti-ddos protection system.
ANYWAYS (ADHD moment) I'm doing this to better safe guard my sl servers from future attacks.

So what about the currently public api that only requires a sl legacy name?
This one will be deleted come June 5 2024 when i delete the sl.gridplay.net website from the server.
This is all part of the master plan for GridPlay 4.
Right now the api is at sl.gridplay.net but in the coming hours of this post ill be rolling out the new system at api.gridplay.net
A GPaONE account is NOT required for the api website but is required to use the API and laravel package.
If you use the package please upgrade to version 3 as soon as i release it on github.
Of course i will keep version 2 in its own branch on discord.
To get the latest of the package set your composer.json to “dev-main”

In the meantime while I wait for June 5 to roll around my in world servers will be split.
I have 5 in Cavanaugh and 5 in Mocha for rolling restarts. When 1 sim is down the other sim can pick up the requests.
Effective shortly after this blog im cutting them down to 4 per region.
2 of them per region will handle the new api requests. The other 2 will stay handling version 2.
Come June 5 though i will change the version 2 code to version 3.

End of Life for version 2 is June 5 2024.

UPDATE: Version 3 of the public API is delayed due to more to code on other websites which i forgot about
Didnt realize it till I started porting over old code from the old website.