What does this mean?

We are recently having an issue, and can not understand what this means. If we can find out what it means, we can fix it.

Thank you for your help and generosity.

2 Likes

Could you give some context, is this a game with no scripts or has this started as a result of a new script?

1 Like

Include more information.
When is it happening?
Blank baseplate?

1 Like

So, this is actually coming from one of our products, it requires HTTP requests to be on, and for the game to be public, it works in all other games except this specific game, we think it must be coming from ROBLOX but we don’t know what is wrong.

For a bit of background, the screenshot is from one of our customers, I am the lead developer. The script is not open source so we would have to get the creator of the script to edit it when we find out what is wrong.

As simple as it sounds has your client tried toggling HTTP requests on/off

1 Like

I see? Do we get them to retry?

1 Like

This seems to be an issue with how your web server is validating what requests are coming from a Roblox server. From what I know about Airplo, you have an IP whitelisting system, although I’m not entirely sure how you determine an IP address to be Roblox’s, an IP whitelisting system is not a great idea as discussed in various replies here:

There are better ways to determine a request is coming from a Roblox game server, which are also discussed on that thread.

My method is pretty much identical to the method in which Airplo uses. If theirs has suddenly stopped working then I need to check if mine has too. If it has then Roblox has most likely changed something and the way we use the API needs to be fixed. I’ll get back to you on it.

now i have to find the project

Is it a method of checking ISP data or IP ranges, or are you using the method of sending a JobId and validating requests from the IP thereafter providing the JobId exists and is unique?

Doing that is really unreliable. Roblox can get new IPs or rent out IPs without notice and your authentication could break without you knowing for months because it would work for some games and others not.

I’m not 100% sure what you mean by this. I pass the place ID and job ID to a Roblox API which then returns a bunch of data about the game. In that data is the machine IP (server IP) and machine port. They are what the Roblox client sends packets to when playing a game.

Doing this means that we can be certain that the request is from Roblox because if the requesting IP matches that of the game servers IP, we know its from the game server.

The issue is because its mainly an internal endpoint used by the Roblox client, Roblox could change it without any real notice to developers.

Edit: The downside to this method is that because you are using the APIs for joining a game, the game must be public and free to play for everyone.

I know checking ISP data and IP ranges is unreliable, I was just making sure this wasn’t the method you were using. The method I was on about uses: https://www.roblox.com/games/getgameinstancesjson?placeId=PLACEID&startIndex=0

When making the request to your web server, you send the PlaceId and JobId with it. You can then inspect all the indexes and verify that the JobId exists for the placeId, and if it hasn’t already been registered on the web server then you can permit further requests from the IP that sent the original request and make sure that JobId can’t be re-registered.

If you’re using that method, the only way I could ever see it going wrong is when there is a collision in JobIds - though this nearly impossible.

Going back to the OP, the only advice I can give is to debug your web server’s code, check what conditions are and aren’t being met when validating requests from Roblox.

3 Likes