Adjusted the "Maximum Checked Players" feature, downloading is more than recommended!
- The Chunk system will now organize data per world to save performance.
- The Spartan inventory menu will now show punished players next to reported players.
- Improved the Cloud feature by making it run faster and more reliable in regards to its processes.
- The Speed check will now contain more detection information in hopes of helping correct false positives more specifically.
- The IrregularMovements will now distinguish between more scenarios to offer more detection performance.
- The Chunk system will now organize data per world to save performance.
- The Spartan inventory menu will now show punished players next to reported players.
- Improved the Cloud feature by making it run faster and more reliable in regards to its processes.
- The Speed check will now contain more detection information in hopes of helping correct false positives more specifically.
- The IrregularMovements will now distinguish between more scenarios to offer more detection performance.
I had a few users test this update, one saw a whopping 45% improvement in performance. Moving forward, update logs will mention only what’s important, I will focus more on words and explaining in simple ways the progress that has taken place.
- Optimized code that is responsible for calculating bouncing, vehicles, collisions, elytra & liquids.
- Rewrote a significant part of the Wave feature after receiving useful user feedback.
- Decreased the amount of schedulers the plugin uses and improved support for the Folia fork.
- Detections that have been disabled will no longer be included in many calculations.
- Got some great ideas that you may see in future updates, for now enjoy this one.
- Enhanced the KillAura check with new and existing improved detections.
- Rewrote the Criticals damage detection to support players but also balanced its learning process.
- Enhanced the IrregularMovements hop & jump detections with more accurate calculations.
- Enhanced the MorePackets blink detection with better detection speeds.
- Provided extra stability to the learning process of the Velocity check.
- Updates will now contain what truly matters instead of roughly all changes made.
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.
- The False Positive identification algorithm has been rewritten to offer more accurate results but also better and faster stability.
- The Performance Optimizer feature has been incorporated into the Player Profile object as the whole profiling system has also been rewritten.
- 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.
- Removed a lot of unnecessary objects, enums & classes and replaced them with more organized code.
- 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.
- The Cloud customer-support command feature will no longer send the messages.yml configuration as there’s no use for it.
- 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.
- Adjusted the False Positive Detection to be slightly more lenient, especially with non-hacker players by using universal variables.
- Adjusted the False Positive Detection to take the memory it needs to avoid unnecessary iterations.
- Restored the mention of false positives in the detection notifications as originally supposed.
- Slightly improved the punishment algorithm by checking if a player had significant evidence in the past.
- Restored some of the description functionalities in the Manage Checks inventory menu.
- Removed the identification of problematic detections as it wasn’t being used to its full potential.
- Balanced the KillAura raytrace detection in regard to how close an entity should be to block the path of the hit.
- Slightly improved the Linear Regression math algorithm with better use of lists.
- 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.
- Rewritten all identifier handlers as objects and incorporated them into the Spartan Player object.
- Slightly rebalanced the Fishing Hook handler with replacement of barely efficient used methods.
- Slightly rebalanced the Game Mode handler with more conditions to consider before reaching an outcome.
- The FastClicks frequency and pattern detections will now be influenced by the clicks-per-second limit slightly if raised above the default.
- Slightly organized the Player info inventory menu to have a consistency with its item description.
- The config.yml/checks.yml configuration will now load significantly previously relative to when it’s used to help alleviate potential exceptions.
- Decreased the amount of threads the plugin uses by incorporating the ground & move utilities in the Spartan Player object.
- Increased the accuracy of the feedback of the punishment algorithm in regards to punishment cancellation via code.
- Added a new settings.yml option for toggling the Developer API:Important.enable_developer_api
- 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.
- The anti-cheat will now use more the calculated Cancel Violation instead of the default one for more accurate results.
- Removed several parts of the Player Profile objects that were not contributing to significant parts of the code.
- The Cloud sub-feature Punished Players will now trust data from bedrock players.
- A lot of systematic limitations related to bedrock players have been removed due to the checks having improved.
- Rewritten important parts of the Maximum Checked Players and Detection Tick features to optimize performance more.
- Replaced several on-ground methods with the on-ground counter method of the Spartan Player object.
- Significantly improved the way the reporting system forms check relations when a player is reported.
- Noticeably improved the Config utilities by spreading the cache to each message for faster replacement.
- 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.
- The False Positive identification algorithm has been rewritten to offer more accurate results but also better and faster stability.
- The Performance Optimizer feature has been incorporated into the Player Profile object as the whole profiling system has also been rewritten.
- 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.
- Removed a lot of unnecessary objects, enums & classes and replaced them with more organized code.
- 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.
- The Cloud customer-support command feature will no longer send the messages.yml configuration as there’s no use for it.
- 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.
- Adjusted the False Positive Detection to be slightly more lenient, especially with non-hacker players by using universal variables.
- Adjusted the False Positive Detection to take the memory it needs to avoid unnecessary iterations.
- Restored the mention of false positives in the detection notifications as originally supposed.
- Slightly improved the punishment algorithm by checking if a player had significant evidence in the past.
- Restored some of the description functionalities in the Manage Checks inventory menu.
- Removed the identification of problematic detections as it wasn’t being used to its full potential.
- Balanced the KillAura raytrace detection in regard to how close an entity should be to block the path of the hit.
- Slightly improved the Linear Regression math algorithm with better use of lists.
- 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.
- Rewritten all identifier handlers as objects and incorporated them into the Spartan Player object.
- Slightly rebalanced the Fishing Hook handler with replacement of barely efficient used methods.
- Slightly rebalanced the Game Mode handler with more conditions to consider before reaching an outcome.
- The FastClicks frequency and pattern detections will now be influenced by the clicks-per-second limit slightly if raised above the default.
- Slightly organized the Player info inventory menu to have a consistency with its item description.
- The config.yml/checks.yml configuration will now load significantly previously relative to when it’s used to help alleviate potential exceptions.
- Decreased the amount of threads the plugin uses by incorporating the ground & move utilities in the Spartan Player object.
- Increased the accuracy of the feedback of the punishment algorithm in regards to punishment cancellation via code.
- Added a new settings.yml option for toggling the Developer API:Important.enable_developer_api
- 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.
- The anti-cheat will now use more the calculated Cancel Violation instead of the default one for more accurate results.
- Removed several parts of the Player Profile objects that were not contributing to significant parts of the code.
- The Cloud sub-feature Punished Players will now trust data from bedrock players.
- A lot of systematic limitations related to bedrock players have been removed due to the checks having improved.
- Rewritten important parts of the Maximum Checked Players and Detection Tick features to optimize performance more.
- Replaced several on-ground methods with the on-ground counter method of the Spartan Player object.
- Significantly improved the way the reporting system forms check relations when a player is reported.
- Noticeably improved the Config utilities by spreading the cache to each message for faster replacement.
- 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.