Is there a way to IP ban someone in roblox?

There is a way to IP ban someone from a game. It is scuffed tho.

What you can do is check his UserId from the server (can be client too).
If it returns true, create a HTTP request from the client to a what’s my IP website and put the IP into a Datastore.

Then every time someone joins it will:

  1. (RemoteFunction):InvokeClient the player to get the IP from the user
  2. check if the IP is in the Database
    if the IP is in the Database then kick the player
    if not then do nothing.

This essentially works like an IP grabber, but please don’t use this for malicious purposes.
Hope this helps!

7 Likes

Stop blaming them. There’s absolutely nothing anyone can do to effectively stop people from extracting and saving anything clientsided. Anticheats won’t help a lot, either. The best thing you can do is to DMCA.

2 Likes

You can’t send HTTP requests from the client.

2 Likes

That is great! I think it would prevent some exploiters

You can’t use HttpService from the client…

Yeah, it can’t be used in LocalScripts

There is a one more way to save server scripts in Workspace. You can put server scripts in ServerScriptService.

I am certain they can’t copy your game entirely as LocalScripts cannot access ServerStorage and ServerScriptService, unless they are using an advanced exploit.

Server script bytecode are not sent to the client, even if you see a server script its just the instance data only.

You cannot do http requests on the client as others suggested.

1 Like

Creating a script that destroys the game if the GameId isn’t the same as the original GameId may help.

But would then immediately become useless because of the fact that they can just delete it. If someone saveinstances a place, it won’t yoink any server scripts. Those are server-sided at Roblox HQ ONLY. Not the client. The client never has access to these Server Scripts.

So if they stole the place, the script wouldn’t kill everything in the game. Not to mention it’s sort of impossible to kill the place file because of the fact that scripts run and immediately undo all changes in studio after play testing.

Even if it DID get saved, they could just delete it.

Do account age limit >


local RequiredAge = 30 -- // Insert age here..

game.Players.PlayerAdded:Connect(function(Player)

if Player.AccountAge <= RequiredAge then
         Player:Kick("Your account age needs to be atleast "..RequiredAge.." old! Your 
            current account age > "..Player.AccountAge)
       end
end)

2 Likes

Use the help others have provided. However, I recommend making a script that prevents alts. It keeps accounts under a certain age amount in days not able to join the game. I made this script below if you want to use it:

game.Players.PlayerAdded:Connect(function(player)
   local days = 7 — Change to how many days you want account age to be
if player.AccountAge <= days then
            player:Kick(“Your account must be “ .. days .. “ old to play this game!”)
      end
end)

Sorry if tabbing is bad I was doing this on my phone.

That prevents fresh alts however. Someone can make a lot of alts and wait for them to age, making the age limit obsolete.

An attacker could have dozens of aged alts that can pass through the filter.

2 Likes

Thanks man! I really appreciate!

1 Like

That sucks. If they upload it you can file a DMCA through roblox support and there will probably be action taken against their account. You might be able to report them for exploiting if they get it. This sucks in any situation and I’m sorry you gotta deal with it.

Thanks for the motivation! I will try my best.

Well I know you can get a public (and possibly private) IP address with python, but such a method being against TOS is plausible.

They just took the map, you can’t stop it. All your script will be safe, but your localscripts. They really can’t do much. Also, you cannot ip ban someone because that would be a lack of privacy for the user. You can use datastoreservice to ban their account, but not their ip.

Luau has no capability to get either IP address.