- 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.
- 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.
- When a check runs, multiple detections execute per player, which can sometimes have consequences in performance. From this update and on, Spartan will allocate a single reusable thread to run detections asynchronously. This thread will run only when it’s not busy with another detection and when the circumstances allow for it, otherwise the detection will revert to run synchronously. For example, when we run a detection asynchronously and the check has preventions enabled, we risk moving the prevention to the next server tick, which will allow the hack module to work for a bit and cause potential damages to one’s server, so Spartan will first make sure there’s enough time in the current server tick to ensure the prevention also runs before the server updates itself. Additionally, Spartan will respect the time left in the server tick by running asynchronously only what’s necessary such as mathematical calculations instead of trivial code such as checking the configuration or cache to see if a detection is enabled or buffered enough, of which code has already run previously as this algorithm has been placed methodically in the code for the possible maximum potential. Lastly, this algorithm will only target heavy and frequent detections such as the ones implemented in movement checks.
- Optimized the Spartan Player object in regards to its calculations related to the world border.
- Optimized the ImpossibleInventory & NoSlowdown checks and rebalanced their detections and performance.
- Improved the Spartan inventory menu with a more accurate statistics description.
- Detections will now be toggleable in certain versions of Spartan.
- The Velocity check will now support checking damage from entities but also more situations with players.
- Did some maintenance in the Player utilities as it caused some checks to misperform.
- The NoFall ratio detection will now start checking from the 3 fallen blocks instead of 4 but still be more lenient.
- Slightly improved the speed of the punishment algorithm by using regex instead of ordinary strings.
- Compatibilities will now refresh in memory when any plugin is loaded or unloaded, thus not having a problem when a plugin loads later.
- The IrregularMovements step detection will now apply more lenient downwards limits when a player was not recently falling.
- Completely rewritten the Speed sprint detection with the same but improved design.
- The KillAura raytrace detection will now start raytracing from the entity’s width and after.
- The punishment algorithm will no longer blame the first-party plugins when canceled as that’s not a plausible scenario.
- The punishment algorithm will now offer possible dependent plugins when canceled as a way to ease search.
- The Spartan’s inventory menu AntiCheat Updates item will no longer be considered clickable as it isn’t.
- The KillAura sensitivity abstract detection is far too sensitive and will only occur with suspected players and identified hackers.
- The KillAura sensitivity minimum detection has had its buffer separated but also increased in hopes of providing better stability.
- The ban system will now insert the actual name of the punisher and not its object name, causing varchar issues to the database as a result.
- The ban system will now distribute its keys using a list so less inconsistencies are created over time when modifying the code.
- Restored the functionality of the unban command as it seemed to not perform as expected for some users.
- The XRay detection has been rebalanced with faster and better calculations, and earlier signs in the inventory menus in the form of items.
- The KillAura pattern detection will now require more observations to make correlation assumptions, and the required correlation has increased for all its sub-detections.
- The KillAura pattern detection will now require the entity to be a player or monster and to not be blocked by a blocked behind.
- The Cloud feature Customer Support will now send less logs when used as a way to help prevent time waste when studying such information.
- The IrregularMovements climb detection will now apply different limits when climbing scaffolding blocks.
- Decreased the amount of threads the plugin uses by bringing processes to the main thread in an optimized manner.
- Suspicion Notifications will now run regardless of the Spartan inventory menu’s refresh rate.
- The Spartan inventory menu will now refresh only when it needs to instead periodically.
- The Explosion handler will now combine multiple events to calculate the players surrounding the location, which will dramatically decrease the amount of iterations and calculations needed.
- The KillAura and HitReach checks will no longer check wide entities as they seem to be problematic.
- Implemented a Ground utilities patch for miscalculations in the player’s remaining height position.
- Warnings, reports & kicks will no longer have any chance of being identified as violations.
- Did some maintenance to the Floor handler to make it more universal and accurate.
- Corrected a rare command-tab null pointer console error.
- The Item Attributes compatibility will now be enabled by default.
- The verification connection will now be processed asynchronously.
- The NoSlowdown bow shots detection will now be more lenient.
- Implemented a new KillAura sensitivity sub-detection that checks how abstract the player’s sensitivity is.
- The KillAura existing sensitivity detection will now be more lenient by decreasing violation points when not found to be hacking.
- Implemented several mathematical improvements to the Player Opponent object that automatically improve the KillAura distance detection.
- The KillAura rotations detection will no longer require stored pitch information to run and will be more lenient with wider entities.
- The KillAura direction and aim detections will now require 5x times less directional distance to function.
- Implemented a new KillAura detection named response that counts the ticks a player had at a close angle to an entity before hitting.
- Implemented a new KillAura detection named strafe that compares the directional distance of a player.
- Implemented a new KillAura detection named pattern (originally perspective) that uses linear algebra to compare one’s movement with predictions of that.
- The KillAura movement & rotations detections will now be more lenient to protect against instabilities.
- Further organized the code the KillAura check calls to run its movement-based detections.
- Generally polished remaining KillAura detections from the description to the mathematics as we get closer to the completed rewrite of this check.
- Implemented a new IrregularMovements liquids sub-detection named consistency.
- Adjusted the way the IrregularMovements step detection calculates its limit to have more accuracy.
- Restored the functionality of some of the raw commands.
- The Research Engine will now recalculate cache in different scenarios and in a more efficient order.
- False Positives will now be canceled by correct violations made by suspected & hackers to provide a balance.
- The FastPlace check will no longer check air blocks as it doesn’t need to and can cause incompatibilities.
- The Cancel Violation feature will now apply more appropriate limits based on a check’s problematic detections.
- The Awareness Notifications feature will now optionally notify when there is any problem with the punishment algorithm.
- Adjusted the code of the BlockReach check to run faster while forcing it to adopt greater limits when flying.
- Greatly improved the movement identification method of the Spartan Player object to include damage.
- Made some adjustments to the Spartan inventory menu so it’s more proper.
- Test servers will now calculate evidence based on live but not historical information.
- The Testing identification handler will now return more information to easier point out potential errors.
- The IrregularMovements will now be more lenient when the player was recently legitimately flying.
- The IrregularMovements check will now be more lenient with the hop detection.
- Improved the block material list of the Block utilities.
- Rewritten parts of the GhostHand check to work faster and more accurately.
- Rewritten and simplified the Block Break handler with new accurate utilities that account a broader situation of the player.
- The plugin will now calculate radians to degrees with higher precision.
- The Information Analysis algorithm will now be faster at identifying the positions of numbers & decimals.
- The Ground utilities will now consider all the bounding boxes of the snow block.
- Rewritten the KillAura analysis detection with a new algebra-based design.
- Rewritten the KillAura move-accuracy detection as Movement with a new logic-based design.
- Improved the Rotations, Sensitivity & Direction KillAura detections using combat buffering.
- Implemented more situations where the combat-based buffer of a player keeps running.
- Extended the functionality of the KillAura time detection to check consistency.
- 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.
- The Cache system will no longer clear data against a list and know automatically where important information is stored.
- 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.
- 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.
- The Ground utilities will now cache the block heights to decrease unnecessary logical comparisons.
- The Ground utilities now offers more diverse and progressive location calculation if a player rides an entity.
- The EntityMove check should now perform better when calculating the properties of a vehicle’s location.
- Added support for Folia, although keep in mind this is experimental and can end up being problematic. (Take backups)
- The Information Analysis object will now take data directly from the memory and not the storage of the server.
- Improved the stability of the IrregularMovements hop detection in regards to its jumping checks.
- The Speed check will now once again slightly increase its limit if found to be unstable.
- Further completed the KillAura direction detection with a buffered sub-detection.
- Updated the EcoEnchants compatibility class after being notified by its developer.
- Implemented a basic auto-totem detection via the ImpossibleInventory check.
- Adjusted the Spartan inventory menu to contain more and grammatically correct information.
- Improved the Combat Processing handler by calculating the max of the recently cached variables.
- Removed the Developer API method “warnPlayer” as it wasn’t used or consistent with other offerings of the API.
- Brought the {punisher} placeholder/syntax to the Kick & Warn commands to be consistent with the rest.
- Implemented a new method in Combat utilities to near precisely calculate the ticks per hit for more appropriate buffering.
- The Click Data object will now calculate cps and other click information on multiple circumstances for more accuracy and consistency.
- Movement checks will now create less strings & numbers and check less variables as a way to optimize performance.
- The customer-support command can now be run without providing a description and will send more organized information compared to previously.
- Improved the Research Engine handler’s method that’s responsible for identifying detection information for memory storage.
- Moved the calculation of directional locations entirely on the Spartan Location object.
- Rewritten the KillAura “modulo”, “yaw”, “pitch” & “stability” detections as part of a new simpler and more efficient detection named “sensitivity”.
- The proxy-command has been optimized by having fewer iterations of a loop.
- The spectate feature will now remove the player on its own instead of relying on third-party handlers aggressively.
- Part of the FastPlace check will now function even when block placing is disabled.
- Enabling individual-only notifications will disable suspicion notifications as they are unnecessary.
- Improved the limits of several bedrock detections so they run more in par with java detections.
- Improved the stability of the Killaura rotations and direction detections.
- Set a limit to the max supported entities for the KillAura raytrace detection.
- The Player Info inventory menu will now show information regardless of the player’s evidence state.
- Improved the cache of the Spartan Location object to be more universal.
- Completely rewritten the KillAura Aimbot detection with the new utilities and a pattern-based code design.
- Completely rewritten the KillAura rotations detection with new utilities and a historical-based code design.
- Dramatically improved the KillAura distance detection with more lenient but organized requirements.
- Implemented a new FastBreak detection named indirected-surroundings-per-second which studies blocks broken that are not close to the previous block.
- Delayed the Punishment Discord webhook slightly so other Discord webhooks can take its place if configured.
- The inventory menu of Spartan will now have its own entire thread so loading times are low.
- The staff player counters will refresh at least every minute instead of always when opening the menu.
- Increased the precision of the Movement utilities jump movement.
- Improved the decimal precision of the IrregularMovements hop detection.
- The Combat utilities will now use trigonometry instead of ray-tracing to accurately predict the location of a hit.
- The Math utilities have now been renamed to Algebra utilities and have received new methods.
- Created a new type of utilities named Trigonometry to help organize certain important equations.
- The KillAura check will no longer run when a player is gliding with an elytra.
- Implemented a new messages.yml option named “notifications_modified” for when changing the notification frequency.
- The Block utilities will now use the block breaking time calculator to understand whether a block is sensitive in newer versions.
- The difference between yaw and pitch will now be calculated entirely using trigonometry.
- Stopped using weak hashmaps for detections as they didn’t save nearly enough memory but caused minor inconsistencies.
- Checks will now clear their cache more properly by updating existing cache instead of removing it all together.
- 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.
- Improved the documentation of the inventory menus.
- Introduced new methods to handle different connections in the Cloud feature.
- Implemented a new punishment webhook which lists the commands executed.
- The Spartan inventory menu’s max pages were limited to 999 instead of practically unlimited.
- The messages.yml configuration now has the configuration syntax {prefix} for mass plugin name replacement.
- Files will no longer be synchronized when just created to avoid manipulating important options to their defaults.
- The way responsible for calculating the min height of the world has been made a mass used method.
- The IrregularMovements will now treat bedrock players more properly in terms of accuracy.
- The Cloud feature customer-support command will now be more precise with the information it sends.
- Completely rewritten the FastClicks check as the previous one was great but did not meat certain expectations.
- Completely rewritten the Cps Counter handler as an object and renamed it to Click Data.
- The identification of jump movement has been adjusted for bedrock players.
- The Explosion protection will now properly calculate the time it needs to function.
- Reworked the Trident handler to be more universal and cross compatible.
- Certain parts of the FastPlace & MorePackets will disable when the server has competitive CPS.
- The Research Engine will now be able to cache for much longer so more data can be accounted for.
- The Suspicion-based algorithms such as punishments will now work even when the Research Engine is caching.
- Renamed the description of the Compatibilities item to not be so confusing.
- The KillAura time detection will no longer check in specific hit time delays.
- The KillAura raytrace detection will no longer check bedrock players due to their abstract line of sight.
- The HitReach check will no longer run its longer detection on bedrock players.
- The Customer Support command will now include configuration values when executed.
- Violation category will now appear as “unlikely” when a false positive has taken place.
- The configuration system will now accept text as logic, integers & decimals if typed correctly.
- Completely rewritten the way Spartan calculates CPS for more accuracy and new detections.
- Increased the near max falling motion of the IrregularMovements step detection as a way to improve stability.
- Added more information to the KillAura raytrace detection for more knowledge for the development.
- Optimized the punishment algorithm by forcing it to recalculate less information and in more needed circumstances.
- Adjusted the positioning of the Information Analysis object so the detection of a check is found successfully.
- The Research Engine will now longer attempt to calculate evidence for players who have been offline for long.
- Improved the accuracy of the IrregularMovements ground-up detection to match the possible expectations of some.
- Greatly optimized the way Spartan handles its violations in its cache for faster performance and less memory usage.
- Made the Player Info inventory menu look into the player’s online state in more situations.
- Adjusted the Minigame Maker compatibility after the project was transferred to another developer.
- The IrregularMovements step detection will now resort to greater limits in certain situations.
- Big entities will no longer be checked by the KillAura raytrace detection as it’s too risky stability-wise.
- Implemented more new KillAura detections and replaced their old ones.
- Made a few corrections to the Combat Processing handler related to how it handles cache.
- Adjusted how the plugin uses its threads for more appropriate processing times and queues.
- Adjusted the ImpossibleInventory check to be more accurate and functional.
- Adjusted the False Positive Detection feature and mostly removed the Problematic Detections feature due to problems.
- The Research Engine will now recalculate the False Positives by removing redundant violations.
- Added the X Y Z coordinates in the plugin’s logs since they were already added in the SQL feature.
- The IrregularMovements will no longer run when in liquid blocks as it doesn’t need to.
- Improved the protection of the NoSlowdown check of using a bow in combination with specific movements.
- Optimized & improved the process the Velocity check uses to understand if it can check a player.
- The IrregularMovements will now treat its cache more appropriately with several improvements.
- The Punishment algorithm will now be more accurate due more frequent cache refreshes.
- Partly rewritten the Violation History object to handle violations & false positives more appropriately.
- The XRay check will no longer wait a minute for the next violation but will notify when the violation cycle resets.
- Added more information to the Player Info inventory menu about the evidence of the player.
- Removed the Performance.disable_problematic_detections settings.yml option as it no longer plays an important role.
- Improved the bedrock compatibility by better identifying offline players without necessarily accessing heavy offline player data.
- Rewritten how the Research Engine handlers cache works to optimize asynchronous performance but offer more main-thread updates at the same time.
- The No Hit Delay compatibility will now only account when a player recently received damage.
- Deleting a player’s stored data will instantly remove them from the inventory menus.
The Spartan inventory menu will now be able to again access the. data of offline players.
- Specific EntityMove horse detections will no longer when in liquid blocks as movement gets too abstract.
- The default and default minimum vertical limit for the HitReach check has been increased to 4.6 blocks.
- Problematic detections will now be included in low frequency notifications like false positives.
- Decreased the number of synchronized calls to the Information Analysis object by half.
- The Player Info inventory menu will now show more information to hopefully provide more inside to testers.
- Moved the settings.yml option maximum_checked_players_at_once from the Important to the Performance category.
- The Maximum Checked Players feature will no longer work on identified test servers.
- Improved the usage of the off-ground blocks counter in multiple classes.
- Optimized the Criticals check by replacing certain methods with faster and more accurate methods.
- Increased the accuracy of the EntityMove check’s search for ice blocks by checking the surrounding blocks.
- Removed the {plib} configuration syntax as ProtocolLib is no longer as important as it was in the past.
- Decreased the precision of the False Positive Detection feature due to work more appropriately when not needed.
- Adjusted the KillAura time detection to not be so strict in low time intervals.
- Adjusted the Spartan Player object to return more accurate results about surrounding entities.
- Reworked a Player Profile object method that caused the customer-support command to not work for some.
- Reposition the cache message of the Research Engine handler so it’s accurate to when the caching process finishes.
- Improved the accuracy and speed of the punishment algorithm after receiving a few complaints.
- Improved the Spartan inventory menu with more information about the server.
- The Spartan inventory menu will now load faster due to being processed in a less busy thread.
- The False Positive Detection feature and false positive collection of the Research Engine will not take place when the server has less than 5 players.
- Potential False Positives will now be considered with more strictness as it should have been from the start.
- Violations will be counted separately for false positives & problematic detections to notify about them more appropriately.
- Adjusted the FastBreak check to identify water blocks more accurately height-wise.
Unlike the previous hot-fix update, this one is not required to download, but it provides many incremental improvements in the internals of Spartan's processes, so it's definitely recommended.
Adjusted some code in the Combat Processing handler to prevent dealing with null parameters.
- The plugin will now max out its time division to 30 instead of 90 days.
- Completely rewritten a big part of KillAura check with new utilities and design, with the remaining awaiting completion.
- Introduced a new messages.yml configuration option named “console_name”.
- The Maximum Checked Players feature will now be more synchronized with its interactions.
- Major Incompatible plugins/features can now be toggled via compatibility.yml if you don’t want to account for them.
- Certain compatibilities were updated to work better on more recent versions of Minecraft.
- Completely rewritten the way the plugin understands yaw & pitch difference for more accurate calculations.
- Discordapp.com will now also work as a webhooks domain compared to only discord.com previously.
- Adjusted certain potion effect methods of the Player Data utilities to help improve detection stability.
- Adjusted the accuracy of the identification of jump movement down to 6 decimal places for less false positives.
- Did a general maintenance of many classes and replaced a lot of outdated & inefficient code.
- The previously secret option that allowed to toggle console logs has returned in settings.yml.
- Implemented new checks.yml options and removed old ones to adjust to the changes of the KillAura check.
Plugin maintenance & Preparation for the upcoming big changes
Replaced the entity-height method with the entity-eye-height method for 1.8, 1.9 & 1.10 Minecraft servers, since the original method is missing.
- Implemented additional bounding boxes to consider in the Ground utilities.
- Partly rewritten the HitReach check to be more accurate and faster.
- Completely rewritten the Teleport protection to be more consistent.
- Partly rewritten the Combat Processing handler to use recent systems of cache.
- Partly rewritten the Movement Processing handler to be more compact & reliable.
- Prepared the Combat utilities for the upcoming KillAura check rewrite.
- Removed the Item Teleporter & Enderpearl handler as it no longer had a significant purpose.
- Improved the False Fall Damage handler with checking for canceled & silent causes.
- The certain {detection} placeholders will now fallback to {detections} when no longer supported due to plural grammar.
- Stopped using the required-resource-pack method since it caused errors in some recent versions.
- False Positives & Hacker-Free players will now be calculated asynchronously in par with the remaining Research Engine cache types.
- Repositioned the way certain Configuration & Discord notifications are being sent to staff players.
- Rewrote some of the detection information of the Speed sprint detection to help organize the handlers around it.
- Detection Notifications will no longer forcefully add the detection information in the lowest frequency.
- Made the False Positive Detection less lenient to prevent it from overly detecting violations.
- The Hack Prevention object will now pass a lot of its information to the Moderation handler to prevent unecessary memory calls.
- Detection Notifications will now also replace Suspicion Notification when the Research Engine doesn’t have data or is caching.
- The Exploits undetected-movement detection will no longer function when major incompatible plugins are detected.
- Spartan Location objects will now clear their data every 3 ticks instead of 2 and will have more accurate comparisons.
- Removed the Automated Configuration functionality as it’s barely used and probably not desirable.
- Decreased the amount of threads Spartan is using, although this did not negatively impact performance.
- The Maximum Checked Players feature will now disable if configured with a zero or negative number.
- Decreased the violation cooldown of the XRay check for more frequent notifications.
- The evidence of a player will no longer be cleared when being updated but refreshed until the update takes place.
- Implemented a new feature named Skip Detection Ticks to help optimize performance when the Maximum Checked Players feature is inactive or ineffective.
- Updated the Spartan Player object to be able to limit the amount of nearby entities calculated to save crucial performance.
- The Spartan Player object will now cache its Player Profile object to prevent unnecessary memory calls.
- The KillAura check will no longer attempt to understand the legitimacy of a fight to allow detections to run more frequently.
- The Spartan inventory menu will now have one row for suspected & hackers, one for legitimate players and one for reports.
- The IrregularMovements check will now search for liquid blocks below the player when the player is falling.
- The Player Fight system will now be able to calculate the max hit combo of a player.
- Completely rewritten the EntityMove check with the use of vehicle attributes but also new calculations.
- Simplified the way cross-server notifications are distributed to avoid confusions between users.
- The Maximum Checked Players feature will now iterate properly though some of its information.
- Compatibilities will attempt to send Awareness Notifications when failing to load.
- The Cloud feature will no longer impact the “server_name” option in settings.yml.
- Potentially corrected a NoFall water bucket false positive. (MinecraftSGP message me if not fixed)
- Optimized the Cloud feature with less specific error handling.
- Implemented a new Cloud sub-feature to command the plugin to send customer-support information.
- The Cloud feature will now refresh for the first time after the Research Engine handler has completed its caching.
- Cache stored by the movement event will now be specific to the vehicle the player is riding.
- Improved the effectiveness of the False Positive Detection by making it run on violations not containing a prevention which will allow for premature learning.
- The False Positive Detection will now have a 2MB limit in the data it can retain in its memory, although there have been no reported issues.
- The False Positive Detection will now round integers to the nearest of 5 to improve stability.
- Improved the compatibility of Ultimate Statistics with more useful calls and less code checks.
- The Vehicles compatibility will now provide more accurate and less lenient results.
- Pistons will now be accounted for in the water detection of the Speed check.
- The evidence algorithm of the Player Profile object will now search for false positives instead of just problematic detections.
- The evidence algorithm of the Player Profile object will now calculate the days based on your first significant violation till now instead of days you had violations recorded.
- The evidence algorithm of the Player Profile object will now decide whether a player is suspected or a hacker based on the amount of suspicions instead of level of individual suspicions.
- Evidence of hacking or suspicion will now be held longer in the memory for offline players to save performance.
- Brought performance & accuracy improvements in the way the Speed check caches its limits.
- Inventory menus and certain calculations will now use more accurate results of a player’s violation history.
- The overall history of a player will now be based on the amount of unique dates instead of the total collected amount of dates.
- The main inventory menu will no longer process multiple versions of itself for a single players, which could potentially happen in a time of server lag or spam while already loading.
- Rewrote a part of the punishment algorithm to run faster, be more reliable with its results and have no limit to how many checks a player can be punished for.
- Combat-based calculations of the Research Engine handler will now be returned to their original values if not enough data is available.
- Implemented a new checks.yml configuration option for the GhostHand check: check_fully_solid_blocks_only
This update is for those of you whom encounter this rare string replacement error. It's effectively harmless, but here you go.
Resource packs will now be identified when the Bukkit method is available.
- Bedrock players will now be treated more leniently in certain parts of the IrregularMovements check.
- Removed the Awareness Discord Webhooks as they were undesired by many users including myself.
- The Customer Support command will now complete being sent without the requirement for detection information.
- The FastBreak check will now be more lenient towards bedrock players.
- While the new EntityMove check is still being rewritten, the old one will stop checking bedrock players for stability.
- The ItemsAdder compatibility will no longer work if the DisguiseAPI class is not found to prevent console errors.
- Silent checks will now appear enchanted in the Manage Checks inventory menu.
- Implemented a new feature and settings.yml option for it: Important.maximum_checked_players_at_once
- The Discord Webhooks feature will now appear more frequently as many of you suggested it needed this.
- The Spartan inventory menu has been optimized to refresh itself again.
- Potentially corrected an IrregularMovements climbing jump false positive.
- Compatible plugins of mine will appear in the Spartan inventory menu.
- Decreased the amount of configuration calls & search algorithms in the settings.yml configuration.
- Modified an outdated value reply in one of the Developer API’s methods.
- The plugin will now exempt players from detections for a bit when the server has a resource pack.
- The False Positive Detection will now focus more on integers than just decimals to correct more issues.
- The Research Engine feature will now recalculate its cache much faster due to methods being combined in async mode.
- The SQL port configuration option will now modify a decimal format to an integer one.
- The Speed water detection will no longer check boats, this will be the job of the future rewritten EntityMove check.
- The Cloud feature will not attempt new connections if a recent one failed to complete for any reason.
- Hardcoded compatibilities will now show as functional if found to be loaded in the server.
- Balanced dozens of methods in the Research Engine handler with native methods and less unnecessary checks.
- When loading huge amounts of data, the Spartan Menu will no longer be performance intensive.