2.9.5latestAntiAFKPlus 2.9.5Apr 5, 2026 AntiAFKPlus v2.9.5 Compatibility Compatible with Minecraft Java Edition 26.1 and 26.1.1 Changes Fixed a chat-related issue that caused warnings in the console on modern servers AntiAFKPlus v2.9.5 - UPDATE NOTEIMPORTANT NOTICE: This is the last free version of AntiAFKPlus. Due to a lack of support and high maintenance volume, the project will evolve to a Premium model starting with version 3.0. What does this mean? This version (2.9.5) will continue to function, but new features, optimizations, and technical support will be exclusively available in the paid version. There will be no further updates, maintenance, or support for this version. More info: Join our Discord server for details about the v3.0 release. I am deeply grateful to the few people who have always been there supporting us with positive words. Those who wish to continue enjoying new features and ongoing support are welcome in this new phase.
2.9.4AntiAFKPlus 2.9.4Jan 28, 2026 AntiAFKPlus v2.9.4
Release Date: January 2026Summary
This version drastically reduces false positives in pattern detection. Players will no longer be kicked for running in a straight line (forests, tunnels, paths) or moving normally around their bases. ---New Features
Linear Movement Exclusion
Players running in a straight line will no longer be flagged as AFK.modules: pattern-detection: linear-movement-exclusion: true linear-movement-threshold: 0.3 min-direction-variance: 0.15Activity Grace Period
Players who have been recently active (commands, jumping, looking around) get a grace period where pattern detection is temporarily suspended.
---modules: pattern-detection: activity-grace-period-ms: 60000Improved Defaults
| Setting | Previous | New | |---------|----------|-----| |water-circle-radius| 4.0 | 5.0 | |min-samples-for-pattern| 30 | 40 | |confined-space-threshold| 8.0 | 12.0 | |repetitive-movement-threshold| 0.9 | 0.95 | |max-pattern-violations| 5 | 8 | ---Upgrade Guide
Option 1: Regenerate config (Recommended)
Delete yourconfig.ymland restart the server. A new one with all v2.9.4 defaults will be generated.Option 2: Manual Update
Add this to yourmodules.pattern-detectionsection:
---# New in v2.9.4 linear-movement-exclusion: true linear-movement-threshold: 0.3 min-direction-variance: 0.15 activity-grace-period-ms: 60000 # Updated values water-circle-radius: 5.0 min-samples-for-pattern: 40 confined-space-threshold: 12.0 repetitive-movement-threshold: 0.95 max-pattern-violations: 8Bug Fixes
- False positives when running through forests, tunnels, and paths - Incorrect kicks when exploring own bases - Violation accumulation during normal gameplay ---Compatibility
- Minecraft: 1.16 - 1.21.11 - Servers: Bukkit, Spigot, Paper, Purpur, Folia - Java: 17+ - Breaking Changes: None ---API Changes
New methods inConfigManager: -getActivityGracePeriodMs()-getLinearMovementThreshold()-getMinDirectionVariance()-isLinearMovementExclusionEnabled()2.9.3AntiAFKPlus 2.9.3Dec 31, 2025 AntiAFKPlus v2.9.3 — AFK Player Protection System & PlaceholderAPI Fix
Release type: Feature & Bugfix Compatibility: Minecraft 1.16 – 1.21.10 | Java 17+ ---What's New
- Full Protection: AFK players are now completely protected from external interference - PvP Protection: Other players cannot attack or damage AFK players - Movement Protection: Prevents forced movement from knockback, explosions, and player pushing - Damage Immunity: Configurable protection from fall damage, fire, drowning, lava, and other environmental hazards - Interaction Control: Optional blocking of inventory access, block interactions, and command execution while AFK - Smart Detection: Distinguishes between player-initiated movement and forced movement (knockback, pushing)Complete AFK Player Protection System
- Granular Control: Configure when and to whom pattern detection messages are sent - Silent by Default: Players no longer receive spam messages about pattern detections - Admin Alerts: Optional notifications to staff members with specific permission - Three Notification Types: Control messages on detection, violation, and action execution independently - Customizable Permission: Configure which permission is required for admin notifications - Solves Spam Issue: Addresses user reports of repetitive "[AntiAFK] Suspicious movement pattern detected" messagesPattern Detection Notification Control System
- Reduced False Positives: Adjusted detection thresholds based on user feedback - Confined space: 5.0 → 8.0 blocks (allows small builds without triggering) - Repetitive movement: 0.8 → 0.9 similarity (90% required, fewer false positives) - Pattern violations: 3 → 5 (more tolerant before taking action) - Water circle radius: 3.0 → 4.0 blocks (allows small legitimate pools) - Min samples: 20 → 30 (~2.5 minutes of data for reliable detection) - Comprehensive Documentation: Every setting now includes: - Recommended value ranges - Detailed explanations of how it works - Impact on false positives vs detection accuracy - Eliminated Configuration Confusion: Removed duplicateImproved Pattern Detection Defaults & Configuration
pattern-detection-settingssection - Quick Start Guide: Added helpful guide at top of config.yml with common adjustments - Zone Management Safety: Disabled by default to prevent unsafe teleports (was enabled)
- Fixed Custom Placeholders:PlaceholderAPI Custom Messages Fix
placeholder-status-afk,placeholder-status-active, and related placeholders now work correctly - Supports Color Codes: Custom messages with&color codes now display properly in tab lists and other PlaceholderAPI integrations - Enhanced Status Detection: Distinguishes between Manual AFK (/afkcommand) and Auto AFK (automatic detection) ---Configuration
Player Protection Settings
Add to yourconfig.yml:modules: player-protection: enabled: true # Enable the protection system player-protection: # Movement Protection prevent-movement-while-afk: false # Set to true to prevent forced movement movement-restriction-message: true # Damage Protection invulnerability-enabled: true invulnerability-delay-ms: 5000 damage-types-blocked: - "FALL" - "DROWNING" - "FIRE" - "LAVA" prevent-pvp-invulnerability: true # Prevents PvP against AFK players # Interaction Control block-inventory-access: true block-command-execution: false command-whitelist: - "/afk" - "/help" - "/spawn" prevent-block-interaction: truePattern Detection Notification Settings
Add to yourconfig.yml:
New Permission:modules: pattern-detection: enabled: true # ... other pattern detection settings ... # v2.9.3 NEW: Notification control system notifications: notify-player-on-detection: false # Silent by default notify-player-on-violation: false # No spam on violations notify-player-on-action: false # No message when action executed send-to-admins: true # Admins receive alerts admin-notification-permission: "antiafkplus.notify.patterns"antiafkplus.notify.patternsGrant this permission to staff members who should receive pattern detection alerts.Custom PlaceholderAPI Messages
Add to yourmessages.yml:
---messages: # PlaceholderAPI status messages (supports color codes) placeholder-status-afk: "AFK" placeholder-status-active: "ACTIVE" placeholder-status-manual-afk: "MANUAL AFK" placeholder-status-auto-afk: "AUTO AFK" # Protection system messages protection-invulnerable: "&a[AntiAFK] You are now invulnerable while AFK." protection-vulnerable: "&c[AntiAFK] You are no longer invulnerable." protection-movement-blocked: "&e[AntiAFK] Movement blocked while AFK." protection-pvp-blocked: "&c[AntiAFK] You cannot attack AFK players." protection-pvp-protected: "&a[AntiAFK] You are protected from PvP while AFK." protection-inventory-blocked: "&e[AntiAFK] Inventory access blocked while AFK." protection-interaction-blocked: "&e[AntiAFK] Block interaction blocked while AFK." protection-command-blocked: "&e[AntiAFK] Command execution blocked while AFK. Use /afk to return."Use Cases
PvP Servers:Recommended Settings for Different Server Types
Survival/SMP Servers:player-protection: prevent-movement-while-afk: true # Prevent combat advantage abuse prevent-pvp-invulnerability: true # Full PvP protection invulnerability-enabled: true # Environmental protection
Creative/Build Servers:player-protection: prevent-movement-while-afk: false # Allow natural movement prevent-pvp-invulnerability: true # Prevent griefing invulnerability-enabled: true # Protect from mobs/environment
---player-protection: prevent-movement-while-afk: false prevent-pvp-invulnerability: false # PvP usually disabled anyway block-inventory-access: false # Allow building while AFK prevent-block-interaction: falseCompatibility
- Minecraft: 1.16 – 1.21.10 - Platforms: Bukkit, Spigot, Paper, Purpur, Folia (fully compatible) - Java: 17+ - PlaceholderAPI: Enhanced support with custom messages - Fully Backward Compatible: Existing configurations continue to work ---Installation & Upgrade
New Installations
1. DownloadAntiAFKPlus v2.9.32. Place in/pluginsfolder 3. Restart server 4. Configure protection settings inconfig.yml5. Customize messages inmessages.ymlUpgrading from Previous Versions
From v2.9.2 or earlier: 1. Replace JAR file with v2.9.3 2. Manual Config Update Required: Add the newplayer-protectionsection to yourconfig.yml(see configuration above) 3. Manual Messages Update Required: Add the new protection messages to yourmessages.yml(see configuration above) 4. Restart server 5. Verify protection is working with/afkplus status⚠️ Important: This version requires manual configuration updates. The plugin will work without them, but protection features will be disabled. ---Fixed Issues
PlaceholderAPI Problems
-Fixed: Custom
placeholder-status-afk: "&7[AFK]"messages now work correctly -Fixed: Color codes in placeholder messages are properly applied -
Fixed: Tab list and other PlaceholderAPI integrations show custom messages instead of hardcoded "AFK/ACTIVE"
AFK Player Vulnerability
-Fixed: AFK players can no longer be easily removed from AFK state by other players -
Fixed: Prevents griefing through forced movement (pushing, knockback) -
Fixed: Configurable protection from environmental damage -
Fixed: PvP protection prevents combat abuse
Pattern Detection Spam Messages
-Fixed: Players no longer receive repetitive "[AntiAFK] Suspicious mo
2.9.2AntiAFKPlus 2.9.2Dec 19, 2025 AntiAFKPlus v2.9.2 — Dynamic Credit Group Detection & Multi-Server Documentation
Release type: Bugfix & Enhancement Compatibility: Minecraft 1.16 – 1.21.11 | Java 17+ ---What's Fixed
- Dynamic Group Reading: Plugin now automatically detects ALL groups defined inCredit System Group Detection
credit-ratiosandmax-creditsconfig sections - No More Hardcoded Limitations: Previously only supportedadmin,premium, andvipgroups — now supports unlimited custom groups - Custom Group Support: Works with any group name:sponsor,premium+,vip+,owner,member, etc. - Permission Format: Usesantiafkplus.credit.ratio.<groupname>pattern (e.g.,antiafkplus.credit.ratio.sponsor) - Priority System: Implements configurable group priority order (admin > owner > sponsor > premium+ > vip+ > premium > vip > default)
- Added dynamicTechnical Improvements
ConfigurationSectionreading for group detection - Implemented intelligent caching system for group priority calculations - Cache automatically clears on/afkplus reloadfor instant config updates - Enhanced debug logging to show matched groups per player - Improved error handling with fallback to default values ---What's Documented
- Fully Documented: Complete documentation for running multiple servers (Skyblock, Survival, etc.) with separate credit systems sharing one database - Table Prefix Feature: UseMulti-Server Credit System Setup
table-prefixconfig option to separate credit tables per server - Configuration Examples: Step-by-step guides added toconfig.ymlandREADME.md- New Documentation File:MULTI_SERVER_DOCUMENTATION.mdwith complete setup guide, troubleshooting, and security best practices How It Works: - Each server uses a differenttable-prefix(e.g.,skyblock_,survival_) - All servers connect to the same MySQL/SQLite database - Credits are completely independent per server - No code changes needed — configuration only! ---Configuration Example
credit-system: credit-ratios: default: '5:1' vip: '4:1' premium: '3:1' premium+: '2:1' sponsor: '1:30' # ✅ Now works! owner: '1:60' # ✅ Custom groups supported! max-credits: default: 120 vip: 180 premium: 240 sponsor: 500 owner: 1000 # Optional: Customize priority order group-priority-order: - owner - admin - sponsor - premium+ - vip+ - premium - vipMulti-Server Setup Example
Skyblock Server (config.yml):
Survival Server (credit-system: database: enabled: true table-prefix: "skyblock_" # Skyblock tables database: type: "MySQL" mysql: host: "localhost" database: "antiafkplus"config.yml):
Result: Independent credit systems (credit-system: database: enabled: true table-prefix: "survival_" # Survival tables database: type: "MySQL" mysql: host: "localhost" database: "antiafkplus" # Same database!skyblock_credits,survival_credits) in one shared database.Permission Setup (LuckPerms Example)
Note: Plus signs (/lp group sponsor permission set antiafkplus.credit.ratio.sponsor true /lp group premium+ permission set antiafkplus.credit.ratio.premiumplus true+) in group names convert toplusin permission nodes. ---Compatibility
- Minecraft: 1.16 – 1.21.11 - Platforms: Bukkit, Spigot, Paper, Purpur, Folia - Java: 17+ - Permission Plugins: LuckPerms, PermissionsEx, GroupManager, etc. - Fully Backward Compatible: Existing configurations continue to work ---Upgrade Notes
1. Replace the old JAR withAntiAFKPlus v2.9.22. Update LuckPerms (or other permission plugin) with new group permissions: - Format:antiafkplus.credit.ratio.<groupname>3. Optional: Customize group priority order inconfig.yml4. NEW: Checkconfig.ymlfor multi-servertable-prefixexamples if you run multiple servers 5. Reload with/afkplus reloadto apply changes 6. Enabledebug: truein config to verify group detectionExisting
admin,premium, andvipgroups continue to work without changes. New custom groups require permission node setup.Multi-Server Users: If you want to separate credit systems across multiple servers, configure different
---table-prefixvalues in each server'sconfig.yml(see documentation).For Developers
API Version: 2.9.2 (unchanged API, internal improvements only) No breaking changes to the public API. The credit system now uses dynamic group detection internally, improving flexibility for server administrators. --- Version: 2.9.2 Release Date: 19/12/2025 (Documentation Update) Compatibility: Minecraft 1.16 - 1.21.11 Java: 17+2.9.1AntiAFKPlus 2.9.1Nov 17, 2025 AntiAFKPlus v2.9.1 — Pattern Detection Respecting Config
Release type: Bugfix Compatibility: Minecraft 1.16 – 1.21.10 | Java 17+ ---What's Fixed
- Pattern Detection now fully honors config/module toggles; disabling the module orenhanced-detection.pattern-detectionstops analysis and prevents flags/actions. - Detector uses all configured thresholds (interval, sample counts, repetitive/area limits, large-pool and keystroke toggles) instead of hardcoded defaults. -/afkplus reloadcleanly restarts or shuts down pattern analysis to reflect updated settings without a server restart. ---Upgrade Notes
1. Replace the old JAR withAntiAFKPlus v2.9.1. 2. Reload with/afkplus reloador restart. 3. Verify yourmodules.pattern-detectionandpattern-detection-settingsvalues; they are now enforced. --- Version: 2.9.1 Release Date: 15/11/2025 Compatibility: Minecraft 1.16 - 1.21.10 Java: 17+2.9AFK Time WindowsNov 14, 2025 AntiAFKPlus v2.9 — AFK Time Windows
Release type: Feature Update Compatibility: Minecraft 1.16 – 1.21.10 | Java 17+ ---What's New
- Configurable Time Ranges: Define daily hour ranges where AFK actions are paused or modified - Multiple Behaviors: Choose how the plugin handles AFK detection during configured windows: -AFK Time Windows
SKIP_ACTIONS: Suppress all warnings, countdowns, and kicks -MESSAGE_ONLY: Suppress actions and send informational message -EXTEND_THRESHOLD: Delay final action by configurable seconds -DEFAULT: Normal AFK enforcement (used outside windows) - Timezone Support: Use server timezone or specify any IANA timezone ID (e.g.,America/New_York,Europe/London) - Wrap-Around Ranges: Support for overnight ranges (e.g.,22:00-02:00) - Bypass Permission: Staff can ignore windows withantiafkplus.window.bypassConfiguration Example
afk-windows: enabled: true timezone: "SERVER" # or explicit IANA ID like "America/New_York" ranges: - "08:00-12:00" - "20:00-23:00" behavior-inside-window: "SKIP_ACTIONS" behavior-outside-window: "DEFAULT" extend-seconds: 900 # used when behavior is EXTEND_THRESHOLD bypass-permission: "antiafkplus.window.bypass"
- Peak Hours Protection: Disable AFK kicks during busy server hours - Event Periods: Pause AFK enforcement during special events - Off-Hours Flexibility: Allow extended AFK times during late night/early morning - Regional Adaptation: Use different timezones for international serversUse Cases
- TimeWindowService: Minute-level granularity with intelligent caching - AFKManager Integration: Evaluates windows before warnings and final actions - Countdown/Transfer Compatibility: Pipelines and sequences respect window controls - Reload Support:Technical Details
/afkplus reloadupdates window settings without restart
-New Permission
antiafkplus.window.bypass: Allows players to ignore AFK windows and receive normal enforcement - Automatically included inantiafkplus.*wildcard - Useful for staff testing and development accounts ---Compatibility
- Minecraft: 1.16 – 1.21.10 - Platforms: Bukkit, Spigot, Paper, Purpur, Folia - Java: 17+ - Backward Compatible: All existing configurations work without changes ---Upgrade Notes
1. Replace the old JAR withAntiAFKPlus v2.92. Optional: Configureafk-windowssection inconfig.ymlto enable time-based protection 3. Optional: Customize theafk-window-activemessage inmessages.ymlfor localization 4. Update your dependency to2.9if using the API:<dependency> <groupId>com.github.koyere</groupId> <artifactId>AntiAFKPlus</artifactId> <version>2.9</version> <scope>provided</scope> </dependency>No configuration changes are required. The plugin works with your existing setup. AFK windows are disabled by default.
---For Developers
API Version: 2.9 (unchanged from 2.8, no breaking changes) The time window system is internal and transparent to the API. Developers using the API will benefit from the improved flexibility without code changes. --- Version: 2.9 Release Date: 14/11/2025 Compatibility: Minecraft 1.16 - 1.21.10 Java: 17+2.8.2AntiAFKPlus 2.8.2Nov 7, 2025 AntiAFKPlus v2.8.2 (Hotfix Rollup)
Bug Fixes
- Pause-aware scheduling – Introduced a sharedServerStateUtiland wrapped every repeating task scheduled throughPlatformSchedulerso they no longer spin while Paper/Folia is paused or running in auto-pause mode. This eliminates the repeated CPU spikes reported when the server was suspended. - Stable transfer countdowns – Countdown sequences now persist their start timestamp and AFK state. Players that have not produced real activity after the countdown started will no longer flip back to ACTIVE each tick, so the “title disable kick / activity detected loop” is gone and the final action fires exactly once. These fixes are fully backwards compatible with the v2.8 API—only internal scheduling and AFK state transitions were touched.2.8.1AntiAFKPlus 2.8.1Oct 20, 2025 AntiAFKPlus v2.8.1 - Critical Threading Fix
Release Date: 2025-10-20 Type: Bugfix Release Compatibility: Paper 1.21.8, Spigot, Folia, Purpur (MC 1.16-1.21.8) ---Critical Fixes
Pattern Detection Event Threading (Paper 1.21.8 Compatibility)
Issue: Pattern detection events were being fired asynchronously, causingIllegalStateExceptionon Paper 1.21.8 and preventing external API listeners from receiving events. Fixed: -All Bukkit events now fire synchronously on main thread (Paper 1.21.8 requirement) -
Eliminated async entity access (
player.getLocation()now called in main thread) -Converted internal data structures to thread-safe collections (ConcurrentHashMap/ConcurrentLinkedDeque) -
Implemented atomic operations for violation counters to prevent race conditions -
Added proper player disconnect handling during async analysis Impact: - External plugins using
api.registerPatternDetectionListener()now receive events correctly - Zero threading exceptions in Paper 1.21.8+ - Maintained performance (heavy analysis still runs asynchronously) Files Changed: -PatternDetector.java- Complete threading model refactor ---
-Performance
Zero performance regression - Pattern analysis remains asynchronous -
Thread-safe operations - All concurrent access properly synchronized -
Folia compatible - Uses
runTaskForEntityfor player-specific operations ---
Fully compatible with v2.8 API - No breaking changes for developers. Developers can now safely use:API Compatibility
---AntiAFKPlusAPI api = AntiAFKPlusAPI.getInstance(); api.registerPatternDetectionListener(event -> { // This now works correctly on Paper 1.21.8+ System.out.println("Pattern detected: " + event.getPattern().getType()); });
Maven:Installation
Gradle:<dependency> <groupId>com.github.koyere</groupId> <artifactId>AntiAFKPlus</artifactId> <version>2.8.1</version> <scope>provided</scope> </dependency>
---compileOnly 'com.github.koyere:AntiAFKPlus:2.8.1'
None reported in this release. ---Known Issues
- Direct upgrade from v2.8 - No configuration changes required - Drop-in replacement - Simply replace the JAR file and restart - No data migration needed ---Notes for Server Admins
2.8API OverhaulOct 18, 2025 AntiAFKPlus v2.8 — API Overhaul
Release type: Feature & API Upgrade Compatibility: Minecraft 1.16 – 1.21.10 | Java 17+ ---What's New
- Activity, history, and statistics endpoints now return live server data. -Real Data Everywhere
getActivityInfo,getActivityStatistics,getAFKStatistics,getPlayerStatistics, andgetAFKHistoryconsume the internal tracking system (no more placeholders).
- AFK warnings and pattern detections are always delivered to the public API. - Listeners (Reliable Events
registerWarningListener,registerPatternDetectionListener) can modify messages or cancel actions before the plugin kicks/teleports players.
- New helpers (Zone Awareness
isAFKAllowedAt,getAFKZoneAt) resolvezone-managementsettings and WorldGuard regions on the fly. - Worlds can be toggled at runtime withsetAFKDetectionEnabled, persisting the change toconfig.yml.
- README/API docs include updated examples for the new endpoints (activity, zones, stats). - API version bumped toEase of Use
2.8, ready for your integrations. ---Upgrade Notes
1. Replace the old JAR withAntiAFKPlus v2.8. 2. Update your dependency to2.8(Maven/Gradle snippet in the README). 3. Review the new API examples and adjust your listeners if you want to react to warnings/patterns.No configuration changes are required. Everything works with your existing
config.yml/messages.yml.2.7.1AntiAFKPlus 2.7.1Oct 17, 2025 2.7Critical Bug FixesOct 12, 2025 AntiAFKPlus v2.7 — Critical Bug Fixes
Release type: Bug Fix Release Compatibility: Minecraft 1.16 – 1.21.9+ | Java 17+ ---What's Fixed
Problem: AFK zone teleportation worked only 1-2 times, then stopped working. Players would see AFK warnings but never get teleported. Solution: Fixed credit system logic to properly teleport players when credits are exhausted. What this means for you: -Credit System Teleportation (CRITICAL FIX)
AFK zone teleportation now works consistently every time -
Credits consume properly minute-by-minute while AFK -
Players are automatically teleported when credits reach zero -
No more "stuck" players who see warnings but never get moved ---
Problem: Players still received AFK warnings in disabled worlds (likeDisabled Worlds Cleanup (CRITICAL FIX)
luna-afk-1), even when those worlds were added todisabled-worldsconfiguration. Solution: Plugin now completely clears AFK state when players enter disabled worlds. What this means for you: -No more AFK warnings in disabled worlds -
AFK state is automatically cleared when entering disabled worlds -
Works correctly with both
disabled-worldsandenabled-worldsconfiguration -Players can safely AFK in designated worlds without interference ---
Problem: Server logs showedPattern Detection Errors (TECHNICAL FIX)
ConcurrentModificationExceptionerrors during pattern analysis. Solution: Implemented thread-safe pattern detection across all detection methods. What this means for you: -Clean server logs without errors -
Pattern detection (water circles, large pools, confined spaces) works flawlessly -
Better server stability and performance -
No more error spam in console ---
Problem: Credit system could potentially interfere with standard AFK detection even when disabled. Solution: Complete isolation of credit system when disabled in configuration. What this means for you: -Credit System Isolation (ENHANCEMENT)
Zero performance overhead when credit system is disabled -
Standard AFK detection works perfectly without credit system -
Full backwards compatibility with previous configurations -
Better resource efficiency ---
Configuration Examples
Fix #1: Enable AFK Zone Teleportation with Credits
modules: credit-system: enabled: true credit-system: enabled: true afk-zone: enabled: true world: "world" location: "0,100,0"Fix #2: Disable AFK Detection in Specific Worlds
---disabled-worlds: - "luna-afk-1" - "creative-world" - "lobby"Upgrade Instructions
1. Backup your currentconfig.ymlandmessages.yml2. Replace old plugin JAR with AntiAFKPlus v2.7 3. Restart your server 4. Test AFK teleportation and disabled worlds functionality No configuration changes required - all fixes are automatic! ---For Server Owners
Critical Fixes: - AFK zone teleportation now reliable and consistent - Disabled worlds work as expected (no more false warnings) - Eliminated concurrent modification errors in logs - Credit system properly isolated when disabled Performance: - Thread-safe operations throughout pattern detection - Reduced resource usage when credit system is disabled - Cleaner logs and better stability Compatibility: - 100% backwards compatible with v2.6 and v2.5 configurations - No breaking changes - All existing features continue to work normally ---Need Help?
-In-Game:
/afkplus helpand/afkplus status-Discord: https://discord.gg/xKUjn3EJzR -
Bug Reports: GitHub Issues -
Documentation: GitHub Wiki --- Version: 2.7 Release Date: October 12, 2025 Type: Critical Bug Fix Release
2.6Server Transfer & Scripted SequencesSep 18, 2025 AntiAFKPlus v2.6 — Server Transfer & Scripted Sequences
Release type: Feature Release Compatibility: Minecraft 1.16 – 1.21.8+ | Java 17+What’s New
Server Transfer (Bungee/Velocity)
- Native final actionTRANSFER_SERVERto move AFK players to another server via Plugin Messaging. - Global configuration with robust channel handling and optional retry policy. - Zone-based overrides: per-zone transfer withkick-action: TRANSFERandtransfer-server.Countdown & Titles/Sounds
- Optional per-second countdown with Title/Subtitle and Sound before transferring. - Fully Folia-safe with entity-bound scheduling. - Auto-cancels if the player becomes active.Scripted Action Pipeline
- New pipeline engine to run steps in order:TITLE,SUBTITLE,SOUND,MESSAGE,WAIT,TRANSFER. - Configurable inconfig.ymlwith simple DSL-like syntax. - Cancels automatically when leaving AFK.Robustness & Fallbacks
- Auto-registration ofBungeeCordandbungeecord:mainchannels. - Channel selection:auto | bungeecord | namespaced. - Fallback actions:KICK | TELEPORT | NONEwith optional teleport location.How It Works (Action Order)
1) Credit System: If credits exist, the kick event is cancelled and credits are consumed; no transfer runs. 2) Zone Management: Zonekick-actiontakes priority (TELEPORT,TRANSFER, etc.). 3) Global Transfer: If enabled and atarget-serveris configured,TRANSFER_SERVERis used by default. If the player becomes active mid-flow, any countdown/pipeline is cancelled.Configuration
Global settings:
Zone-based transfer example:server-transfer: enabled: true target-server: "lobby" proxy-channel: "auto" # auto | bungeecord | namespaced # Fallbacks fallback-action: "KICK" # KICK | TELEPORT | NONE fallback-teleport-location: "world,0,100,0" # Retry policy retry-attempts: 0 retry-delay-ticks: 10 # Countdown countdown: enabled: false seconds: 10 title: "&cYou are AFK" subtitle: "&eMoving in {seconds}s" sound: enabled: true name: "ENTITY_EXPERIENCE_ORB_PICKUP" volume: 1.0 pitch: 1.0 # Scripted pipeline pipeline: enabled: false actions: - "TITLE: &cYou are AFK" - "SUBTITLE: &eMoving in {seconds}s" - "SOUND: ENTITY_EXPERIENCE_ORB_PICKUP,1.0,1.0" - "WAIT: 1s" - "MESSAGE: &7Transferring..." - "TRANSFER: lobby"zone-management: enabled: true zones: spawn: kick-action: "TRANSFER" transfer-server: "lobby"Messages
Add or customize inmessages.yml:messages: server-transfer: transferring: "&7[AntiAFK+] &aTransferring you to &f{server}&a..." unavailable: "&7[AntiAFK+] &cServer transfer unavailable." failed: "&7[AntiAFK+] &cCould not transfer you."Permissions & Commands
- No new commands or permissions in v2.6. The feature is fully configurable viaconfig.yml.Compatibility & Notes
- BungeeCord and Velocity (Bungee compatibility) via Plugin Messaging. - Folia-safe scheduling through PlatformScheduler; no BukkitScheduler in Folia context. - Fully backward compatible; disabled by default.Migration
- No breaking changes. Existing configurations remain valid. - To enable: setserver-transfer.enabled: trueand configuretarget-server.Testing Checklist
- Validate transfer on Bungee/Velocity with correcttarget-servernames. - Try countdown and pipeline separately. - Confirm fallback behavior (KICK/TELEPORT/NONE) when channels are unavailable. - Verify zone-basedTRANSFERoverrides global behavior.2.5AFK Credit System - Earn Time to Be AwaySep 11, 2025 AntiAFKPlus v2.5 — Release Notes
AFK Credit System - Earn Time to Be Away
New Feature Overview
Revolutionary AFK Credit System: Players can now earn AFK time by being active! For every X minutes of active gameplay, players earn Y minutes of AFK allowance before being teleported to a designated AFK zone.What’s New
1. AFK Credit Earning System - Players earn AFK credits by being actively engaged in gameplay - Configurable credit ratios based on permissions (default: 5 minutes active = 1 minute AFK credit) - Real-time credit accumulation tracking with activity validation - Maximum credit limits to prevent indefinite accumulation 2. Credit-Based AFK Protection - When a player goes AFK, the system first consumes available credits - Credits provide immunity from immediate kick/teleportation - Once credits are exhausted, player is teleported to designated AFK zone - Smooth transition from credit consumption to zone teleportation AFK Credit System - Earn credits while active; consume credits to delay AFK action. - Teleport to AFK zone when credits are exhausted;/afkbackreturns you. WorldGuard Integration - Zones resolved from regions (reflection, no hard dependency). - Teleport priority:zones.afk→zones.spawn→credit-system.afk-zone. AFK Zone Protection - Optional damage/PVP/mob-spawn protections near the AFK zone. SQL History (Optional) - Track earn/consume/admin/decay transactions when SQL is enabled. New Placeholder -%antiafkplus_credits_expire_days%— days until credits expire. ---How It Works
1) Active players earn credits (ratio-based) up to a configurable cap. 2) When AFK is detected, 1 credit/minute is consumed to delay the action. 3) At 0 credits, the player is teleported to the AFK zone;/afkbackreturns them. -onAfkStateChange(MONITOR): stops consumption when returning to ACTIVE. -CreditData(new): - Balance, consumption state, per‑player task, original location (for return).Configuration (added)
modules: credit-system: enabled: false credit-system: enabled: false credit-ratios: default: "5:1" vip: "4:1" premium: "3:1" admin: "2:1" max-credits: default: 120 vip: 180 premium: 240 admin: 480 earning-requirements: minimum-session-minutes: 5 activity-threshold: 0.3 afk-zone: enabled: true world: "world" location: "0,100,0" notifications: credit-earned: true credit-consumed: true credit-exhausted: true return-command: enabled: true cooldown-seconds: 10Messages (added)
messages: credit-system: earned: "&a+ &f{minutes}m &7AFK credits earned! &8(&f{total}m &7total)" consuming-start: "&eUsing AFK credits to delay action..." consumed: "&c- &f{minutes}m &7AFK credits used &8(&f{remaining}m &7left)" exhausted: "&c❌ &7AFK credits exhausted. You will be moved." zone-teleport: "&7[AntiAFK+] &aTeleported to AFK zone." errors: invalid-location: "&7[AntiAFK+] &cInvalid AFK zone location configured."Permissions (declared)
-antiafkplus.credit.earn— earn credits (default true) -antiafkplus.credit.use— use credits to delay AFK action (default true) -antiafkplus.credit.ratio.vip|premium|admin— improved ratios (default false/op) -antiafkplus.credit.admin— full credit administrationExecution Flow
1) Active player earns credits according to ratio and limits. 2) On AFK, if credits available → cancel action and consume 1/min. 3) On activity → stop consumption (no teleport). 4) On exhaustion → teleport to AFK zone (zone‑management if present; fallback tocredit-system.afk-zone).Compatibility & Performance
- Folia‑safe (no BukkitScheduler in Folia context). - No changes to AFKManager loop (event‑driven). - Earning: one global job/min; consumption: per‑player task while AFK with balance. - Respectsantiafkplus.bypass. --- ####Configuration System New Configuration Section (
config.yml):
New Messages (# =============================================================================== # 💰 AFK CREDIT SYSTEM # =============================================================================== credit-system: enabled: true # Credit earning ratios (active_minutes:credit_minutes) # For every X minutes of active play, earn Y minutes of AFK credits credit-ratios: default: "5:1" # Default: 5 minutes active = 1 minute AFK credit vip: "4:1" # VIP players: better ratio premium: "3:1" # Premium: even better ratio admin: "2:1" # Admin: best ratio # Credit limits and management max-credits: default: 120 # Maximum 2 hours of credits vip: 180 # VIP: 3 hours max premium: 240 # Premium: 4 hours max admin: 480 # Admin: 8 hours max # Credit expiration system credit-decay: enabled: true expire-after-days: 7 # Credits expire after 7 days of inactivity warning-days: 2 # Warn players 2 days before expiration cleanup-interval-hours: 24 # Check for expired credits every 24 hours # Activity requirements for earning credits earning-requirements: minimum-session-minutes: 5 # Must play at least 5 minutes to start earning activity-threshold: 0.3 # Minimum activity score to earn credits required-activity-types: 2 # Must perform at least 2 different activity types anti-abuse-checks: true # Enable pattern detection during credit earning # AFK zone configuration afk-zone: enabled: true world: "world" # World for AFK zone location: "0,100,0" # X,Y,Z coordinates # Optional: yaw,pitch - "0,100,0,0,0" # Zone protection settings protection: prevent-damage: true # Protect players from damage in AFK zone prevent-pvp: true # Disable PVP in AFK zone prevent-mob-spawning: true # Prevent hostile mobs allow-chat: true # Allow players to chat while in AFK zone show-zone-info: true # Display zone info on teleport # Return command configuration return-command: enabled: true command-aliases: - "afkback" - "afkreturn" - "returnfromafk" cooldown-seconds: 10 # Cooldown between uses max-distance-from-zone: 50 # Maximum distance from AFK zone to use command validate-original-location: true # Check if original location is still safe # Auto-return options auto-return: on-activity: false # Automatically return when player becomes active activity-delay-seconds: 30 # Delay before auto-return triggers # Database integration database: enabled: false # Enable persistent credit storage table-prefix: "afkplus_" # Database table prefix save-interval-minutes: 5 # How often to save credit data cleanup-old-records-days: 30 # Remove records older than 30 days # Notifications and messages notifications: credit-earned: true # Notify when credits are earned credit-consumed: true # Notify when credits are consumed low-credits-warning: true # Warn when credits are running low low-credits-threshold: 15 # Warn when less than 15 minutes remain zone-teleport: true # Notify on AFK zone teleport successful-return: true # Notify on successful return # Integration settings integration: reward-system-bonus: true # Give credit bonuses through reward system placeholder-updates: true # Enable placeholder updates api-access: true # Allow API access for other plugins event-broadcasting: true # Broadcast credit events for other pluginsmessages.yml): ```yamlCredit system messages
credit-system: earned: "&a+ &f{minutes}m &7AFK credits earned! &8(&f{total}m &7total)" consumed: "&c- &f{minutes}m &2.4.2Complete Folia 1.21.8 CompatibilitySep 10, 2025 AntiAFKPlus v2.4.2 Changelog
Complete Folia 1.21.8 Compatibility
Problem Resolved
Issue: The plugin failed to initialize on Folia 1.21.8 withUnsupportedOperationException(due to BukkitScheduler usage) and reflection errors inrunAtFixedRate. Root Cause: PlatformScheduler was using incorrect method signatures for Folia'sGlobalRegionSchedulerAPI, causing reflection failures during task scheduling. Error Stack:Failed to schedule Folia repeating task: io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler.runAtFixedRate Module system initialization failed: Cannot schedule repeating task on Folia without working schedulerTechnical Solution Implemented
####Correct Folia Method Signatures - Before:
runAtFixedRate(plugin.getClass(), Consumer.class, long.class, long.class, TimeUnit.class)- After:runAtFixedRate(Plugin.class, Consumer.class, long.class, long.class)- Key: noTimeUnitparameter and timing in ticks directly (no ms conversion) ####Stronger Fallback - Always create a
ScheduledExecutorServicefallback before reflection - Graceful degradation if native Folia API fails - Dedicated daemon thread pool for fallback operations ####Additional API Fixes - Adjusted
runDelayedandrunsignatures for single-execution tasks - CorrectedRegionSchedulerandEntitySchedulerparameter types - Consistent use ofConsumer<ScheduledTask>What’s Fixed
-Full Folia 1.21.8 compatibility: initializes and runs correctly -
No
UnsupportedOperationException: removed BukkitScheduler usage in Folia context -Timers and tasks migrated to
PlatformScheduler: pattern analysis, detectors and checks operational -Commands and AFK detection working -
Zero impact on other servers: Paper, Spigot, Bukkit, Purpur unchanged
Compatibility
- Paper/Spigot/Bukkit:unchanged, functionality preserved - Purpur:
compatible via Paper base - Folia 1.21.8+:
complete native support with correct API usage Version: 2.4.2 Release Date: 2025-09-09 Compatibility: Minecraft 1.16 - 1.21.8 Java: 17+
Upgrade Instructions
1. Download AntiAFKPlus v2.4.2 2. Replace the old JAR in/plugins3. Restart the server 4. No configuration changes required 5. On Folia, verify the log: “Folia support initialized successfully”
2.4.1AntiAFKPlus 2.4.1Sep 6, 2025 AntiAFKPlus v2.4.1 Changelog
Critical Bug Fix
Issue Resolved
Problem: Players were being kicked/teleported repeatedly every 5 seconds instead of only once after reaching the AFK timeout threshold. Root Cause: The AFK check task was calling the kick/teleport action repeatedly during each check interval (every 5 seconds) instead of executing it only once per AFK session.Solution Implemented
####Technical Fix - Added action state tracking to prevent repeated kick/teleport actions for the same AFK session - Implemented safety delay to prevent immediate actions upon AFK detection - Added automatic cleanup of action state when players become active again - Maintained full compatibility with all existing features and API ####
Result - Players are now kicked/teleported only once after reaching their AFK timeout - AFK timeout configurations (like
default-afk-time: 600) now work correctly - All other plugin functionality remains unchanged and fully operational --- Version: 2.4.1 Release Date: 2025-09-06 Type: Critical Bug Fix Compatibility: Minecraft 1.16 - 1.21.8 Java: 17+Upgrade Notes
- No configuration changes required - Fully backward compatible - Simply replace the JAR file and restart your server2.4Large AFK Pool Detection EnhancementAug 7, 2025 AntiAFKPlus v2.4 Changelog
Large AFK Pool Detection Enhancement
Problem Identified
Issue: Players were bypassing AFK detection by creating large AFK pools (20x10+ blocks) that circumvented existing detection systems. Root Cause: - Current detection focused on small confined spaces (≤5x5 blocks) and water circles (≤3 block radius) - Large pools allowed players to move naturally via water currents without manual input - System detected movement but couldn't distinguish between manual keystrokes and automatic water current movementSolution Implemented
####New Detection Features 1. Keystroke Timeout Detection - Added detection for players who don't provide manual keyboard input for extended periods - Distinguishes between manual WASD movement and automatic water current movement - Configurable timeout threshold (default: 3 minutes) 2. Large AFK Pool Pattern Recognition - Expanded detection to identify pools between 5x5 and 25x25 blocks - Analyzes movement patterns to identify water current automation - Multi-factor validation prevents false positives 3. Enhanced Movement Analysis - Velocity analysis to detect consistent water current speeds - Direction change analysis to identify artificial vs natural movement - Automatic vs manual movement classification ####
Technical Changes Files Modified: -
MovementListener.java: Added keystroke detection and movement analysis -PatternDetector.java: Implemented large pool detection algorithms -config.yml: Added configuration options for new detection methods New Configuration Options:
####pattern-detection-settings: large-pool-threshold: 25.0 # Maximum area for large AFK pools keystroke-timeout-ms: 180000 # 3 minutes without manual input automatic-movement-velocity-threshold: 0.15 # Water current detectionDetection Logic Large AFK Pool Detection Criteria: 1. Movement area > 5x5 but < 25x25 blocks 2. Player in water for extended periods 3. Movement patterns consistent with water currents 4. No manual keystrokes detected for 3+ minutes Only triggers AFK when ALL criteria are met, ensuring legitimate gameplay is not affected. ####
Benefits - Closes bypass loophole: Large AFK pools (20x10+) are now detected effectively - Maintains accuracy: Multi-factor validation prevents false positives - Configurable: Server owners can adjust thresholds based on their needs - Performance optimized: Minimal impact on server performance - Backward compatible: All existing detection methods remain unchanged --- Version: 2.4 Release Date: 2025-08-07 Compatibility: Minecraft 1.16 - 1.21.8 Java: 17+
2.3World Teleportation FixJul 26, 2025 Update 2.3 World Teleportation Fix AFK players can now teleport instead of being kicked: - Enabled the necessary AFK zone modules - Set your coordinates: world, 167, 104, 206 Safety features included: - Validation of existing world - Fallback to spawn if there are coordinate errors - Protection against teleporting to the void Now checks your spawn zone before the kick >>> Read the action: teleport config >>> Set the event to teleport instead of kicking2.2Bug FixesJul 4, 2025 Bug Fixes - Fixed an error with the reload command. - Fixed an error in the asynchronous data console. - Fixed an identified memory leak issue. It is recommended to update to the latest available version to avoid critical errors. No further updates or fixes are required.2.1Bug Fix Release - Essential ImprovementsJun 30, 2025
Bug Fix Release - Essential Improvements ---AntiAFKPlus v2.1.0
Bug Fixes
- Fixed `/afkplus reload` command - Now properly reloads all configuration files and settings - Improved config validation - Better error handling and validation during reload - Fixed startup messages - Removed color codes from console logs for cleaner outputConfiguration Management
- Added fishing detection - Fishing machines and AFK fishing farms are now properly detected - Enhanced activity tracking - PlayerFishEvent now triggers anti-AFK systems - Better automation detection - Catches fish, items, and reel-in actions count as player activityAFK Detection Improvements
- Version consistency - Updated all version references to 2.1 - Cleaner logging - Console messages no longer show formatting codes - Import optimization - Better code organization and reduced redundancy ---Code Quality
2.0Major Release - Complete Plugin RedesignJun 20, 2025 AntiAFKPlus v2.0 Major Release - Complete Plugin Redesign What's New ️ Modular Architecture Enable/disable features independently - Only use what you need 17 different modules including core detection, pattern analysis, rewards, and integrations Zero performance impact from disabled modules Easy customization for any server type Multi-Platform Support Auto-detection of Folia, Paper, Spigot, Bukkit, and Purpur Automatic fallback ensures compatibility on any server Future-proof design for upcoming Minecraft versions Bedrock Edition Support Automatic detection of Bedrock players via Floodgate/Geyser Touch-friendly interfaces and menu adaptations Optimized experience for mobile and console playersPerformance Improvements Zero-Lag Operation 50% less CPU usage compared to v1.x Adaptive check intervals based on server load Smart caching system reduces database queries by 80% Object pooling minimizes garbage collection impact Real-Time Monitoring Live performance metrics and TPS impact tracking Automatic optimization when server load increases Memory usage limits prevent server strain Per-module performance tracking Advanced Detection Features Pattern Recognition Bot detection for circular movements and confined spaces Autoclick/macro detection with configurable sensitivity AFK pool detection for common farming setups False positive prevention with smart algorithms Behavioral Analysis Activity scoring system tracks 18 different player actions Movement pattern analysis detects repetitive behavior Micro-movement detection catches subtle bot activities Learning algorithms improve detection over time Enhanced Configuration
Simplified Setup Auto-configuration for most servers Configuration validation prevents errors Automatic migration from v1.x settings Hot-reload for all settings without restart ️ Advanced Options Per-world AFK settings with inheritance Permission-based timeouts for different player groups Custom warning intervals and messages Zone-based AFK management with WorldGuard integration Integrations & API New Integrations WorldGuard - Region-based AFK settings Vault - Economy integration for rewards DiscordSRV - Discord notifications for AFK events Enhanced PlaceholderAPI - 15+ new placeholders Professional API 80+ API methods for developers Event system with 12 different event types Async operations for performance-critical applications Thread-safe design for multi-threaded plugins ️ Player Protection Features AFK Player Safety Invulnerability system prevents damage while AFK Movement restriction options to prevent exploitation Interaction blocking to prevent griefing Automatic position restoration when returning Reward System AFK rewards for idle time (configurable) Anti-abuse measures prevent exploitation Economic integration with Vault-compatible plugins Daily limits and playtime requirements Visual & UI Improvements
Enhanced Effects Hologram support (DecentHolograms, HolographicDisplays) Particle effects for AFK players Tab list modifications show AFK status Customizable visual indicators Mobile-Friendly Interface Touch-optimized menus for Bedrock players Simplified layouts for smaller screens Gesture-friendly controls for mobile devices Quality of Life Improvements Better Commands Improved
/afk listwith sorting and filtering Status command shows plugin health and performance Debug commands for troubleshooting Auto-completion for all commands Enhanced Analytics Detailed statistics tracking for administrators Export functionality for data analysis Performance reports for optimization Usage patterns help configure optimal settings Bug Fixes & Stability ️ Major Fixes Memory leak in player tracking system resolved Thread safety issues fixed for high-load servers Edge cases in AFK detection improved Configuration reload now works correctly in all scenarios Security Improvements Input validation prevents configuration exploits Permission checks strengthened across all features API access properly secured for third-party plugins Migration & Compatibility Automatic Migration Seamless upgrade from v1.x with automatic config conversion Backup creation before migration for safety Setting preservation maintains your customizations Rollback option if neededBackward Compatibility API compatibility maintained for existing plugins Command structure unchanged for user familiarity Permission system extended but compatible Installation Notes Installation Steps: Backup your server before upgrading Replace the old JAR with the new v2.0 file Restart your server (reload not supported for major versions) Review new config options in
config.ymlTest AFK detection with different player scenarios Minimum Requirements: Java 17+ (recommended: Java 21) Minecraft 1.16+ (tested up to 1.21.5) 4GB+ RAM for optimal performance with all modules Links & Support Documentation: Updated wiki with all new features Discord Support: https://discord.gg/xKUjn3EJzR Bug Reports: GitHub IssuesRate & Review: Help others discover this plugin! Download AntiAFKPlus v2.0 now and experience the most advanced AFK management system for Minecraft!
1.4Major Refinements & New Features!May 21, 2025 AntiAFKPlus v1.4 - Major Refinements & New Features!
This update brings a host of internal improvements, new features, and enhanced configurability to AntiAFKPlus, making it more stable, user-friendly, and powerful!New Features & Major Improvements
Advanced Autoclicker Detection:
Detection parameters (click window, threshold, minimum idle time) are now fully configurable in config.yml. Define specific actions upon detection: LOG (default), SET_AFK, or KICK the player.Command Tab Completion: Enjoy easier command usage with tab completion for /afk and /afkplus subcommands and arguments.
Enhanced Developer API:
Added getTimeSinceLastActivity(Player) method to the API.Improved reliability and predictability of markAsAFK(Player) and unmarkAFK(Player) API calls.
- Core System Refactoring: Significant internal code restructuring for better stability, performance, and easier future development. - Robust Task & Listener Management: All plugin tasks and event listeners are now managed more effectively, ensuring proper startup and shutdown, preventing potential errors or memory leaks. - Optimized Event Handling: Refined player activity listeners (movement, interaction, etc.) for more accurate AFK state updates. - Clearer Logging: Improved console logging for AFK events and debug information.Enhancements & Optimizations
- Addressed various internal logic issues for more consistent AFK state transitions (manual vs. automatic). - Corrected method calls for PlaceholderAPI integration, ensuring placeholders like %antiafkplus_afktime% work reliably. - Resolved minor bugs in command processing and message display. - Ensured proper cleanup of player-specific data on quit/kick and for internal listeners.Bug Fixes
Configuration & Permissions
Complete Message Customization: Virtually all messages sent to players are now configurable via messages.yml.
New Configuration Options: broadcast-afk-state-changes: Toggle global "Player is now AFK" / "Player is no longer AFK" messages.Full externalization of autoclicker detection settings.
Granular & Documented Permissions:
Introduced more specific permissions (e.g., antiafkplus.reload, antiafkplus.status.check, antiafkplus.bypass.autoclick, antiafkplus.bypass.itempickup). config.yml and plugin.yml now feature improved comments and a comprehensive permission overview for easier server administration.Before Updating:
- Please backup your existing AntiAFKPlus configuration files (config.yml, messages.yml). - Review the updated config.yml and messages.yml generated by v1.4 and transfer your settings. New options have been added! - Thank you for using AntiAFKPlus! We hope you enjoy these improvements.1.3Improvements and intelligent detection systemsMay 13, 2025
This update brings quality-of-life improvements and intelligent detection systems to enhance AFK protection for modern Minecraft servers.AntiAFKPlus v1.3 – Smarter, Stronger, Safer
New Features
Detects suspicious clicking behavior without movement — can optionally trigger AFK handling.Autoclick Detection (Experimental)
Prevents AFK players from picking up items automatically. (Toggle in config.yml)AFK Item Pickup Blocker
Shows how long the player has been inactive in seconds.New Placeholder: %antiafkplus_afktime%
More flexible world control — disable AFK detection in specific worlds (overrides enabled-worlds).disabled-worlds Support
Enable debug: true in config.yml to log warnings, kicks, AFK changes, and detections to console. -Improved Debug System
Configuration Changes -
New config option: block-pickup-while-afk: true -
New config option: autoclick-detection: true -
Messages are fully externalized in messages.yml -
Updated config.yml and messages.yml are auto-generated if missing -
Safe handling of false positives (autoclick and AFK check now respect movement better)
Technical / API
Public API now includes: getLastMovement(Player) for %afktime% placeholder AFK toggle and state read access
Full PlaceholderAPI support with %antiafkplus_status% and %antiafkplus_afktime%
bStats remains fully functional with Plugin ID 25664
This plugin is free and open-source. If you're enjoying it, please consider: -Reminder
Leaving a positive review -
Joining the Support Discord -
Suggesting features for future versions (GUI, MySQL, Holograms...)
Tested on Paper 1.16.5 to 1.21.5
Built with performance and clarity in mind.
1.2Voluntary AFK Limit, Debug Mode & MoreMay 7, 2025
A smarter and more flexible AFK system is here.AntiAFKPlus v1.2 – Update Changelog
-New Features
Voluntary AFK Limit Players can only stay in manual AFK mode (/afk) for a configurable maximum time. -
messages.yml support All messages are now fully customizable in a separate messages.yml file. -
New Command: /afk list Lists all currently AFK players online. Permission: antiafkplus.list. -
New Command: /afk status Shows if you or another player is currently AFK or active. -
Softdependency for PlaceholderAPI Includes placeholder %antiafkplus_status% (returns "AFK" or "ACTIVE"). -
Reload messages.yml with /afkplus reload -
World Filtering Enhanced You can now use disabled-worlds: in addition to enabled-worlds: (If both are set, disabled-worlds: takes priority) -
Debug Mode Enable debug: true in config to log AFK events in console for testing.
Improved internal checks for AFK manual mode expiration. Better separation of config and messages logic. Enhanced permission control and command handling.Improvements
Compatibility
Supports 1.16 – 1.21.5
Works with Paper, Purpur, Spigot
PlaceholderAPI ready
#Metrics via bStats (Plugin ID: 25664)
Need help? Join our support Discord: https://discord.gg/xKUjn3EJzR
Don’t forget to leave a ★ on Spigot if you enjoy the plugin!
1.1Customizability, stability, and player experienceMay 4, 2025 Changelog – AntiAFKPlus v1.1
AntiAFKPlus v1.1 is here with major improvements and new features! This update focuses on customizability, stability, and player experience.
New Features -
messages.yml added – fully customizable and supports colors -
/afk list command to see who is AFK (with configurable permission) -
Configurable limit for voluntary AFK (/afk) with auto-exit -
Developer API included for external plugin integration -
Configurable permission node for /afk list
Improvements -
Broadcasts now correctly show on AFK enter/exit -
Kick messages are now loaded from config properly -
Warnings before kick work at all configured intervals -
Improved AFK detection logic for login edge cases -
Cleaner structure, ready for future premium edition
Fixes -
Fixed players getting stuck in AFK kick loop after reconnect -
Fixed warnings not appearing due to timing errors -
Fixed missing broadcast messages on AFK toggle
How to Update 1. Stop your server 2. Replace your old JAR with the new one 3. Delete messages.yml if it doesn't generate (only once) 4. Restart and reconfigure as needed 5. Use /afkplus reload to reload configs anytime -
Supports Minecraft 1.16 to 1.21.5 -
Lightweight, async-safe, and open source -
Includes bStats (optional and anonymous) -
Ready for integrations via developer API -
PlaceholderAPI support coming soon in next update
1.0AntiAFKPlusApr 29, 2025 AntiAFKPlus Smart and configurable AFK management for your Minecraft server! — What is AntiAFKPlus? AntiAFKPlus is a lightweight yet powerful plugin that automatically kicks inactive players after a configurable period. Warn players before kicking, set per-permission timeouts, let players go AFK manually, and keep your server clean and fair. Perfect for Survival, Factions, Minigames, Hub, or Network servers. — ️ Main Features
Configurable AFK kick time (global and per permission) ️ Bypass permission to exclude staff or VIPs
Multi-warning system before kick (custom intervals like 60s, 30s, 10s) Broadcasts when players enter or leave AFK
Manual AFK toggle with the /afk command ️ Per-world control: enable AFK checks only in selected worlds Fully customizable messages with {player} and {seconds} placeholders Reload config instantly using /afkplus reload Built-in bStats support
Supports Minecraft versions 1.16 to 1.21+
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta