Anti Text-Filter Bypasser | Unbypassable Text-Filter System | No more Text-Filter exploit

You made a textable billboard or something right?

And you made a text filtering system but someone typed “LMAO or F–k” right?

Because you made a localscript like this:

local filtered = game.Chat:FilterStringForBroadcast(script.Parent.Parent.TextBox.Text,game.Players.LocalPlayer)
game.ReplicatedStorage.RemoteEvent:FireServer(filtered)

And serverscript

game.ReplicatedStorage.RemoteEvent.OnServerEvent(plr,filtered)
  plr.Character. something something .Text = filtered
end)

exploiter can bypass this easily and he can type what he want!
dont do that

For making anti text-filter bypasser:

Create new localscript and make like this:

game.ReplicatedStorage.RemoteEvent:FireServer(script.Parent.Parent.TextBox.Text)

Create a script in player’s character that creates a new stringvalue named “Textt” in character

Then create new server script and make like this:

game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(plr,texttt)
  plr.Character.Textt.Value = texttt
  game.ReplicatedStorage.FilterText:FireAllClients(plr)
end)

Create new another localscript and make like this:

for i,v in ipairs(game.Players:GetChildren()) do
     local filter = game.Chat:FilterStringForBroadcast(v.Character.Textt.Value,game.Players.LocalPlayer)
     v.Character. something something .Text = filter
end

game.ReplicatedStorage.FilterText.OnClientEvent:Connect(function(plr)
    local filter = game.Chat:FilterStringForBroadcast(plr.Character.Textt.Value,game.Players.LocalPlayer)
    plr.Character. something something .Text = filter
end)

its just an example but you can make ur scripts like this

If you are lazy to read that just read this: make clientside filter system do not make serverside

6 Likes

client side filtering will be removed and roblox wants you to filter in the server

also exploiters can bypass the filter as it uses remotes

5 Likes

ok so i made this tutorial for unbypassable clientside text-filtering?
they cant access to other player’s filtered text’s? like he cant type what he want bc this script is not doing this, first filter then send to server, this script is not doing that, this script is doing send text then in server script send event to all clients then filter text in ur client then change text to filteredtext

like server seeing this = “hi”

client seeing this = “##”

Please DO NOT reply to thread without reading whole text

3 Likes

I do see it, but hackers can tamper with remotes

4 Likes

really, i know did u read the whole text?

WRONG WAY
-ServerScript

game.ReplicatedStorage.RemoteEvent.OnServerEvent(plr,filtered)
  plr.Character. something something .Text = filtered
end)

Server Seeing = “LMAO” – he type this with exploit
Client Seeing = “LMAO”

CORRECT WAY
-LocalScript

for i,v in ipairs(game.Players:GetChildren()) do
     local filter = game.Chat:FilterStringForBroadcast(v.Character.Textt.Value,game.Players.LocalPlayer)
     v.Character. something something .Text = filter
end

game.ReplicatedStorage.FilterText.OnClientEvent:Connect(function(plr)
    local filter = game.Chat:FilterStringForBroadcast(plr.Character.Textt.Value,game.Players.LocalPlayer)
    plr.Character. something something .Text = filter
end)

Server Seeing = “LMAO” – he type this with/without exploit
Client Seeing = “####” – client always seeing filtered version of server text

PLEASE READ THE WHOLE TEXT

3 Likes

yea they can access to remotes but they cant access to other clients so this script filters the text in clientside (filters in every client not in one client)

if you cant understand what im saying exploiters cant bypass the filter with this scripts ok?

PLEASE READ THE WHOLE TEXT

2 Likes

that’s now how exploits work, text filtering is server authorative

2 Likes

That will work but why not just filter the text on the server then pass the value to the client wouldn’t that prevent any sort of exploitable scenarios in any way?

1 Like

Client > he type “s–” and he sended this string to server

Server > server is now changing his texttt value to sended string then sending filtertext event to all clients (server didnt change the text property of billboard)

Other Clients and Client > Filtering the string from sended string by server then changing text property of bilboard to filteredtext

Server seeing this = “” - server is not client so server cant see any text
Clients seeing this = “###”

EVERYTHING THIS

1 Like

we cant filter strings in server?

1 Like

invoke the server with text to filter then return the filtered text as a result

1 Like

exploiters can bypass this so why i need to do this?

1 Like

Not sure if you are aware but you can filter strings on the server with TextService

4 Likes

ok uhhhhh so i made this script for clientside text-filter protection hehehe

1 Like

Text filtering must be exclusively conducted on the server. When a user submits potentially explicit content through a text box, it should be sent to the server for filtering. Subsequently, the filtered text, represented as hashtags or appropriate substitutes, can then be sent to all clients. The purpose of this approach is to ensure that clients never receive unfiltered text directly from other clients.

4 Likes

And… what’s stopping from exploiters from spoofing that?

1 Like

can anybody read the whole text this script is not filtering in client then sending to server

this script is first sending unfiltered string to server then server sending to all clients event
in clients they filtering the string then changing the text to filteredtext

why anybody cant understand this i think i need to send video of it

In essence, you are suggesting that other clients receive the unfiltered string and then filter it individually. However, this practice contradicts the Roblox Developer Terms of Service, as clients should never directly receive unfiltered strings from one another.

they cant see unfiltered strings this is just in values clients cant see values so?