
AntiAFK - The Performance AFK Solution
AntiAFK is a next-gen AFK management tool. With behavior analysis, macro detection, and Captcha tests, it blocks the most complex bots and exploits. Its high-performance design provides fair protection without overloading your server.
Список изменений
AntiAFK 1.0.2-b3 - The Learning Update!
I'm excited to announce a major new release for AntiAFK, packed with a groundbreaking bot detection system I've developed, full internationalization support, and significant under-the-hood improvements. With this update, I've transformed AntiAFK from a simple AFK manager into an intelligent, proactive defense system for your server.
✨ Major New Features
🧠 Introducing "Learning Mode": Intelligent Pattern Recognition
I've introduced a powerful Learning Mode in this update, leveraging machine learning principles to detect and counteract sophisticated AFK bots that follow predefined movement patterns or routes. This system goes beyond simple activity checks to analyze how players move over time.
The system works by allowing you to record a sequence of player movements as a "pattern". I then use a highly optimized, asynchronous task I wrote to continuously compare the recent movements of all online players against a library of known bot patterns. A match is determined using the Dynamic Time Warping (DTW) algorithm, which effectively compares two movement sequences even if they are performed at different speeds.
Key Features of Learning Mode:
- Asynchronous Pattern Analysis: I've built a new task (
PatternAnalysisTask) that runs entirely off the main server thread to perform computationally intensive DTW comparisons, ensuring zero server lag. - High-Performance Design: I've implemented object pooling (
Apache Commons Pool2) forMovementVectorobjects to significantly reduce garbage collection overhead, and used a lock-free queue to safely pass data between threads. - Comprehensive Pattern Management: I've added a new command suite,
/antiafk pattern, to give you full control:record: Start, save, or cancel the recording of a player's movements to create a new pattern.list: View all saved patterns.manage: Delete, move, or transform patterns between formats.
- Dual Serialization Formats: Patterns can be saved in human-readable JSON (for debugging) or a highly efficient binary Kryo format for optimal performance.
- Extensive Configuration: I've added a new
learning_modesection inconfig.ymlto allow for fine-tuning of the detection algorithm, including similarity thresholds, task frequency, and security limits.
🌍 Full Internationalization (i18n) Support
AntiAFK now speaks your language! I've completely overhauled the language system to provide a truly multilingual experience.
- All Messages are Translatable: Every single message, including system logs in the console, error messages, and in-game commands, is now managed by the new language system I've implemented.
- New
langSetting: You can now set the global language for the plugin directly inconfig.yml. This controls the language for all console output. - Initial Languages: I'm launching with full support for English and Turkish. Adding new languages in the future is now incredibly simple.
🚀 Improvements & Refactoring
- Codebase Refinements: I have refactored large parts of my code to cache manager instances (like
ConfigManager) within classes instead of callingplugin.get...()repeatedly. This improves the code's readability and maintainability.
🐛 Bug Fixes
- System Language Reload: I fixed a critical bug where the system language for console messages would not update after using the
/antiafk reloadcommand. The reload process is now fully effective.
