Anyone know how games like Frappe always have protected servers?

If you join every server and click CTRL + SHIFT + F3 every server ip is protected (basically the ip ends in .33 or .1 or .254 those are protected)

How do you achieve something like this any ideas? Thank you.

If I’m not mistaken the way they do it is that they send an HTTP request from the server to an IP API, to fetch the server IP. Then if the server IP matches a protected server IP(the way you check is by storing an array with protected server IPS and checking for matches), it runs as expected, else it shuts down and the player who initiated said server gets teleported to another active server, this process is done in a loop-like way so by random chance the player lands on a protected server, then that server stays up so more people can join it.

Also, scripts that work as I just described can’t be tested on studio, only in live servers, because on studio the server IP and network data is your own network. So if you send a request to such an IP API from your Roblox game while you test it in studio you effectively IP grab yourself. So the script must also use game:GetService("RunService"):IsStudio() and if that returns true not run any code.