Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings

BetterAnticheat

An auxiliary anticheat designed with stability as its focus.

394
5
Management
Technology
Utility

Compatibility

Minecraft: Java Edition

1.21.x
1.13.x

Platforms

Bukkit
Folia
Forge
NeoForge
Paper
Purpur
Spigot
Sponge
Velocity

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Visit wiki Join Discord server

Creators

amnoah
amnoah Owner
bruhmoment69
bruhmoment69 Member

Details

Licensed AGPL-3.0-or-later
Published last month
Updated 7 hours ago
DescriptionChangelogVersions

BetterAnticheat

BEFORE INSTALLING, PLEASE READ:

At this point, BetterAnticheat is in an early developmental state. It is not confirmed to be stable and should be used with caution.

BetterAnticheat is an auxiliary anticheat. BetterAnticheat does not aim to and will not catch cheats like flight, speed, reach, etc. BetterAnticheat exists to catch more niche cheats that many anticheats do not catch on their own, meaning it should be run alongside another anticheat.

It is also designed to be lightweight, platform-independent, compatible with other anticheat systems, and most checks are designed with a 0-buffer system - meaning if a check flags it means that a player is 100% cheating. Here is how BetterAnticheat accomplishes this:

  • Lag compensation. BA knows how the client perceives the world at any given time and can account for it.
  • Cookies. BA uses the cookie packet for compensation as to not interfere with Ping/Pong usage.
  • Runtime command registration. BA commands can have their paths altered live and can be enabled/disabled.
  • Industry-grade design. BA is designed by anticheat developers with significant experience and history.
  • Machine learning. BA uses machine learning to establish a trust level for users in combat.

This project and its collaborators use the following regularly and are thankful for their maintenance:

  • PacketEvents
  • sharkbyte-configuration

A public test server exists at 192.18.159.249 for clients 1.21.4 and above, but it is not always online due to being used for development too.

NOTE: Please stop claiming this is a local ip address! It is not. You are thinking of IPs in the 192.168.0.0 - 192.168.255.255 range.

Requirements

This plugin is designed for 1.21.4+ on Spigot, Paper/Folia, Sponge, and Velocity.

It requires PacketEvents

On the Spigot and Paper/Folia platforms, it supports BetterReload. This is an optional dependency.

Checks

BetterAnticheat has the following checks in the following categories:

Chat

These checks look for issues with chatting. These may catch macros and chat automation tools.

  • HiddenChat | Sending chat messages with the chat box hidden (often macros).
  • ImpossibleCompletion | Tab completing invalid messages.
  • ImpossibleMessage | Sending empty or invalidly formatted messages.

Combat

These checks look for issues with combat. These may catch a variety of combat cheats.

  • ActionInteractOrder | Sending an EntityAction packet prior to an InteractEntity in a tick.
  • DualClick | Sending simultaneous left and right clicks.
  • InvalidInteractionPosition | Invalid client-calculated hitbox interactions.
  • InvalidReleaseValues | Releasing a used item with values filled out.
  • InvalidUseActions | Attacking or placing while using an item.
  • MultipleAction | Changing sneak or sprint status multiple times in a tick.
  • MultipleHit | Hitting multiple entities in a tick.
  • NoSwingCombat | Attacking an entity without sending an arm swing packet.
  • SelfHit | Attacking yourself.
  • SlotInteractOrder | Sending a SlotChange prior to InteractEntity packet in a tick.

Dig

These checks look for issues with digging. These may catch nuker, fast break, and other cheats.

  • DigBlockFacePosition | Digging block faces which cannot be seen.
  • DigOrder | Sending wrongful dig stages.
  • MultiBreak | Digging multiple blocks at once.
  • RepeatedDig | Sending multiple dig packets within a tick.

Flying

These checks look for issues with flying packets. These may catch position/rotation alterations and related cheats.

  • ArtificialFlying | Faking flying packets.
  • ArtificialPosition | Sending impossibly small position changes.
  • FlyingSequence | Not sending flying packets within 20 ticks.
  • ImpossiblePosition | Sending position values that are impossible.
  • ImpossibleRotation | Sending rotation values that are impossible.
  • RepeatedRotation | Sending repeated rotation values.
  • RepeatedSteer | Sending steer packets with no corresponding rotation change.

Heuristic

These checks use statistics and observed behavior to identify cheats. Unlike other checks, these are not built on defined behavior and theoretically could be false flagged by perfect player behavior. As such, I'd recommend that these should be used as an indicator to watch players and, at most, kick them rather than issuing more permanent punishments.

  • CombatAcceleration | Constant acceleration during combat.

Misc

These checks are a variety that don't fit into other categories.

  • ImpossibleHorseJump | Sending mathematically wrong horse jumps.
  • ImpossibleSlot | Accessing slots which are not real.
  • LargeName | Renaming an item an excessively long name.
  • MultipleSlot | Changing slots multiple times in a tick.
  • SmallRender | Having a render distance less than 2.

Packet

These checks look for general packet issues. These may catch packet order alterations.

  • Balance | Checks for accelerated game speeds (WIP).
  • Post | Sending packets in the wrong order.

Place

These checks look for issues with block placement. These may catch scaffold, fast place, ghost hand, and other cheats.

  • CursorPosition | Invalid client-calculated block raycasts.
  • PlaceBlockFacePosition | Placing on block faces which cannot be seen.

Documentation

For the documentation home, please visit here.

For information on how to hide BetterAnticheat, please visit here.

For information on how to use BetterAnticheat, please visit here.

Support

For general support, please join my Discord server.

For issues with the project, please open an issue in the issues tab.

Modrinth is open source.

main@396f737

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.