Spartan Anti-Cheat | Advanced Cheat & Hack Detection | 1.7 - 1.20.4

MC Plugin Spartan Anti-Cheat | Advanced Cheat & Hack Detection | 1.7 - 1.20.4 Phase 534
Advanced & reliable cheat prevention made simple, trusted by over 100,000 servers.

Provided the following additional optimisations to the player evidence algorithm:
1. The calculation will now have a 1 second cooldown.
2. The calculation objects will have their contents pre-calculated.
3. The calculation will be made using pre-calculated lists instead of calculated maps.
4. The calculation will only include checks that there is no evidence for.
5. The calculation will use a single thread if available to run or revert to run synchronously.
Did some deep optimisations to the hacker identification system for those of you who have servers with a lot of players/data. The rest of you should continue to be fine, but I recommend updating as always.
  • Previously Spartan would take averages of all player violations, divide them by the days of data, and check who was ahead the average to consider them a hacker. This has several critical problems however, such as:
    1. Averages do not account for the plugin version, which has an impact on the stability over a timespan.
    2. Averages do not account for individual detections, which react differently per gameplay, etc.
    3. Averages do not account for individual days, which can have vastly different data depending on the circumstances.
    You get the point, Spartan is moving away from averages which create a black/white picture and will implement more advanced mathematics in order to get more variety and more precision at the same time.
  1. The False Positive identification algorithm has been rewritten to offer more accurate results but also better and faster stability.
  2. The Performance Optimizer feature has been incorporated into the Player Profile object as the whole profiling system has also been rewritten.
  3. Removed the Performance Optimizer settings.yml option as it will no longer cause players to bypass and thus won’t be of any benefit to configure.
  4. Removed a lot of unnecessary objects, enums & classes and replaced them with more organized code.
  5. The Information Analysis object has been incorporated into the Player Violation object to allow it to be warmed up and as a result take less resources from the CPU.
  6. The Cloud customer-support command feature will no longer send the messages.yml configuration as there’s no use for it.
  7. The Research Engine sub-cache will now be refreshed when its responsible thread is not currently being used to prevent overloading it and calculating unnecessarily.
  8. Adjusted the False Positive Detection to be slightly more lenient, especially with non-hacker players by using universal variables.
  9. Adjusted the False Positive Detection to take the memory it needs to avoid unnecessary iterations.
  10. Restored the mention of false positives in the detection notifications as originally supposed.
  11. Slightly improved the punishment algorithm by checking if a player had significant evidence in the past.
  12. Restored some of the description functionalities in the Manage Checks inventory menu.
  13. Removed the identification of problematic detections as it wasn’t being used to its full potential.
  14. Balanced the KillAura raytrace detection in regard to how close an entity should be to block the path of the hit.
  15. Slightly improved the Linear Regression math algorithm with better use of lists.
  16. Several of Spartan’s threads have been adjusted to run on the main thread if the thread is not free to avoid delaying important interactions.
  17. Rewritten all identifier handlers as objects and incorporated them into the Spartan Player object.
  18. Slightly rebalanced the Fishing Hook handler with replacement of barely efficient used methods.
  19. Slightly rebalanced the Game Mode handler with more conditions to consider before reaching an outcome.
  20. The FastClicks frequency and pattern detections will now be influenced by the clicks-per-second limit slightly if raised above the default.
  21. Slightly organized the Player info inventory menu to have a consistency with its item description.
  22. The config.yml/checks.yml configuration will now load significantly previously relative to when it’s used to help alleviate potential exceptions.
  23. Decreased the amount of threads the plugin uses by incorporating the ground & move utilities in the Spartan Player object.
  24. Increased the accuracy of the feedback of the punishment algorithm in regards to punishment cancellation via code.
  25. Added a new settings.yml option for toggling the Developer API:Important.enable_developer_api
  26. The Player Info inventory menu will now introduce a back item instead of close for those who use it in conjunction with the Spartan inventory menu.
  27. The anti-cheat will now use more the calculated Cancel Violation instead of the default one for more accurate results.
  28. Removed several parts of the Player Profile objects that were not contributing to significant parts of the code.
  29. The Cloud sub-feature Punished Players will now trust data from bedrock players.
  30. A lot of systematic limitations related to bedrock players have been removed due to the checks having improved.
  31. Rewritten important parts of the Maximum Checked Players and Detection Tick features to optimize performance more.
  32. Replaced several on-ground methods with the on-ground counter method of the Spartan Player object.
  33. Significantly improved the way the reporting system forms check relations when a player is reported.
  34. Noticeably improved the Config utilities by spreading the cache to each message for faster replacement.
  35. Removed complex replacing of syntax as it is no longer in use by any possible user.
  • Previously Spartan would take averages of all player violations, divide them by the days of data, and check who was ahead the average to consider them a hacker. This has several critical problems however, such as:
    1. Averages do not account for the plugin version, which has an impact on the stability over a timespan.
    2. Averages do not account for individual detections, which react differently per gameplay, etc.
    3. Averages do not account for individual days, which can have vastly different data depending on the circumstances.
    You get the point, Spartan is moving away from averages which create a black/white picture and will implement more advanced mathematics in order to get more variety and more precision at the same time.
  1. The False Positive identification algorithm has been rewritten to offer more accurate results but also better and faster stability.
  2. The Performance Optimizer feature has been incorporated into the Player Profile object as the whole profiling system has also been rewritten.
  3. Removed the Performance Optimizer settings.yml option as it will no longer cause players to bypass and thus won’t be of any benefit to configure.
  4. Removed a lot of unnecessary objects, enums & classes and replaced them with more organized code.
  5. The Information Analysis object has been incorporated into the Player Violation object to allow it to be warmed up and as a result take less resources from the CPU.
  6. The Cloud customer-support command feature will no longer send the messages.yml configuration as there’s no use for it.
  7. The Research Engine sub-cache will now be refreshed when its responsible thread is not currently being used to prevent overloading it and calculating unnecessarily.
  8. Adjusted the False Positive Detection to be slightly more lenient, especially with non-hacker players by using universal variables.
  9. Adjusted the False Positive Detection to take the memory it needs to avoid unnecessary iterations.
  10. Restored the mention of false positives in the detection notifications as originally supposed.
  11. Slightly improved the punishment algorithm by checking if a player had significant evidence in the past.
  12. Restored some of the description functionalities in the Manage Checks inventory menu.
  13. Removed the identification of problematic detections as it wasn’t being used to its full potential.
  14. Balanced the KillAura raytrace detection in regard to how close an entity should be to block the path of the hit.
  15. Slightly improved the Linear Regression math algorithm with better use of lists.
  16. Several of Spartan’s threads have been adjusted to run on the main thread if the thread is not free to avoid delaying important interactions.
  17. Rewritten all identifier handlers as objects and incorporated them into the Spartan Player object.
  18. Slightly rebalanced the Fishing Hook handler with replacement of barely efficient used methods.
  19. Slightly rebalanced the Game Mode handler with more conditions to consider before reaching an outcome.
  20. The FastClicks frequency and pattern detections will now be influenced by the clicks-per-second limit slightly if raised above the default.
  21. Slightly organized the Player info inventory menu to have a consistency with its item description.
  22. The config.yml/checks.yml configuration will now load significantly previously relative to when it’s used to help alleviate potential exceptions.
  23. Decreased the amount of threads the plugin uses by incorporating the ground & move utilities in the Spartan Player object.
  24. Increased the accuracy of the feedback of the punishment algorithm in regards to punishment cancellation via code.
  25. Added a new settings.yml option for toggling the Developer API:Important.enable_developer_api
  26. The Player Info inventory menu will now introduce a back item instead of close for those who use it in conjunction with the Spartan inventory menu.
  27. The anti-cheat will now use more the calculated Cancel Violation instead of the default one for more accurate results.
  28. Removed several parts of the Player Profile objects that were not contributing to significant parts of the code.
  29. The Cloud sub-feature Punished Players will now trust data from bedrock players.
  30. A lot of systematic limitations related to bedrock players have been removed due to the checks having improved.
  31. Rewritten important parts of the Maximum Checked Players and Detection Tick features to optimize performance more.
  32. Replaced several on-ground methods with the on-ground counter method of the Spartan Player object.
  33. Significantly improved the way the reporting system forms check relations when a player is reported.
  34. Noticeably improved the Config utilities by spreading the cache to each message for faster replacement.
  35. Removed complex replacing of syntax as it is no longer in use by any possible user.
Corrected an issue in the Player Velocity object that prevented some data collection, updating is more than recommended to help enrich the functionality of the Velocity check.
  1. Implemented a new KillAura sensitivity sub-detection that checks how abstract the player’s sensitivity is.
  2. The KillAura existing sensitivity detection will now be more lenient by decreasing violation points when not found to be hacking.
  3. Implemented several mathematical improvements to the Player Opponent object that automatically improve the KillAura distance detection.
  4. The KillAura rotations detection will no longer require stored pitch information to run and will be more lenient with wider entities.
  5. The KillAura direction and aim detections will now require 5x times less directional distance to function.
  6. Implemented a new KillAura detection named response that counts the ticks a player had at a close angle to an entity before hitting.
  7. Implemented a new KillAura detection named strafe that compares the directional distance of a player.
  8. Implemented a new KillAura detection named pattern (originally perspective) that uses linear algebra to compare one’s movement with predictions of that.
  9. The KillAura movement & rotations detections will now be more lenient to protect against instabilities.
  10. Further organized the code the KillAura check calls to run its movement-based detections.
  11. Generally polished remaining KillAura detections from the description to the mathematics as we get closer to the completed rewrite of this check.
  12. Implemented a new IrregularMovements liquids sub-detection named consistency.
  13. Adjusted the way the IrregularMovements step detection calculates its limit to have more accuracy.
  14. Restored the functionality of some of the raw commands.
  15. The Research Engine will now recalculate cache in different scenarios and in a more efficient order.
  16. False Positives will now be canceled by correct violations made by suspected & hackers to provide a balance.
  17. The FastPlace check will no longer check air blocks as it doesn’t need to and can cause incompatibilities.
  18. The Cancel Violation feature will now apply more appropriate limits based on a check’s problematic detections.
  19. The Awareness Notifications feature will now optionally notify when there is any problem with the punishment algorithm.
  20. Adjusted the code of the BlockReach check to run faster while forcing it to adopt greater limits when flying.
  21. Greatly improved the movement identification method of the Spartan Player object to include damage.
  22. Made some adjustments to the Spartan inventory menu so it’s more proper.
  23. Test servers will now calculate evidence based on live but not historical information.
  24. The Testing identification handler will now return more information to easier point out potential errors.
  25. The IrregularMovements will now be more lenient when the player was recently legitimately flying.
  26. The IrregularMovements check will now be more lenient with the hop detection.
  27. Improved the block material list of the Block utilities.
  28. Rewritten parts of the GhostHand check to work faster and more accurately.
  29. Rewritten and simplified the Block Break handler with new accurate utilities that account a broader situation of the player.
  30. The plugin will now calculate radians to degrees with higher precision.
  31. The Information Analysis algorithm will now be faster at identifying the positions of numbers & decimals.
  32. The Ground utilities will now consider all the bounding boxes of the snow block.
  1. Rewritten the KillAura analysis detection with a new algebra-based design.
  2. Rewritten the KillAura move-accuracy detection as Movement with a new logic-based design.
  3. Improved the Rotations, Sensitivity & Direction KillAura detections using combat buffering.
  4. Implemented more situations where the combat-based buffer of a player keeps running.
  5. Extended the functionality of the KillAura time detection to check consistency.
  6. The anti-cheat will now store its data in memory per check which will dramatically decrease unnecessary iterations but also CPU usage by requiring less hashing of keys.
  7. The Cache system will no longer clear data against a list and know automatically where important information is stored.
  8. The Cache system will now be able to clear data in the main thread without impacting performance and forcing single-threaded checks to be thread-friendly unnecessarily.
  9. The plugin will now use 2 less threads and rapidly move a lot of data in the main thread and save performance wasted to unnecessary concurrency checks on the main thread.
  10. The Ground utilities will now cache the block heights to decrease unnecessary logical comparisons.
  11. The Ground utilities now offers more diverse and progressive location calculation if a player rides an entity.
  12. The EntityMove check should now perform better when calculating the properties of a vehicle’s location.
  13. Added support for Folia, although keep in mind this is experimental and can end up being problematic. (Take backups)
  14. The Information Analysis object will now take data directly from the memory and not the storage of the server.
  15. Improved the stability of the IrregularMovements hop detection in regards to its jumping checks.
  16. The Speed check will now once again slightly increase its limit if found to be unstable.
  17. Further completed the KillAura direction detection with a buffered sub-detection.
  18. Updated the EcoEnchants compatibility class after being notified by its developer.
  19. Implemented a basic auto-totem detection via the ImpossibleInventory check.
  20. Adjusted the Spartan inventory menu to contain more and grammatically correct information.
  21. Improved the Combat Processing handler by calculating the max of the recently cached variables.
  22. Removed the Developer API method “warnPlayer” as it wasn’t used or consistent with other offerings of the API.
  23. Brought the {punisher} placeholder/syntax to the Kick & Warn commands to be consistent with the rest.
  24. Implemented a new method in Combat utilities to near precisely calculate the ticks per hit for more appropriate buffering.
  25. The Click Data object will now calculate cps and other click information on multiple circumstances for more accuracy and consistency.
  26. Movement checks will now create less strings & numbers and check less variables as a way to optimize performance.
  27. The customer-support command can now be run without providing a description and will send more organized information compared to previously.
  28. Improved the Research Engine handler’s method that’s responsible for identifying detection information for memory storage.
  29. Moved the calculation of directional locations entirely on the Spartan Location object.
  1. Rewritten the KillAura “modulo”, “yaw”, “pitch” & “stability” detections as part of a new simpler and more efficient detection named “sensitivity”.
  2. The proxy-command has been optimized by having fewer iterations of a loop.
  3. The spectate feature will now remove the player on its own instead of relying on third-party handlers aggressively.
  4. Part of the FastPlace check will now function even when block placing is disabled.
  5. Enabling individual-only notifications will disable suspicion notifications as they are unnecessary.
  6. Improved the limits of several bedrock detections so they run more in par with java detections.
  7. Improved the stability of the Killaura rotations and direction detections.
  8. Set a limit to the max supported entities for the KillAura raytrace detection.
  9. The Player Info inventory menu will now show information regardless of the player’s evidence state.
  10. Improved the cache of the Spartan Location object to be more universal.
  1. Completely rewritten the KillAura Aimbot detection with the new utilities and a pattern-based code design.
  2. Completely rewritten the KillAura rotations detection with new utilities and a historical-based code design.
  3. Dramatically improved the KillAura distance detection with more lenient but organized requirements.
  4. Implemented a new FastBreak detection named indirected-surroundings-per-second which studies blocks broken that are not close to the previous block.
  5. Delayed the Punishment Discord webhook slightly so other Discord webhooks can take its place if configured.
  6. The inventory menu of Spartan will now have its own entire thread so loading times are low.
  7. The staff player counters will refresh at least every minute instead of always when opening the menu.
  8. Increased the precision of the Movement utilities jump movement.
  9. Improved the decimal precision of the IrregularMovements hop detection.
  10. The Combat utilities will now use trigonometry instead of ray-tracing to accurately predict the location of a hit.
  11. The Math utilities have now been renamed to Algebra utilities and have received new methods.
  12. Created a new type of utilities named Trigonometry to help organize certain important equations.
  13. The KillAura check will no longer run when a player is gliding with an elytra.
  14. Implemented a new messages.yml option named “notifications_modified” for when changing the notification frequency.
  15. The Block utilities will now use the block breaking time calculator to understand whether a block is sensitive in newer versions.
  16. The difference between yaw and pitch will now be calculated entirely using trigonometry.
  17. Stopped using weak hashmaps for detections as they didn’t save nearly enough memory but caused minor inconsistencies.
  18. Checks will now clear their cache more properly by updating existing cache instead of removing it all together.
  19. Implemented a new “untested” command meant to be used to execute BungeeCord commands. (/spartan proxy-command <command>)
The customer-support command will now included more needed information for the resolution of a user-reported problem.
Top Bottom