[#] Fixed several Speed piston related false positives.
[#] Fixed several FastClicks block breaking false positives.
[#] Fixed several FastBreak no enchantment accounting false positives.
[#] Fixed several Speed server flight related false positives.
[#] Attempted to create certain IrregularMovements jump(ticks) cross-version false positives.
[#] Fixed an Exploits ground-spoof cancelled building false positive.
[#] Optimised the Player Profile object with fewer & faster methods and less memory used.
[#] Potentially fixed a Folia loading console error.
[#] Fixed a mathematical mistake in the Velocity check.
[#] Fixed several Speed elytra related false positives.
[#] Fixed several Speed trident related false positives.
[#] Fixed a Vehicle console error caused by wrong object casting.
[#] Made Suspicion Notifications not be sent in certain unavailable data circumstances.
[#] Removed violation information from the Player Info menu as it is not important.
[+] Added method to the developer API to get violation certainty for a check.
[#] Fixed remaining Detection Slots not being calculated properly in all cases.
[#] Limited the amount of violations stored per player to optimize the time of statistics.
[#] Attempted to re-fix running out of memory due to Bukkit's method of getting the target block across a distance.
[#] Fixed a temporary player active potion effects console error.
[#] Fixed a FastBreak standing above block false positive.
[#] Fixed an IrregularMovements bubble water soul-sand false positive.
[#] Made the mining logs not take place once the XRay check is disabled.
[#] Fixed a Folia loading console error caused by enums not initialized properly.
[#] Fixed several IrregularMovements step false positives caused by ridding camels.
[#] Fixed an EntityDeathEvent console error caused by missing method.
[-] Removed the measuring of violations as it has not been useful for a while to any check.
[#] Fixed a temporary-player console error related to protocol version.
[#] Fixed a concurrent modification exception in the packet combat listeners.
[#] Fixed a concurrent modification exception in the player utilities.
[#] Decreased redundant code in player utils by using existing useful libraries.
[#] Fixed a line of sight array growth error by limiting the distance checked for the GhostHand check.
[#] Fixed a concurrent modification exception in the player object related to potion effects.
[#] Fixed a library console error caused by the inventory utils on older server versions.
Important:
[+] New Exploits ground-spoof checks (1:1).
[+] New HitReach checks (0.1+ reach/hitbox detection).
[+] New Timer checks (lag compensation, almost instantaneous triggering, positive or negative timer detection)
[+] Killaura MoveDirection "heuristic[interpolation]" check, designed for newest aura bypasses
[#] Fixed many problems with combat checks.
[#] Improved stability of many checks.
[#] Fixed bug with DAMAGE_EVENT
[#] Fixed compatibility with older versions (1.8+)
[#] Removed the NoFall check and replaced it by the new Exploits ground-spoof detection.
[#] Almost all listeners now on packet-level.
[+] Split the check statistics into multiple factors to increase precision.
Other:
[#] Improved Velocity processing instead of deprecated damage.
[+] Added certainty measurement that a player is hacking to be saved in the plugin's logs to help for many reasons.
[-] Bedrock players will no longer be checked on the packet level due to incompatibilities.
[#] Made probabilities stricter to reduce the amount of notifications but also improve stability.
[#] Fixed synchronization console error related to the violation history.
[#] Fixed elytra & mobs collision false positives.
[#] Fixed a Speed console error caused by specific-version materials.
[+] Implemented a new KillAura detection which calculates the ratio of hits/damages for all entities.
[+] Implemented a new FastClicks detection which measures and compares patterns.
[#] Made notifications message in messages.yml not show the violation level by default because it is confusing.
[#] Fixed a few FastBreak false positives with sensitive blocks.
[#] Made the has-account notification optional.
[#] Made packets listeners not run when not supported or deprecated.
[#] Fixed a packet listener issue which caused players not being able to connect to the server.
[-] Removed the staff chat permission since it is no longer in use.
[#] Checks will no longer calculate or provide evidence when disabled.
[#] Punishments and preventions will no longer run if there's not enough data.
[+] Add prefix to messages.yml messages that should but didn't contain it.
[-] Removed messages.yml messages that were generated but had no practical use.
[#] Moved the settings.yml option 'max_supported_player_latency' from the Protections to the Important category.
[-] Removed the player-limit-per-ip feature and its settings.yml option as it is not in par with the anti-cheat's future path.
[#] Punishments for any check will now execute only if the check called has sufficient evidence.
[+] Added 2 new commands: toggle-prevention, toggle-punishment
[#] Made the plugin show its correct edition where it would be wrong in some cases.
[#] Made the ImpossibleActions scaffold detection more stable.
[#] Made many detections more stable by reworking parts of the plugin's base.
[#] Preventions will no longer take place when a check runs on packets because they cause false positives.
[+] Added {vls:percentage} configuration syntax/placeholder for the certainty of someone hacking for detection notifications.
[+] Added NoWeb detection to the Speed check.
[#] Fixed a PlayerProfile inventory missing class console error.
[#] Fixed silent option not working in certain cases.
[#] Fixed a console error caused by missing class method.
[#] Improved the suspicion notifications with better discord webhooks
[#] Fixed a MACE material console error caused by the material missing.
[#] Notifications, preventions & punishments will now take place more accurately.
[-] Removed Speed check code that was outside of its responsible class.
[-] Removed redundant code from classes related to the player.
[#] Improved the base functionality of the plugin by improving the input of abstractions.
[#] Made part of the Exploits elytra detection a protection instead of a detection.
[+] Added has-account notification to help users get better access to our systems.
[+] Improved the tab completion of the plugin with more commands loaded.
[+] Implemented panic mode command for managing silent mode and check punishments for players.
[+] KillAura "BlockRaytrace" check (hitting through block)
[#] Fixed the java/bedrock edition message not showing properly.
[#] Fixed an internal code issue that caused a few checks such as Exploits & MorePackets to partly break.
[+] Added notification column in the SQL table to not cause SQL errors.
[+] Implemented new classes to handle modified constants of forks.
[#] Detection Slots will now be counted only for enabled checks per java/bedrock players.
[#] Fixed ImpossibleActions block-face console error.
[#] Fixed a BlockReach near block unusual detection false positive.
[#] Fixed a NoFall trident self propelling false positive.
[#] Fixed a Folia fork startup console error that prevented the plugin from loading.
[#] Fixed an ImpossibleActions tower false positive caused by a mathematical limit.
[#] Potentially fixed an ImpossibleActions scaffold false positive caused by a mathematical mistake.
[#] Fixed several IrregularMovements new mace item false positives.
[#] Fixed a world unload chunk console error.
[#] Improved the accuracy of data in detection notifications.
[#] Fixed an ImpossibleActions scaffold yaw false positive.
[#] Made the Research Engine refresh as fast as possible without overloading.
[+] Implemented new statistics to judge how many violations a given check should ignore.
[#] Fixed a few IrregularMovements wind-charge item explosion false positives.
[+] Added new description to the Player Info inventory menu.
[+] Updated the verification of the Cloud feature, update to maintain access to it.
[#] Fixed a few Speed ground-invalid false positives
[#] Fixed a non-such method console error when retrieving server TPS.
[#] Fixed an issue where punishments repeat themselves after player is logged out.
[#] Made the NoFall check more lenient as far as its violations and preventions go.
[#] Improved the prevention system to consider configuration options in more scenarios.
[#] Fixed a BlockReach false positive caused by bedrock players.
[#] Fixed an IrregularMovements step false positive caused by several velocities.
[#] Fixed an IrregularMovements gravity false positive caused by elytra gliding.
[#] Fixed FastBreak false positives caused by latency and haste effects.
[#] Fixed many GhostHand false positives by making the check not retain violations for long.
[#] Potentially fixed an ImpossibleActions scaffold random block placement false positive.
[#] The Exploits check now belongs to the World category.
[#] Fixed a HitReach null-pointer error.
[#] Fixed a few ItemDrops & FastClicks false positives when dropping items.
[#] Fixed a comma typo in the logs of the plugin.
[#] Fixed an error when using the Floodgate compatibility with only Geyser.
[#] Removed unnecessary code from the Speed check.
[#] Fixed an Exploits movement(spoof) repeating false positive.
[#] Fixed a XRay false positive caused by wrongly implemented statistics.
[#] Improved the violation information of the IrregularMovements and NoFall checks.
[#] Fixed an IrregularMovements food-sprint false positive.
[#] Fixed an InventoryClicks shift clicking false positive.
[#] Fixed an IrregularMovements jump(height) low-ground false positive.
[#] Fixed an Exploits ground-spoof nearby-entities false positive.
[#] Fixed a NoFall bouncing blocks false positive related mostly to beds.
[+] Implemented ways to properly load data from blocks and worlds asynchronously. (off the main thread)
[+] All checks now support silent mode with the help of smarter preventions.
[+] When packets are enabled, movement checks will now run on packet events instead of bukkit events.
[#] Improved the use of memory relative to its synchronization requirements
[#] Simplified existing objects for less memory use and faster processing times.
[#] Fixed an issue that prevented the plugin to load on servers based on the Folia fork.
[#] Better synchronized notifications to reduce spam including cross-server ones.
[#] Largely improved the way evidence is calculated by calculating on the spot.
[#] Improved the object hierarchy to help objects communicate with each other faster.
[#] Rewrote the statistics of the XRay check so to serve you more reliably.
[-] Removed tracking of kicks and warnings as they did not help any of the statistics.
[-] Deprecated the 'ViolationResetEvent' API event as it is no longer needed.
[-] Deprecated the 'getTPS' API method as this is no longer something spartan will depend on.
[+] Spartan now optionally works with Packets. You need ProtocolLib for this.
[+] KillAura MoveDirection detection with the heuristics:
- basic
- low
- sync
- aim
- constant
- aggressive
- switch
- pattern(random)
- pattern(snap)
- pattern(gcd)
[+] Rewritten Criticals check
[+] Rewritten Velocity check (ProtocolLib Only)
[+] Rewritten HitReach check (Covers 3.01+ Distance) (ProtocolLib Only)
[+] KillAura HitTime detection (ProtocolLib Only)
[#] Fixed many false positives caused by several checks.
[#] Improved detection information in the KillAura & HitReach checks.
Added support for Minecraft 1.21
Fixed a few final issues, although the previous update was already stable.
Improved the memory consumption of the plugin and corrected console errors found by a few of you. Updating is necessary.
Fixed all remaining issues found by a few of you.
Fixed a few problems noticed by a few, updating is more than recommended.
Thank you to the many for patiently waiting. Here's a full rewrite of the movement checks. Words are few to describe the maze one has to go through to make such an update, try the movement checks and see for yourself the results! Make sure to report any issues via our Discord server at [url]https://www.idealistic.ai/discord[/url].
Code changes on GitHub:
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/0687065f681d6f173fa69e1e2c16f792e0091292[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/99185cbdac162cb23d0cd513d51636015eba365a[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/f79545d2e422f0c120a7c180725b63d8e9ad9579[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/d2344593bc91834c0195408a4abb3e08ece032ac[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/a855a748f5940ca394b044184e0726ed0c3effa2[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/0c70e989785441785cfd501717bb7d8bdf6224f3[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/e85147885a8d2345d6f060e77217645af8156f22[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/96914a226d6e779acf6d2032f1f5a686b9fee2ad[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/dfb5ff822824f58ac6df8907b7c7b79d2edf8a5a[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/0a137f0c9c34547a95937e4be7bf6740d963b3ae[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/9ccfb96aba4887eb957cd12c75819bd26b30882a[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/ca886a2e79cdda67ea986ed3014168f4b7cb6641[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/d673cea60e44d2ac37b021782b1220584be5e8b7[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/976f7e71a770c14614343b4a82cf35df3f150a18[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/d347d7cdaf4056b75a0a010d7166276283d3d2aa[/url]
- [url]https://github.com/Vagdedes/Spartan-AntiCheat/commit/75e599215981084d77c38255e4b84ca569ad38a6[/url]
This update once again brings huge improvements to Spartan.
- The Cancel Violation and False Positive Detection algorithms have been incorporated in the Live Violation algorithm, saving your server's resources in the process.
- The Machine Learning algorithm has been further developed and now uses less memory while running faster, plus I will be using to implement its first detections in the future.
- Violations are now uncapped where previously they would go up to 100 per minute and are time linear, meaning they will decrease as time passes if a player is not hacking. This will offer greater stability while improving long term statistics with undisputed evidence.
- Last but not least, the plugin was once again deeply maintained with outdated handlers and listeners being rewritten to track data better while consuming less resources from your server.
- The rest is history: https://github.com/IdealisticAI/Spartan-AntiCheat/commit/a0efe1eab03edeed1f442374c4740d93d8e50020
This update introduces Machine Learning training algorithms for the movement checks. There are no detections yet implemented, although successful testing of a few has been conducted. I will be measuring the effects of this update to fix any potential issues introduced but to also help all of you gather data for when the detections are implemented.
https://github.com/IdealisticAI/Spartan-AntiCheat/commit/d999d0482ef4616230831e94edcd988e2b26d6df
This hotfix fully stabilizes this update and is recommended for everyone. If you are still in Phase 532 or earlier, I urge you to update, but it will not be so necessary for the already stable Phase 532.1 update.
Fixed a few console errors. Sorry folks, this update was massive, it was kind of expected, but now all good.
Since I decided to bring Machine Learning to Spartan, it is necessary to do a deep cleaning and maintenance of the plugin's code, which is what I've done with this update. This could be my biggest update so far, although I won't make such a claim. However, the title is more than true, the plugin has been hugely improved from top to bottom with attention being paid down to specific details. Here are all the changes: https://github.com/IdealisticAI/Spartan-AntiCheat/commit/92269268f6c0d4113fd2f036eb599a63636be9d6