Octagon - Modular server sided anti exploit

Note

Octagon is currently going through a massive rewrite, and, information has been temporarily wiped because of that. The new rewrite will offer much better stability, performance and overall a way less cluttered API. Along side that, the name “Octagon” will be changed to “BoboWarrior” once the rewrite is finished. The new rewrite may take a few days or weeks.

89 Likes
  1. How does it check against people falling at a high velocity from a high distance, and if they are actually falling and not using fly exploits?

  2. Do you check RotSpeed with the exception of shift lock? because if you don’t, that will render it useless.

  3. Are you planning upon updating this anti-exploit?

7 Likes

All of your questions can be easily answered through testing your self.

  1. How does it check against people falling at a high velocity from a high distance, and if they are actually falling and not using fly exploits?

It checks that reliably and players will not get flagged for falling high distances at high speed.

Do you check RotSpeed with the exception of shift lock? because if you don’t, that will render it useless.

This anti exploit doesn’t detect any rotational speed of a player for now as it isn’t reliable to do so. However, players flinged will have their velocity reset back to 0,0,0.

  1. Are you planning upon updating this anti-exploit?

Yes.

7 Likes

Thanks for responding!

I currently don’t have access to my computer, so yeah.

3 Likes

Finally I was waiting for this thank you! looking forward to see new features from octagon.

Seems like a cool release, very nice. :+1:

Not sure if you’re aware of this, but I was playing around with it and found out that repeatedly sitting and jumping out of a seat causes a false VerticalSpeed positive.

Thanks for the report, please note that any issues should go within the repository’s issues to best avoid any unnecessary clutter in this topic.

The issue you mentioned can be easily fixed by temporarily black listing the player when they are / out of the seat through the PlayerProfile:TemporarilyBlackListPlayerFromBeingMonitored.

I’ll soon release a fix for this.

1 Like

Bobo fin!

Hello, fiend! :smiley:

Very nice module, would recommend 10 toilet paper tubes out of 10 carpet squares.

1 Like

Really cool release.

I want to just point how cool this is and how useful this is to the community. Exploits are something that plagues ever single developer and can ruin a project. Interestingly enough, there are very few thorough and solid anti-exploits on the DevForum - one of the greatest resources that any developer can have since it helps both newer developers (who might not have the experience to code this) and experienced developers (who, now, do not have to reinvent the wheel for each of their projects) alike.

Thanks for adding the ability to modify the detections and add your own. That was one of the biggest limitations of BoboFighter, and I’m glad to see that this is not the case any more.

Looking forward to seeing this update, grow, and get even better over time!

3 Likes

Hey there,

I’ve just installed Octagon following your documentation. However, it does not seem to work/respond to any of my tests using HD Admin (increased speed, jump power, fling) and shows nothing in the dev console. Could you help me out?

You didn’t start up Octagon but rather just placed it. You need to call Octagon.Start on the server in order to get Octagon to start monitoring players.

Take help with the codes in basic usage.

2 Likes

Got it working, appreciate the help!

Wow. Almost my name :smiley:

Anyway, that is a cool anti exploit! Thanks!

Hoi, greetings I found a little “issue” while using it and testing it, the Noclip detection trigger due to Collisions groups.

I fixed it myself but I think it would be best if it was set from the start.
just a suggestion overall to add Collisiongroups check to avoid false flag for noclip, overall nice work!

Line 71 - NoClip Module

if 
			not instance.CanCollide
			or not PhysicsService:CollisionGroupsAreCollidable(PhysicsService:GetCollisionGroupName(instance.CollisionGroupId), PhysicsService:GetCollisionGroupName(primaryPart.CollisionGroupId))
			or CollectionService:HasTag(instance, SharedConstants.Tags.NoClipBlackListed)
		then
			return false
		end
3 Likes

Could you explain that better, as I’m concerned after reading that it has client-sided code.

It primarily detects and prevents player flinging, I believe.

1 Like

Good anti cheats should NEVER trust the client (aka having clientsided scripts), as they can be exploited easily when they do.

Does this detect client exploits?

It’s not really an anticheat check, it just prevents the players from flinging when hit by a fast moving object or when they land very hard on the ground which can cause them to fling and cause a false positive

as for trusting the client, if they remove this script then its their fault since they’ll be flagged by the anticheat every time they get flung

1 Like