BuIld 417 - New Punishment System & Material Library Optimisation
News:
After many years, Spartan’s punishment system is finally changing. Spartan will no longer depend on the user’s configuration (config.yml) to understand when to punish players, but it will instead use its analysed stored data to confidently understand when a player should be punished. This means that you now only need to specify the punishments via the settings.yml configuration, and choose which checks you want to punish for via checks.yml. Due to this being a big change, the plugin will still use its legacy config.yml configuration if it exists, or if both File & SQL logs have been disabled.
Logs:
Player IP addresses via the Spartan Info inventory menu will now only be shown to users with the spartan.manage permission.
Potentially corrected a few movement false positives by increasing the accuracy of the Spartan Player object.
Greatly optimised the Exploits ping-spoof detection with the ability to skip specific tasks.
Slightly optimised the TPS system with less schedulers running.
Noticeably improved all schedulers with faster & more consistent code.
Slightly improved the MorePackets check with better calculations.
Noticeably optimised all the configurations with faster methods.
The Config utilities will now always replace {ping} syntax with 1 when there’s a relation to the Exploits check.
Slightly improved the Hacker Finder & Spartan inventory menu with less item description when not necessary.
Completely rewritten the punishment system and removed the config.yml file, moving existing options to checks.yml & settings.yml.
Slightly improved the Manage Checks inventory menu to make it apparent when a check punishes, and when it doesn’t.
Deprecated 3 Developer API methods due to the changes made to the punishments system.
Greatly improved the Search Engine handler with more capabilities per method.
Corrected a bug where the silent option wouldn’t show up in the config.yml configuration.
Corrected a few caching issues in the Search Engine handler.
Slightly optimised the File Logs feature & Config utilities with less method calls.
Noticeably optimised the Block utilities with significantly faster material libraries & new useful methods.
Slightly improved the Player Reports inventory menu with a better dismiss functionality.
Greatly optimised the Violations feature & NPC handler with less and faster methods.
Implemented a new configuration syntax. {punish:detection}
Implemented identification for Airplane server forks.
Implemented method support for Paper only libraries.
Greatly improved the Spartan Block object & Math utilities with new useful methods.
Slightly optimised the FastBreak check with faster detections.
Corrected several ElytraMove trident unsafe level false positives.
Implemented a secret way to delete a player’s profile when necessary.
Corrected a Permissions system bug where adding permission via the API wouldn't be counted in some cases.