Phase 495 - HotFix #2
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.
Phase 495 - HotFix #1
Adjusted some code in the Combat Processing handler to prevent dealing with null parameters.
Phase 495 - Rewritten KillAura Check (Phase One)
- 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.
Phase 494
Plugin maintenance & Preparation for the upcoming big changes
Phase 493 - HotFix #1
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.
Phase 493 - Rewritten HitReach check, Optimizations & More Combat Rewrites to come
- 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.
Phase 492 - Rewritten EntityMove check & Research Engine Upgrades
- 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
Phase 491 - Phase #2
This update is for those of you whom encounter this rare string replacement error. It's effectively harmless, but here you go.
Phase 491 - HotFix #1
Resource packs will now be identified when the Bukkit method is available.
Phase 491 - Maximum Checked Players At Once Feature & Improved Discord Webhooks
- 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.
Phase 490 - HotFix #1
Made extra functionalities available to everyone natively via the plugin's code, older versions will continue to receive them via a web-server connection. Additionally, online documentation has returned the options of the extra functionalities.
Phase 490 - 2022 is coming to an end, I wish everyone a hopeful & productive 2023
- The Exploits undetected-movement detection will no longer check players in vehicles as it doesn’t need to.
- The Exploits undetected-movement detection will now check the configuration before running.
- The IrregularMovements check will now be more lenient when the scenario changes.
- The plugin will now convert text to decimals faster which will help when analyzing violation information data.
- The Inventory utilities will now use different methods to set the owning head of a player depending on the server version.
- Decreased the amount of threads the plugin uses for asynchronous tasks.
- The Information Analysis object will now remove numbers from detections and will try to correlate them to configuration options for more unique outcomes.
- The Cancel Violation handler will now be updated more frequently for more consistent and accurate calculations.
- The Cache system will no longer clear certain important types of data.
- The False Positive Detection feature will now create more simplified keys for higher chance of catching false positives.
- The False Positive Detection feature will now consider hackers & suspected players in its calculations in more strict terms.
- Corrected a few outdated messages related to the Research Engine handler.
- Completely rewritten the way Problematic Detections are calculated.
Phase 489 - HotFix #3
Implemented some corrections to the punishments system.
Phase 489 - HotFix #2
Did some critical optimisations to the Player Profiling objects to restore good performance for some users.
Phase 489 - HotFix #1
The SQL feature will no longer notify when it's not configured.
Phase 489 - Rewritten Exploits detection & Corrections
- Rewritten the Exploits undetected-movement detection.
- Removed unused methods from some objects.
- Made the chunk cache more thread safe by decreasing recurrency.
- Updated the Move utilities with more universal variables.
- Listed more dependent plugins in the plugin.yml file.
- Made some changes to the API’s events to adapt to the rewritten systems.
- Improved the management of the Cloud feature’s exceptions.
- The plugin will now update profile permission knowledge when permissions are checked.
- The Research Engine will now need both profile and log requirements to start functioning.
- Rebalanced the permissions that would identify staff players.
- Optimized the permissions feature by decreasing memory calls.
- Checks will not be silent by default, which was a mistake of the past update.
- Checks who do not support silent mode will not have the option, just like past the previous update.
- Removed the spartan.punishment permission as it was malfunctioning and wasn’t being used in general.
- Living entities will now need to have their AI enabled to be supported by Spartan’s checks.
- Removed the Low Violation handler as this is no longer considered a proper way to deal with violations.
- The API will now support giving bypass permissions to players via the addPermission method.
- The Player Info inventory menu will no longer update when there is no change in violations.
- The Check object’s silent method will no longer try to check world data twice.
- The entity AI method will no longer be used in versions that don’t offer it.
- Improved the SQL feature with better errors, less variables/memory used, and more protections against mistakes.
- Adjusted an invalid SQL query when deleting player information from the database.
- Implemented a new checks.yml option for the Exploits check to manage the building detection.
- Mining notifications will no longer be logged in the console.
- Improved how the plugin identifies player swimming.
- An API event will no longer be triggered asynchronously.
- The Speed & IrregularMovements will now be more lenient towards bouncing blocks in certain scenarios.
- Implemented a new type of utilities to manage characters in Java.
- Drastically improved & optimized the way the plugin handles its check data.
- Implemented a new awareness notification about the Discord Webhooks feature.
- Adjusted the colors of the Spartan command’s content depending on certain scenarios.
- Adjusted a Player Data utilities method that caused the Speed potion effect to not always be accounted.
Phase 488 - HotFix #2
Corrected a SQL table creation issue and a major check cancellation issue. Updating is more than recommended, sorry for the inconvenience, Phase 488 was a massive update.
Phase 488 - HotFix #1
Fixed an issue where the class of the Performance Optimizer feature wouldn't initiate.
Phase 488 - Rewritten Violations, Check, Compatibility, Utilities & Performance Optimizer systems
- Many static class methods have been made part of new/existing objects to improve performance.
- Completely rewrote the Performance Optimizer feature to be more universal, more organized & better.
- The Speed ground detection will now account for a player’s building process.
- The unban command will now properly clear the cache of the ban feature.
- The SQL Config and SQL Logs are now combined as the SQL Feature.
- Potion Effects will now have their own organized cache to prevent false positives.
- The “Logs.log_file” option will now reappear in the settings.yml configuration.
- Decreased the amount of threads Spartan uses and replaced it with existing ones.
- Many checks.yml & config.yml options will now be generated when first used.
- Removed forgotten configuration options & functionalities from several checks.
- Removed Configuration Recommendations and replaced them with proper listing of problematic detections.
- The checks.yml configuration will no longer be existent when the config.yml configuration is used.
- Check with no ability to punish will now show punishments as disable in the inventory menus.
- All players will be treated as testers when the server is identified as a testing environment.
- Awareness notifications will now be delivered to all staff players.
- The XRay check will now notify staff players when it has insufficient data to work with.
- The plugin will now look for surrounding blocks when trying to identify if the player is in a water bubble elevator.
- The plugin will now detect decimals in detection information more accurately.
- Mining notifications will now be logged in the plugin’s files regardless of the check’s or player’s state.
- Added more information to be sent with the use of the customer-support command.
- Check objects will now handle more or less memory depending on their needs.
- Violations will no longer reset every minute for all players but individually.
- Removed the messages.yml option “violations_reset” as it’s no longer needed.
- Rewrote a big part of the Punished Players algorithm, mainly to improve consistency & security.
- Checks can no longer be named with the name of another check.
- The Research Engine will no longer cache for longer than a minute.
- The IrregularMovements check will now require the player to move slightly to be checked for a specific cobweb movement.
- The False Positive Detection will now adjust its decimal points for the MorePackets check also.
Phase 487 - Separate Bedrock/Java Calculations & Velocity Check Improvements
- Bedrock & Java player information will now be analyzed and structured separately.
- The Velocity check’s detection will now detect things more accurately by accounting for online hackers in the data flow.
- The Product Offer feature will no longer be so forceful with notifying staff users.
- The Cross Server Information feature will now work better.
- Improved the stability of the IrregularMovements check when it comes to bedrock players.
- The Bedrock Detections notification will now appear less frequently and when needed.
- Problematic Detections will no longer be included in hacker/suspected player calculations.
- Made the variables and functionalities of the compatibility configuration more universal.
- Players will no longer be able to pickup items when using Spartan’s spectator mode.
- The Player Info inventory menu will no longer use magic color codes when the user has opted out of the ecosystem options.
- Some information from the AntiCheat Updates item will now appear on other inventory menus.
- The File GUI will now appear as a recommendation in the Manage Configuration menu.
- Implemented a new settings.yml option to toggle bedrock detections for those that own it.
- The Suspicious Fights feature will now return more relevant results based on a pre-existing more organized algorithm.
- The HitReach check will now consider the average hit reach of the server’s players for better stability & detectability.
- Improved the tab completion by detecting what to recommend based on the command’s arguments.
- The Wave & Ban features will no longer do transfers from their old configurations due to them having been removed for a long time.
- Rewritten how the raw command feature works with an awareness notification to always support command options.
- Implemented a new awareness notification option to accompany the spectate command.
- The Wave feature’s API method is now a boolean and not a void.
- The Ban feature will now support SQL and also offer a creation date.
- Slightly optimized the item search of all inventory menus with a direct equals method.
- You can now dismiss reports via the inventory menu by clicking on the reported player item.