BoboFighter - Performant Server Sided Anti Exploit

Tool dropping is just equivalent to tool deletion in BoboFighter, the name needs to be changed though.

Where do I put the script? Leave in workspace?

Put the module in ServerScriptService and then find a LocalScript called “Client” that comes with it. Put this Client LocalScript in StarterCharacterScripts.

2 Likes

It’ll be really awesome if you could make an API of some sort! For example, we could call

BoboFighter:Teleport(player,location)

to teleport a player to a location without it flagging the player as teleporting, and

BoboFighter:BlacklistDescendants(workspace.Gateways)

so we can have specific parts clients are allowed to go through.

1 Like

to teleport a player to a location without it flagging the player as teleporting, and

The anti exploit already accounts for teleporting, just make sure you teleport the player server side.

BoboFighter:BlacklistDescendants(workspace.Gateways)
so we can have specific parts clients are allowed to go through.

Clients will of course be allowed to walk through objects that are can collide false on the server. If not, I’ll add API to support this.

2 Likes

Can you make it so we can set custom kick messages / punishments?

(ex: show a UI, alert the server, fire an event, etc.)

1 Like

It also seems to have this effect with nothing else.

3 Likes

The only issue I can see with this is that with the source code being public many exploiters could use this to find work arounds for your detection methods, and I know from my own experience patching exploits on my game that they do in fact do this.

afaik Kohls admin does something similar. I’m not entirely sure how the process works but if I were to guess they use a highly obfuscated line of code that sends a webhook to a private github repository.

Edit: think it may also be possible by requiring a private module

2 Likes

Exploiters can’t really find work arounds because this exploit is completely server sided. Private modules are bad practice and deprecated anyways.

As BoboFighter is discontinued, I’ve made a pool on whether you guys think BoboFighter should be worked on again.

Should BoboFighter be worked on again?
  • Yes
  • No

0 voters

3 Likes

Hey folks, I’ve got some great news. BoboFighter is being worked on again as based on the votes, and a new update is here which includes a list of all bug fixes and changes.

Bobo Fighter Update v2.0 - Beta

Note

Since BoboFighter has been heavily changed, please change the parent of the scripts and the module as follows:

Grab the Roblox model and insert it to your game. Then simply, place the server script BoboFighterStart in ServerScriptService and the BoboFighter module in ServerStorage, Lastly, place the client script BoboFighterClient in StarterCharacterScripts, that’s all.

New

You can toggle if BoboFighter should warn / print any necessary stuff, via Settings.Logging.

Bug fixes

  • Fixed a bug where max vertical / speed were a little too high and not updated properly.

  • Fixed a bug where BoboFighter wouldn’t update exploit data properly.

  • Fixed a few if statements that had the possibility to not evaluate due to floating point errors.

  • Fixed a bug where BoboFighter wouldn’t detect game owners properly and would sometimes break.

  • Fixed possible memory leaks in certain parts of code, and fixed a few edge cases.

  • Fixed a bug where connections weren’t properly disconnected when BoboFighter was stopped.

  • Fixed a bug where BoboFighter would leak the thread if there was no primary part and would

  • Fixed other rare bug fixes and possible memory leaks.

  • Other bug and edge case fixes.

Changes

  • BoboFighter now supports deferred events, and includes performance improvements.

  • Removed unnecessary comments and heavy code refactor.

  • BoboFighter will now not detect players if they don’t have a humanoid or a primary part in 60 seconds. This is to prevent leaky threads which would never get gced.

  • BoboFighter.Stop has been removed. BoboFighter.Start now returns a object which includes a method Stop to stop BoboFighter.

local object = BoboFighter.Start() -- start up bobo fighter
object.Stop() -- stop bobo fighter

The object also contains a method, IsStopped which will return a boolean indicating if BoboFigher is stopped or not.

  • BoboFighter.BlackListPartsForNoClip now returns a object, which has a method RemoveBlackListedParts which will remove all the black listed parts, basically reverting the change.
local object = BoboFighter.BlackListPartsForNoClip(workspace.PartsFolder:GetDescendants()) 
object.RemoveBlackListedParts() -- revert the change
  • BoboFighter.BlackListPartsForNoClip's 2nd argument has been removed, and the method will also account for models. Will also account if a new descendant is added to an model.

  • BoboFighter.Stop will now properly disconnect all connections in use and properly stop BoboFighter.

  • Replaced the signal module with a fully fledged signal module.

  • Removed the constants module.

Update your module here:

7 Likes

Flight detection cannot be added due to certain Roblox physics limitations as of writing. However BoboFighter will be updated - providing newer and reliable checks as well as fixes for current ones and a possible API in the future.

It doesn’t rubber band movement, you don’t have to change the leeways to 20. The anti exploit by default, will not immediately capture you if your speed is only slightly high, but only if significantly high which depends on the leeways as well. There have been 0 problems for me and tons of other people who are using this anti exploit as well. If you still have problems, its better not to use this anti exploit because all these problems occur concidencially on your end. If you change your speed server side, then the anti exploit will calculate your max speed as currentSpeed + currentSpeed / 2 + speedLeeway, it safely handles physics edge cases and is very reliable than other anti exploits.

We discussed the tool equip issue in DMS and it was a problem on your end, not the anti exploit it self. There is NO code that should produce that bug anyways and this anti exploit is extremely battle tested. Also, please re-read the instructions on how to set up the anti exploit:

Grab the Roblox model and insert it to your game. Then simply, place the server script BoboFighterStart in ServerScriptService and the BoboFighter module in ServerStorage, Lastly, place the client script BoboFighterClient in StarterCharacterScripts, that’s all.

Bobo Fighter Update v2.1 - Beta

New

  • BoboFighter now uses maids to handle connections which makes it very easy to handle events and keep memory tidy.

  • Added a new member ShouldCheckCreators . If set to true , game / group owners of the game will be checked by the anti exploit.

Improvements

  • More performance improvements

  • Improved no clip detection significantly.

Bug fixes

  • Fixed a bug where physics data wouldn’t properly update, sometimes causing false positives.

Update your module here:

3 Likes

Flight detection is most definitely possible, unsure what limitations you’re having issues with. I can accurately detect flight within 3 seconds, and after ~8 months worth of testing with 50 testers, none had any false positives either.

1 Like

Nope, flight detection requires you to handle edge cases which you aren’t. Hence why Hexolus and BoboFighter don’t support them yet. Sure, flight detection is easy but handling the edge cases right now isn’t possible due to certain limitations of Roblox physics / body movers.

BoboFighter is meant to be reliable, I don’t want to bring in a detection that isn’t very reliable.

Can you state the aforementioned edge-cases you’re talking about? never had experiences with such things.

1 Like
  • What if their force is low but have a high speed via a body velocity?

  • What if they 2 body movers that do different things, but they exploit one of them?

  • What if they have a body velocity server sided and on client sided as well? They can break this check.

A lot more which I don’t remember on top of my head. These 3 points need to be considered, they will break games if not taken into consideration.

1 Like

My flight anticheat does not check for travel speed - at most, it only checks how many times more they move vertically than horizontally, but even that is only one of the checks. Implementing a good anticheat is most definitely possible through innovation - it’s almost impossible to account for all cases, so one way or another, you’ll still have to allow the server to have more control over your anticheat (leniency, max speed allowance, whether they can be mid-air, …).

1 Like

I found a bug, it detects you having noclip when going though non CanCollide parts, which my map has tons so I have to turn off anti-noclip

1 Like