Hawk Anticheat (MC 1.7.10 & 1.8.8) BETA 1911

A free anticheat for legacy versions of Spigot.

  1. Islandscout
    Native Minecraft Version:
    Legacy (< 1.13)
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    Source Code:
    https://github.com/HawkAnticheat/Hawk
    Contributors:
    https://github.com/HawkAnticheat/Hawk/graphs/contributors
    banner.jpg

    Hawk does not and will not support MC versions 1.9+


    Demonstration video:

    This video is outdated. In the future, a new promotional video showcasing the rewritten version of Hawk will replace this video.

    Sponsored by Apex Hosting
    [​IMG]


    Questions, support, bug reporting, and discussion:
    If you have any questions or if you stumble across something that doesn't seem right, please let me know! :D I encourage you to PM me, talk in the discussion thread, or join the Discord server by clicking the logo below.
    discord_logo.png

    What is Hawk Anti-Cheat?
    Hawk is an anti-cheat plugin for Spigot servers. It attempts to verify and enforce that players' actions follow vanilla Minecraft logic. On top of that, it also attempts to detect some forms of input fabrication.

    Why choose Hawk Anti-Cheat?
    There are not many anti-cheat systems supporting older, yet still popular Minecraft versions (i.e. little support for MC 1.7.10). Hawk is focused on supporting these versions, which is why it is aimed to be a thorough solution to prevent cheating in Minecraft. If a bypass is found, it will become the highest priority to solve for the development of Hawk.

    Hawk currently contains 29 modules which check players for suspicious combat, interaction, movement, and malicious exploitation within the protocol. Hawk's checks will only observe the players' actions and collect statistics based on the observations. No checks test for cheats by interrupting the game experience, such as spawning NPCs or applying knock-back.

    Network-level checks:
    By default, Hawk’s checks perform on the networking thread. This allows for precise checking without adding significant load on the main thread. In other words, when you get high traffic, Hawk won’t drop your TPS.

    Asynchronous checking ability:
    For users who strive for performance, Hawk is able to function on a dedicated thread, independent from the networking thread. Although this option disables the ability to prevent cheating in real time, this can be beneficial to servers with very high traffic.

    Dependency free:
    Hawk fully runs without any dependencies, since it takes advantage of Netty and NMS code. Say goodbye to ProtocolLib.

    Free & open-sourced:
    Yes! Many anticheats running at the packet level charge over 100 USD. Hawk is free, open-source, and licensed under GPLv3. If you don’t like a check or feature, feel free to modify it or contribute to the project.

    Simple, but powerful framework:
    Hawk’s framework allows developers to easily implement new checks and make use of powerful utilities.

    Movement checking:
    Hawk features strict movement checks to ensure players are moving correctly. It stops the exploitation of common anti-cheat bypasses such as B-Hop, Y-Port, skip phase, etc...

    Combat checking:
    Hawk's combat cheat detection is spectacular. In addition to blocking most combat cheats, Hawk can detect basic forms of triggerbot and aimbot within a minute, without the use of NPCs or machine learning. Using the latest methods of cheat detection, a handful of clients can be detected for killaura within a few seconds.

    Mouse Recording Functionality:
    Hawk features a mouse recording function which records and graphs player mouse movement. This is a new addition to Hawk which helps users manually identify combat cheaters on their server.

    Detailed configuration:
    From enabling or disabling to editing specific values of a check, Hawk's configuration provides the user with great freedom to modify checking behavior, messages, and the execution of punishments.

    BungeeCord support:
    Flags from Hawk checks can be forwarded to staff members on other Spigot servers in a BungeeCord network using HawkAlertsBungee.

    SQL support:
    Hawk allows logging to a SQL database server. This can be very useful for multi-server networks that wish to track violations more efficiently.​

    Detected or Blocked Hacks:
    Movement:
    • Speed
    • Tickrate
    • Fly
    • Glide
    • NoSlowDown
    • Jesus
    • Packet sneak
    • Phase
    • Spider
    • Blink
    • V-Clip
    • Scaffold
    • Anti-velocity
    • NoFall
    • Strafe
    • Omnidirectional sprint

    Interaction:
    • Nuker
    • GhostHand
    • Any other cheat interacting through walls or out of sight
    • Usage Speed

    Combat:
    • Reach
    • Angle
    • High CPS
    • Forcefield
    • Fast Bow
    • Killaura
    • Criticals
    • Aimbot (to some extent)

    Commands & Permissions:
    Commands:
    • /hawk - Display menu & GUI
    • /hawk kick <player> <reason> - Kick player (recommended for auto-kick)
    • /hawk talerts - Toggle alerts
    • /hawk mouserec <player> [duration in seconds] - Record a player's mouse movements
    • /hawk reload - Reload configuration and modules
    • /hawk unmute - Unmute a Hawk muted player
    • /hawk unban - Unban a Hawk banned player
    Permissions:
    • hawk.admin - bypass kicks and bans
    • hawk.cmd - /hawk
    • hawk.cmd.* - access to all administrative commands
    • hawk.cmd.<command name>- access to a specific administrative command
    • hawk.alerts - Receive alerts
    • hawk.bypass.<check> - Bypass specific checks
    • hawk.bypass.* - Bypass all checks
    • hawk.gui - Access the graphical user interface

    For Developers:
    There is currently no "API" for Hawk, although it is possible to play around with the anticheat. Unfortunately, this means that developers will be interacting with implemented code that may change through versions without notice (think NMS code). You have been warned!

    Hawk has some useful features that developers can use. Start off by getting a reference to the Hawk plugin instance:
    Code (Text):
    Hawk hawkPlugin = (Hawk)Bukkit.getPluginManager().getPlugin("Hawk");
    From there you will find many useful methods and modules that you can tinker with. Just look at the getter methods located near the bottom of the class. The source code to the class is located here:
    https://github.com/HawkAnticheat/Hawk/blob/master/src/me/islandscout/hawk/Hawk.java

    It may also be useful to make use of Hawk's Bukkit events:
    https://github.com/HawkAnticheat/Hawk/tree/master/src/me/islandscout/hawk/event/bukkit

    Installation:
    1. Once downloaded, move the jar to your "plugins" folder in your server's root directory.
    2. Start or reload the server to enable Hawk Anti-Cheat.
    3. Modify the configuration in "plugins/Hawk/config.yml" if necessary. Restart or reload to apply changes.

    Requirements:
    • Java 8 or higher
    • Craftbukkit/Spigot (or other derivatives) 1.7.10 or 1.8.8

    Incompatibilities:
    Hawk Anti-Cheat may not be compatible with the following:
    • Network modification
      • Inbound packet interception and modification before Hawk's position in the channel pipeline
      • Outbound packet interception and modification after Hawk's position in the channel pipeline
      • Sending packets to de-synchronize the client from the server (fake entities, fake blocks, etc. These will set off false flags if the player tries to interact with them)
    • Other anticheat plugins
    • Any Minecraft client other than versions 1.7.X and 1.8.X
      • Therefore it is strongly discouraged to use ProtocolSupport, ViaVersion, etc.
    • Client game logic modification
      • Modification of the client's movement or interaction with terrain or entities
    • Overloaded server (rounded TPS average below 20) or client (FPS/TPS lower than 20)
    • Poor server-client connection quality

    Frequently Asked Questions:
    Q: How do I edit the check configurations?
    A: Great question! The configurations for every check can be found in the "checks.yml" file in the Hawk folder. Every check has at least a few options. An example check is Inertia, which has the minimum options for a check:
    Code (Text):
    inertia:
      enabled: true
      cancelThreshold: 0
      flagThreshold: -1
      vlPassMultiplier: 0.995
      flagCooldown: 5000
      punishCommands: []
     
    • Boolean "enabled" enables/disables the check.
    • Integer "cancelThreshold" indicates the minimum violation level (VL) that the player must reach for the check to discard the player's actions. Set it to -1 to disable.
    • Integer "flagThreshold" indicates the minimum violation level (VL) that the player must reach for the check to send alerts to staff members.
    • Floating-point "vlPassMultiplier" indicates the value that is multiplied to the player's violation level (VL) every time they pass the check. This is used to reduce the player's VL when they pass the check. It should be between 0 and 1 so that the VL can decay exponentially.
    • Integer "flagCooldown" indicates the minimum time interval in milliseconds that the check must wait before sending an alert about the player. This reduces flood in chat. Higher values will reduce the rate of the flags.
    • String-list "punishCommands" may contain a list of commands to execute. The next question gives a brief tutorial on how to use this.
    Some checks may have additional options to configure.

    Q: How do I set up Hawk to execute commands on violations?
    A: The "checks.yml" file in the Hawk folder contains the configuration for every check. Every check has a string-list called "punishCommands." Each entry in the string-list is split up into three parts separated by colons.
    violation level : delay in seconds : command to run

    Here's an example configuration for the flight check
    Code (Text):
    fly:
      enabled: true
      cancelThreshold: 0
      flagThreshold: 0
      vlPassMultiplier: 0.995
      flagCooldown: 0
      punishCommands:
        - "10:0:msg %player% stop hacking"
        - "20:0:kick %player%"
    You can also use placeholders such as %player% %tps% %vl% and %check%

    Q: How do I set up ban/punish waves?
    A: Hawk provides a function called the Punishment Scheduler. The system can be accessed using the command "/hawk punish". You can configure it in the "config.yml". Here is an example configuration:
    Code (Text):
    punishmentScheduler:
      enabled: true
      command: ban %player% %reason%
      defaultReason: Illegal game modification
      schedule: 'SUNDAY * 32'
      ignoreIfServerOverloaded: true
      pingThreshold: -1
      requireAuthorization: false
      autoSave: true
    requireAuthorization is a setting that when enabled, forces administrators to run "/hawk punish authorize <player>" before Hawk can punish the player.
    schedule is the schedule that the system will run on. The first argument is the day of the week, the second argument is the hour of the day (0 through 23), and the third argument is the minute of the hour (0 through 59). You can enter * for any argument to specify that any value can work. In this example, the system will run every Sunday, every hour of that day, at 32 minutes of that hour.

    Reporting Issues & Posting Reviews
    Feel free to post a review. If you have a bug that you want to report, please PM me, post in the discussion thread, discuss on Discord, or open an issue on the GitHub. Please do not post errors in your review. Reviews containing errors are annoying and will likely be removed by a moderator.

Recent Updates

  1. Movement improvements
  2. Small Improvements
  3. Fix movement false positve

Recent Reviews

  1. Fizayy
    Fizayy
    4/5,
    Version: BETA 1909
    How to remove rollback because of a detection with permission because I use hawk.bypass. *
    and it does not work
    1. Islandscout
      Author's Response
      Your permissions system is broken, as hawk.bypass.* should work. If you need additional help, please PM me, post in the discussion thread, or join the Discord server.
  2. ramyseg4e
    ramyseg4e
    3/5,
    Version: BETA 1909
    Its Good But It do not AutoBan I tried to make it auto ban but it did not Can You help me give me example PLZ and Thanks :)
    1. Islandscout
      Author's Response
      Hawk can be set up to autoban, as described in "Frequently Asked Questions" section in the overview page. If you need additional help, please PM me, post in the discussion thread, or join the Discord server.
  3. MDJTheGamer
    MDJTheGamer
    5/5,
    Version: BETA 1909
    That plugin is soo good No FalseChecks I highly recommend using this plugin But that will be a good idea to add a default Config.yml with settings because many people dont know how to configurate this
  4. Ghost_LoneWalker
    Ghost_LoneWalker
    5/5,
    Version: BETA 1909
    The best anti-killaura plugin!
    But how can I get it to execute instructions?
    Such as ban player.
    And how can I close his report?
    1. Islandscout
      Author's Response
      You can configure Hawk to execute instructions. The checks.yml file contains the configurations for every check. Every check has a string list called "punishCommands". Each entry is split up into three parts separated by colons in this format,
      violation level : delay in seconds : command to run
      An example:
      punishCommands:
      - "10:0:msg %player% stop hacking"
      - "20:0:kick %player%"

      I will be writing directions on how to do this soon. Many people have been asking for this.
  5. Betob89
    Betob89
    5/5,
    Version: BETA 1909
    Hi this plugin support via version? .
    1. Islandscout
      Author's Response
      Perhaps, but you will encounter issues with any player not running on versions 1.7.X or 1.8.X
  6. GeistFighter
    GeistFighter
    5/5,
    Version: BETA 1907
    Good job !

    C'est un très bon anti cheat, un des rares que j'ai vue avec tellement peux d'erreur !
  7. QAQT0T
    QAQT0T
    4/5,
    Version: BETA 1906.1
    Good anticheat but it needs a good config.but it's too hard to get a nice value. You should add a default config to let it run normally at first load.
  8. JavaCoded
    JavaCoded
    5/5,
    Version: BETA 1906
    This is a really good anticheat for free. it just needs a good config and it will be even better! :)


    Good Job on the plugin



    Suggestion: You should add free config for people who are lazy to make one (like me) this would help ppl a lot. (some people will suggest/give anti-cheat configs for free)
  9. KotnCraft
    KotnCraft
    4/5,
    Version: BETA 1905
    I was testing the anticheat and its great but autoclicker is working my friend could click like 50 cps but no alerts
    1. Islandscout
      Author's Response
      A 50 CPS autoclicker would definitely be detected with the default configuration. However, this is only detected during combat since those checks check the rate of attack packets. I should have specified that in the plugin overview; this is my fault. If it still doesn't flag even while in combat, then send me a report. Thanks for reviewing the plugin though. :)
  10. Emakiller03
    Emakiller03
    5/5,
    Version: BETA 1905
    1 star for free
    2 stars for legacy support
    3 stars for high quantity of checks
    4 stars for high quality of checks
    5 stars for performance

    Stop to use premium anticheats, there is hawk!