SoaromaSAC | Lightweight Cheat Detection System 1.0.57

Free simple, lightweight anti-cheat for 1.17 - 1.19

  1. Korbsti
    Native Minecraft Version:
    Tested Minecraft Versions:
    • 1.17
    • 1.18
    • 1.19
    Sality2, Entity303, Elementeral, PrdMasterXx69Xx42069, Vekster, Awwix, Gameratbest9


    SoaromaSAC is a simple anti-cheat plugin to detect and remove cheaters from your server. SAC has an extensive amount of configurable options that allow you to customize the anti-cheat that suits your server's needs. This plugin is meant to be used in passive servers such as skyblock, survival and so on. This is not a PVP anti-cheat, since this anti-cheat is more focused on movement detection and on being performance efficient and friendly. With a total of ~67 checks, ~53 for movement, ~2 for combat, ~6 for world and ~4 for other. This anti-cheat not only focused on cheat detection but also includes moderation capabilities.


    Cheats Detected


    • Flight A, B, C, D, E
    • Bunny Hop A, B
    • Glide A B
    • Fast Climb A
    • Fluid Walk A, B, C, D, E (Jesus)
    • NoFall A
    • Speed A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q
    • NoSlowDown A, B, C, D
    • Spider A, B
    • Step A
    • Elytra Flight A B (Using an elytra for an extended period of time without using a firework)
    • Irregular Startup A B
    • Median Speed A
    • BadPackets A
    • Reach A
    • Criticals A

    • Irregular Placement A (Place blocks mid-air)
    • Reach Break A
    • Reach Place A
    • Nuker A

    • IrregularEventCount A B (Timer, detects >= 1.1x)
    • Regen x1 A
    • Auto Clicker A B
    Experimental Checks - disabled upon default configuration
    • Step B
    • IrrMovement A B
    • Baritone A, B, C (May take a while to flag, depending on configuration)
    • GhostHand A
    • Xray A (Optional pre-done configuration in the discord server)
    Experimental Checks - enabled upon default configuration
    • Semi Prediction A B
    Note that checks may very well detect other cheats as well due to similar movements, there are more checks than listed above but some are not displayed due to being disabled in configuration or the check is enabled but too insensitive to be displayed on the list.



    • sac.bypass {Bypass every check}
    • sac.notify {Violation messages}
    • sac.notifykick {Notify admins when a kick occurs}
    • sac.reload {Reload configuration}
    • sac.alertCommandGet {For the command sacnotify}
    • sac.gui.admin
    • sac.kick
    • sac.ban
    • sac.gui
    • sac.warn
    • sac.mute
    • sac.unban
    • sac.freeze
    • sac.user {For sacuser}
    • sac.hashclear
    • sac.reportRecieve {When a user types a report, players with this permission get the report}
    • sac.reportList
    • sac.display.custompayload {For /sacppicp}
    • sac.punish.bypass [to bypass staff commands, such as sacfreeze, sacgui, etc]
    • sac.replay
    • sac.startup.choose for /sacconfigchoose
    • sac.history for /sachistory
    • sac.sacvio for /sacvio

    • sacreload
    • sacuser <player> {Displays certain information about the player}
    • sacnotify <disable/enable> {Violation messages}
    • sacgui <player> {Punishment GUI}
    • sacmute <player>
    • sackick <player>
    • sacwarn <player> <reason>
    • sacunban <player>
    • sacping <player>
    • sacadmin
    • sacfreeze <player>
    • sachashclear
    • sacreport <reason> {All reports are logged inside of a file}
    • sacreports <number> {View X amount of recent reports}
    • sacppicp <player>
    • sacreplay <player-uuid> <>
    • sacconfigchoose [ID]
    • sacvio {view max recent violations in a gui}
    • sachistory <playername> <number> {View X amount of logs}

    • Receive a violation every X amount of violations (Auto Disabled)
    • Freeze System
    • Punishment GUI
    • Automatic kicking and banning (Banning Auto Disabled)
    • Report System
    • Hex colour codes
    • Ping command for a target player
    • Enable or disable violation messages with a command
    • Automatic clearing violations (Auto Disabled)
    • All messages are customizable
    • Kick Logging
    • Violation Logging
    • Report Logging
    • Cancel actions (Auto Enabled, called 'cancelEventIfHacking' in configuration)
    • The severity of check flagged within the violation message (low, medium and high)
    • Each check is configurable and can be easily changed or disabled if needed
    • Discord webhook integration
    • TPS Checker (Enable AC above a certain TPS or lower than certain TPS)
    • PlaceholderAPI [%current-violations% %total-violations% %warns%]
    • GUI Configuration
    • Async checks
    • No dependencies

    Extra Information

    Here is a timings report - 60 players were online [1.16.5, version 1.0.01]
    All checks listed in detected were enabled + configuration options checking for item attributes
    It used 0.17% of tick, around 0.002% ~ 0.003% per player, so in short, incredibly lightweight

    Code (Java):
    import me.korbsti.soaromaac.api;

    //Register the events as you would for a normal event
    //enableAPI in config has to be set to true to use the API
    //p.setDisabler(x) is for disabling the AC for a player x amount of ticks

    public void onFlag(SoaromaFlagEvent event){
         Player p = event.getFlaggedPlayer();

    // This event is only fires when a player gets froze/kicked/muted/banned by an admin
    public void onPunish(SoaromaAdminPunish event){
         String punishType = event.returnType();

    // Wait a second  how do I use the p.setDisabler outside of the soaroma flag event?
    // Well heres how
    // Add SoaromaSAC to your BUILD PATH
    // No there is no maven, so you have to add it to your build path
    // Oh and don't forget to add 'SoaromaSAC' to your softdepend or depend

    import me.korbsti.soaromaac.Main;
    import me.korbsti.soaromaac.api.SoaromaAPI;

    public class YourClass extends JavaPlugin {

    public SoaromaAPI api;

    public void onEnable(){
               if(Bukkit.getPluginManager().getPlugin("SoaromaSAC").isEnabled()) {
                   soaromaAPI = new SoaromaAPI((Main) (Bukkit.getPluginManager().getPlugin("SoaromaSAC")));

    public void onDisable(){


    public void soemRandomEventThing(SomeRandomEvent e){
            api.setDisabler(e.getPlayer(), 100);
        // now for 100 ticks the player wont be checked for cheats at all


    Turn 'cancelEventIfHacking' in config to false
    Either make the check to be more insensitive in config or report to me in the discord server
    Make sure you are using a 1.17 or 1.18 server and put the jar file inside the /plugins folder, restart the server and now the anti-cheat is enabled, there are no dependencies
    Yep, but make sure to keep forward-player-ping set to true in geysers configuration
    Make sure the server is 1.17 and the AC is enabled, default kick occurs at 50 violations. Also make sure you don't have the permission sac.bypass and you're in survival
    Turn 'spacedViolationMessages' to true in configuration
    Make sure it isn't a false, if it is not a false, report to the discord server
    Turn checkServerTPS and invertTPS to true
    Turn checkServerTPS to true
    Set the OPS permission of sac.bypass to false, it is recommended you use LuckPerms
    Go into config and enable it
    I have no idea, thats up to you
    In short: no
    Increase these numbers in config by 1 or 2
    inAirJumpUntilHackingA: 4.0
    inAirUpwardUntilHackingB: 11.0
    As not many people know how to configure the checks and first impressions are important so, I disabled the checks that were more or less iffy
    If you found a bypass, report it to the discord server and cause me many hours of pain to patch the bypass
    You need to have the permission sac.notify, with a permissions plugin to handle permissions
    flight (E), noSlowDown (C) and nuker (A) will never false due to the circumstances these are made to detect
    Read startup messages
    You are met with startup messages from the plugin, follow them
    Code (YAML):

    You will be prompted with a message in-game when using this anti-cheat, it will instruct you on how to get it

    Pre-configured configs are in the plugin itself using the command /saconfigchoose, as you will be prompted with a message in-game. You can adjust any config to your own liking, this AC is heavily based on per-server-customization

    Discord server: <-- Support, False flags can be reported here

    Few checks are open-sourced, you can find them here: checks

    You may upload this resource on other websites without my permission if you desire, you do not need to credit me



    This plugin may not be compatible with other plugins that alter player movement or actions too much, by default this anti-cheat is suited towards vanilla player movement only. For example, if you want this to be compatible with mcMMO, variable changes would have to occur - for more information about that there is a FAQ channel in discord. Players are given grace for a certain amount of time upon teleporting and logging in for a few seconds to prevent false flags from occurring. I won't say this anti-cheat is perfect because it is not, bypasses, false flags and bugs may occur. If any of those occur, it would be appreciated if you told me so I can patch/fix them, but the majority of this AC is on the more stable side now.

    Note if you use any plugins that break trees entirely ex. Timber or mcMMO, the variable reachBlockBreakNum in configuration has to be increased to 200.0 to stop falses occurring.

    The "Recommended" & "Movement" config will NOT work on a local server, do not use the "Recommended" & "Movement" config to test the AC on a local server it is only meant for servers that are NOT locally hosted, use any other config if it is a local hosted server


Recent Updates

  1. Changelog
  2. Changelog
  3. Changelog

Recent Reviews

  1. Creator711
    Version: 1.0.56
    Great anti cheat plugin!
    The plugin offers many preconfigured recommended configurations so you don't even have to do it yourself! There's definitely an option that will suit your needs!
    If you need help then check out their support, awesome people :D

    Give this plugin a try!

    PS: You can still configure everything yourself, the preconfigured onfigurations are optional :)
  2. Alcrafter
    Version: 1.0.56
    To be honest, this is unexpectedly a real treasure on this platform.

    I mean, we all know what a bad reputation most free anticheats have. They are falsing, laggy and easy to bypass. As a solution to those problems, most people switch to a paid anticheat.

    Well, not with this one! This is the actual best free anticheat plugin I have found. It's extremely resource friendly and easy to configure. There are almost no false positives, and especially the movement checks spread out extremely broad to prevent easy bypasses.

    The developer of this solution actually puts a lot of work in to make it compatible with geyser, unlike others who just exempt bedrock players from being checked to prevent false positives.

    Thank you for making this free and keep up the great work!
  3. __Vekster007__
    Version: 1.0.55
    One star because of the fake support for you? Are you kidding me?
    1. This is a cool anticheat with helpful support staff
    2. It's free. Nobody has to help you with your problems. SAC is obfuscated so you may ask for a tiny bit help, but nothing more.
    I feel sorry for the people who ruin mc community
  4. CIMEX5674
    Version: 1.0.55
    very bad owner, I sent him a dm to ask for support and he said "ill block you if you dont answer what you want within 10 seconds" so i said "what" and he replied with "k" and blocked me and banned me from support server. Would not recommend using this plugin is likely malware
    1. Korbsti
      Author's Response
      You are a troll that was banned for ban evading, I said I was going to ban you because you were incredibly rude to my admin as well as post nsfw pictures inside the server, and then you used an alt to come an annoy me and troll again. So clearly I am going to be a bit rude to someone whos only purpose is to troll. I gave you numerous warnings and to stop but you did not, then you decided to harrass other users for no reason. I was very patient with you but there is a line and you crossed it.
  5. MaxmillionYT123
    Version: 1.0.50
    It was an great anticheat but then they needed to update to 1.17 now the anticheat is bad the packets are bad much falses occur many checks dont work anymore less servers will be able to use it much much less features are good more bad things are in the anticheat then good things would not recommend anymore
    1. Korbsti
      Author's Response
      It would be appreciated if you went to my discord and reported the falses? I can't do much if no one tells me whats wrong, if theres something that needs to be fixed it will be fixed.

      Edit: Well it seems like this user does not want to help in any way, so potentially a troll review?
  6. izibane
    Version: 1.0.50
    I have to remove 2 stars, but then I have to add 2 stars because of the fact that plugin is obfuscated. It just pointless and makes modification more annoying.
  7. SNAKE
    Version: 1.0.47
    SoaromaSAC seems to be a very high quality and stable anti-cheat. I run a survival server and this anti-cheat rarely gives players any discomfort.
    I originally used AAC and switched to this anti-cheat, but at least it is not an inconvenient plugin that makes it difficult for me as an administrator to use.
    Thanks for the great anti-cheat. I want to give this author even more stars than I can give :)
  8. gamergimbap
    Version: 1.0.47
    i need help how to unfreeze plz reply im sad............................................
    1. Korbsti
      Author's Response
      Well if you froze yourself and you're opped, you have two options
      First: Deop self and unfreeze from console
      Second: Reload or restart server

  9. Gabbysimon
    Version: 1.0.47
    This is a pretty good anticheat, and definitely detects hacks well. The reason for this 3 star rating is because of the fact that, 1. You can't disable checks in certain worlds (The option does not work) and 2. It flags speed when using attributes like generic.movementSpeed on items. The anticheat also flags kill-aura and reach when using things like MMOItem abilities, meaning that this plugin isn't the best for servers like mine that use abilities and such.
  10. Nextler
    Version: 1.0.46
    Good plugin !