Expose a way to get a server's region

As it stands, there is no easy way to retrieve the region of a Roblox server without relying on frequently inaccurate third-party geo-ip endpoints.

As of a few days ago, the only free geo-ip API without request limits stopped reporting Roblox server regions accurately. Previously, as detailed in this thread, the endpoint at http://ip-api.com/json/ was used by many developers to retrieve accurate server geolocation information. Now all requests made to this specific API report Roblox servers as being located in California, instead of their actual locations.

Now developers are facing having to pay hefty bills for paid API’s that have retained their accuracy for reporting Roblox server regions. One such API, ipapi.co, costs $144 a year for a limit of 60,000 requests a month. Roblox experiences with a decent userbase can easily reach well beyond this limit. Our game, Deepwoken, with an average of 4-6k players, makes geo-ip location requests on server start. According to our analytics, this can be upwards of 50,000 requests a month. Without exposing server regions, Roblox developers who wish to provide information on servers to their users through server lists will have to pay hundreds of dollars a year.

It’s worth nothing that player regions are already exposed through LocalizationService:GetCountryRegionForPlayerAsync.

Knowing which region a server is in is incredibly useful information for players to have access to, as it enables players to make an informed choice in what servers are best for them to play in in order for them to have the smoothest play experience. Without server lists, players find it difficult to find their friends in servers, and have to rely on Roblox’s default matchmaking which often does not meet the needs of the user, as they have no control. Even just being able to get the timezone or continent a server is based in would be incredibly useful.

60 Likes

Support. A game I’m developing for right now is a first person shooter with custom matchmaking, and for a period in time when this change occurred, every player was suddenly getting 300ms+ ping- which really really matters in a first person shooter. We now rely on an external server we already had for this, however that makes little sense for games without a pre-existing external server. A built-in way to get a servers region would be incredibly helpful.

2 Likes

Im pretty sure theres a way to get server regions, I think arsenal has done it, However im pretty sure revealing such information could be quite daunting depending on whoever is looking at that information regardless of it being used for a server region search, Idk thats my opinion but yeah, Weird that they wouldnt create a way for a region system to work!

1 Like

Arsenal resorts to an external server in order to get that information, as @ffrostfall said - “We now rely on an external server”. This is pretty tedious, especially when developers have to pay for the server.

4 Likes

Ik, I dont understand why roblox would want to get people to rely on external servers when they are losing out on the $ sounds to me like a generic mistake that they need to fix, Cause it would save everyone money and time if they added their own function to the engine to make developers jobs way easier, This might be something we could see in the future hopefully

3 Likes

Support
I would love for Roblox to have a game:GetServerRegion method or something similar, so I can use it in my server lists instead of relying on HTTP service

4 Likes