Doing a Server Side IP Match ( Confused )

What I am trying to do

I am trying to set up a database using sql over http.
For my security I want to do a match using IP

For example using php I can get the visitors IP and do a match with its organization name AKA ROBLOX if it matches then insert the data. simple.

My output

Summary

IP: xxx.xxx.xxx.xxx

COUNTRY: United States

ORG: University Corporation for Atmospheric Research

What I am confused about

Is roblox using UCAR data servers or something, or is it a vpn or a dynamic IP every time a user joins a roblox server?

1 Like

According to https://corp.roblox.com/technology/:

The servers are located around the world, with the goal of giving every player a low-latency connection to a game.

The IP would be different depending on the server’s location.

3 Likes

Yes but they would be under a business name,

Okay here is an example JSON

{
“businessName” : “Roblox”,
“businessWebsite” : “”,
“city” : “San Mateo”,
“continent” : “North America”,
“country” : “United States”,
“countryCode” : “US”,
“ipName” : “”,
“ipType” : “Business”,
“isp” : “Roblox”,
“lat” : “37.56299”,
“lon” : “-122.32553”,
“org” : “Roblox”,
“query” : “xxx.xxx.xxx.xxx”,
“region” : “California”,
“status” : “success”
}

I guess I could use this source and do a match.

If this is just for your game you could look into having a private API key instead.

2 Likes

This also isn’t correct.
Roblox’s game servers are normally rented from other rack server providers, many of which are the same buildings used for cheap VPS hosting - so someone can buy a VPS in the same facility as Roblox’s Servers and impersonate a server if you whitelist those addresses.

Solution: Introduce an Authentication Key on your Roblox Servers?

1 Like

I agree with @unix_system. What I do is a mixture of an authentication key + restricting access to the Roblox UserAgent. But the former is probably the best bet.

if ($request->header('User-Agent') == "RobloxGameCloud/1.0 (+http://www.roblox.com)") {
        return $user;
    } else {
        return response()->json([
            'message' => 'This resource can only be called from an active Roblox game server',
        ], 403);
    }
2 Likes