I don’t think there is way to prevent exploiters from injecting exploits, they can control everything on client and server won’t even notice. Only thing you can do is make good anticheat. If you game is known if someone steals your assets people would tell “That is not your’s you stole it!”
If you have stable client memory usage (although sometimes inaffective) maybe detect big memory spikes for when the executor is detected or when dark dex is executed since they both have massive spikes (note: auto attach completely bypasses this).
Since Trolling Guis don’t replicate to server if you wanted to detect them you would have to on the client (which the exploiter can control and can disable/delete) and even if you do find a way to hide the detection on the client most expansive GUIs like dark dex create their own GUI service or is set in core gui which you can’t access
I’m affraid there’s no proper way to detect exploits since any detection would probably be bypassed by the size of the synapse dev team. Although I have seen games like Bad Buisness and others somehow have an anti dark dex and if they were to make their method public they would be bypassed.
The only secure way would be to secure your remote events and do sanity checks on the server
Some things to note about exploits capabilities;
Some exploits have a getnilinstances() which returns all instances parented to nil/destroyed on the client.
Most GUIs now would hide in CoreGui or like dark dex create their own service which is impossible for people to detect.
Exploiters can actaully read your local scripts (and module scripts)
Exploiters can’t access or change Server Scripts (normal scripts) since when a player joins local scripts gets their data tranferred to the client through an encrypted bytecode. Which then exploiters can decompile and read the script
when sending bytecode roblox completely ignore variable names so they would be like
normal local script
local smth = something
--hello
local anthThing = anotherThing
print("yes")
what an exploiter would see
local v1 = something
local v2 = anotherThing
print("yes")
also exploiters can’t access server sided containers (ServerScriptService and ServerStorage)
Problem with this memory spikes are pretty frequent (atleast in my case), when i open Chrome (i normally use brave) my computer completly lags and all games have big memory spike. And getting kicked from game just for opening chrome doesn’t sound like good solution to me.
while true do
wait()
if game:IsLoaded() then
break
end
end
spawn(
function()
while game:GetService("RunService").RenderStepped:Wait() do
local current = game:GetService("Stats"):GetMemoryUsageMbForTag("LuaHeap")
wait()
local new = game:GetService("Stats"):GetMemoryUsageMbForTag("LuaHeap")
if
new ~= current and new - current > 6 or
pcall(
function()
pcall(game:GetMemoryUsageMbForTag()) -- anti metatable spoofing?
end
)
then
game:GetService("Players").LocalPlayer:Kick("Dex Explorer? Down Bad.")
end
end
end
)
code for anti-dex explorer, and f3x sometimes.
if your game has super bad performance it will kick you.
I really don’t think this is good solution,
If you look at my old PC parameters:
Parameters
Operating System: Windows 7 Home Premium 64-bit
System Manufacturer: Packard Bell
Processor: Intel® Pentium® CPU B960 @ 2.20GHz (2 CPUs), ~2.2GHz
Memory: 4096MB RAM
Card name: Intel® HD Graphics Family
I had hard time running simple games on 1 graphics and getting kicked for having bad performance isn’t good thing.
There is no way for you to detect injectors. Relying on memory usage is a horrible way to detect exploits this will only result in innocent players getting affected. Synapse X has auto launch and auto attach this will help reduce the memory spike as it attaches to the roblox client as soon as it loads and that could be even before they have entered your game.
You should add server sided checks in your game. Don’t use remotes for in game currency/valuable items, everything important should be done on the server. At the end of the day you can’t do anything to stop exploiters except add sanity checks and make sure you have a decent anti cheat
I also heard that (if a game is rooted of all its errors that appear in the console) There can be a script that shuts down the server and prevents the exploiter (if there is an exploiter causing it) to mess up the server even more.
This is a terrible way to anti-exploit, its much better to just use a report system.
At this point exploits use rconsoleprint, and slower memory loading, so that they aren’t detected. Also people can spoof this will metatables.
The F3X part you can just detect when a hopperbin or tool is added and if its named f3x
yes, to add on to my reply with this, synapse has a auto-launch feature where it will edit the client for less lag, and probably will end up kicking innocent laggy players then exploiters.
Wrong. Most synx users DO Use auto launch, because it makes there client faster loading + injects autoatically. Again, you’re better off using a report system then false kicking players because of lag.