Roblox recently added a neat tab to the creator dashboard called error reports, where you can see errors and warnings in real time.
While scrolling through my error report I noticed multiple instances of “Adonis”
This has only been from today, going 7 days back shows even higher amounts.
My game DOES NOT have any free model admin system and I do not use Adonis at all, my game has little exploiters running around and I catch them all the time and this leads me to believe that some of them are using Adonis.
Methods I have tried :
- All of my remotes are secured
- LoadString is off, Filter enabled is on
- Checked all scripts/free models for suspicious code including “require” and “getfenv”
- Attempted to detect and kick players with a simple local script that detects these warnings in the console and kicks them, but I haven’t yet seen a successful kick,
the script I tried to use is below
(I could be wrong and that Adonis has nothing to do with exploiting however it’s still strange as these messages never occur on the test server which nobody has access too, which means nothing in the game is causing this)
7 Likes
While the LogService check is a nice idea, Exploiters can view the code of client scripts. Once they see that script, they can disable it and bypass the detection.
I doubt that the exploiters in my game are actually exploiters, probably mostly script kiddies who give up after something like this
Sadly I don’t think this scripted worked anyways as I’ve gotten more Adonis warnings but no kicks
What even is Adonis? Things online says it is an Anti Cheat Detector.
1 Like
Adonis is an admin system made by Epix Incorporated.
1 Like
i’m not sure the players are using adonis, script kiddies only have access to the client so unless you have a backdoor then i don’t think they’re giving themselves admin.
This script will print the name of the model/folder/part that has a script with the name “adonis” in it. You can run it in your command bar and check output for results.
local services = {"workspace", "ReplicatedFirst", "ReplicatedStorage", "ServerScriptService", "ServerStorage", "StarterGui", "StarterPack", "StarterPlayer", "Teams"}
for _,service in pairs(services) do
if game[service] then
for i,v in pairs(game[service]:GetDescendants()) do
if v:IsA("Script") or v:IsA("LocalScript") or v:IsA("ModuleScript") then
if v.Name:match("adonis") then
print(v.Parent.Name)
end
end
if i%100 == 0 then
wait()
end
end
end
end
You can also just delete any script that has adonis in it’s name with this:
local services = {"workspace", "ReplicatedFirst", "ReplicatedStorage", "ServerScriptService", "ServerStorage", "StarterGui", "StarterPack", "StarterPlayer", "Teams"}
for _,service in pairs(services) do
if game[service] then
for i,v in pairs(game[service]:GetDescendants()) do
if v:IsA("Script") or v:IsA("LocalScript") or v:IsA("ModuleScript") then
if v.Name:match("adonis") then
v:Destroy()
end
end
if i%100 == 0 then
wait()
end
end
end
end
I can assure you that my game has no back doors and that there is nothing in the game named or related to anything named “Adonis”
You can try to detect if a new module is made (or changed), looking at the 3rd/6th recent error. If it detects any of new modules, delete the admin system.
It’s a versatile admin system that can be modified.
I could but something tells me these exploits hide themselves anyways
If you’re absolutely sure there are no backdoors, then there’s nothing you can do that much since it’s probably an exploit that exploiters use.
You can add some client-sided checks and kicks but those can be bypassed so make sure you got a good anti-cheat system in place.