How To Patch The New Exploit On Banning Games

Animations can’t load in a game if they’re not owned by the game’s creator, clientside or serverside. They use some kind of weird thing regarding welds (I’m pretty sure) to move the character’s body parts and somehow do it smoothly as if it was an animation even though it isn’t an actual animation.

So checking if animations in the game are owned by you or Roblox would be essentially useless

1 Like

I believe the “NSFW” anim he’s talking about is the balloon animation which is used by many exploiters in order to simulate bad behavior, many exploit admin scripts implement said animation as a command.

I edited a little the script you think this can help?
anti new ban.rbxl (37.5 KB)

I know it’s not really accepted to use knowledge of exploits and scripts here, but I looked at a well-known “admin script” and its “bang” command indeed uses a balloon animation, along with the dolphin dance.

Well, that…makes it worse, knowing these are official Roblox animations so an exploiter could do this in any game, and since it’s just playing animations, it would be hard to detect it using server anti-cheat scripts, unless the game never uses these particular official animations.

Even if we make make the UserEmotes Disabled in StarterPlayer?

Yep! The script just loads the Dolphin animation directly using :LoadAnimation(), so it works, even if the game has emotes disabled (UserEmotesEnabled = false) or even uses its own Animate script without support for them.

I wrote a command bar command that loads the dolphin animation, loads that into an AnimationTrack on the LocalPlayer’s Animator, then plays that, and it consistently works in my baseplate game, which uses a custom script and user emotes disabled:


Also, using another “experience”, I looked at the balloon animation. I don’t know why, but it refuses to play on an R15 character despite that having backwards compatibility with R6 animations normally.

When I used an R6 character, I could look at it, and it’s just the character holding onto an invisible balloon, tilting back and forward. Like the dolphin animation, I could see how speeding it up and looping part of it would look inappropriate.
BalloonAnim.gif

5 Likes

I thought that it was not regular animations, I though it was CFrame animations where the player (I think) kills themselves and controls where the joints go to make bad animations that because they are not normal animations the game owner does not have to be the person making them

(what you could do was make your own default positions for the character and if the player is not in any of them you can kick them for “Unexpected client behavior”)

1 Like

You’re right. I developed a method to prevent them from breaking their joints.

However, this isn’t the mainstream exploit people are using. They are using Roblox emotes, and animations made by Roblox.

just wondering does this stop the joints from breaking on death or even kick them after dying (just asking)

maybe a script that has all of the default roblox animations and it checks if there animation player (or any other animations in the player who could run it) has one of those ids then the animation auto deletes it stops all animations and kicks the player

(or you could check every player and if they have the moderator badge (the roblox one) it just kicks them)

NOOOO YoU CaNt JUsT bAn ThE MoDS

How would this coexsist with a custom respawn button with CharacterAutoLoads set off?

No. However, my script posted above does:

As mentioned before, this won’t stop the animation exploit, but it will stop custom animations from being played.

doesn’t this kick players in ragdoll games as those scripts work like this

local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character)
		Character.Humanoid.BreakJointsOnDeath = false
		Character.Humanoid.Died:Connect(function()
			Character.Head.CanCollide = true
			for _, v in pairs(Character:GetDescendants()) do
				if v:IsA("Motor6D") then
					local Attachment0, Attachment1 = Instance.new("Attachment"), Instance.new("Attachment")
					Attachment0.CFrame = v.C0
					Attachment1.CFrame = v.C1
					Attachment0.Parent = v.Part0
					Attachment1.Parent = v.Part1
					
					local BallSocketConstraint = Instance.new("BallSocketConstraint")
					BallSocketConstraint.Attachment0 = Attachment0
					BallSocketConstraint.Attachment1 = Attachment1
					BallSocketConstraint.Parent = v.Parent
					v:Destroy()
				end
			end
			Character.HumanoidRootPart.CanCollide = false
		end)
	end)
end)

Update: Roblox has made an fflag called “RejectCharacterDeletionsDefaultIsEnabled”, which will disable weld detachments from the client, which will finally patch the exploits for good. Bad news is that if Roblox enables this, there are still games that use welds from the client so that’s not the best idea…

6 Likes

You can now add this to workspace.
image

This will patch reanimate when enabling Character Deletions :smiley: which means exploiters cannot do weird animations in your game, cannot fling others ingame and cannot remove hat meshes!

3 Likes

But the bedwars moderators are getting banned from this method (which if even more proof that roblox moderation is horrible as they are at a team with roblox)

The method showed above has to activated (opt in), most likely people just haven’t done it yet.

Update again: I have seen exploiters bypassing this system. I hope Roblox does something about it.

2 Likes

Roblox admins: “We finally found a way to fix almost every exploit”
Hackers: “We finally found a way to bypass this fix”
Roblox admin: “I WANNA GO HOME”

1 Like

roblox NEEDS to release byfron