[1.7 - 26.2.*] ⚡EzAfk ⚡ Advanced AFK plugin for your Minecra
3.1.2Smart detection - Vault cost - Custom sound - Admin GUI - PlaceholderAPI - Auto kick and more
3.1.2latest[1.8 - 26.2.*] 3.1.2: Bugfix MiniMessage in placeholdersJul 27, 2026 Fixed · Chat messages (AFK broadcast, return, zone enter/exit, etc.) now support MiniMessage tags (e.g. <red>, <gradient>) in PlaceholderAPI placeholder values in addition to legacy &-color codes, matching the formatting already available for item lore. · Resolved a Paper/Folia smoke-test CI issue where version group keys (e.g. 26.1) were passed directly to fill.papermc.io's build-lookup endpoint, which requires a concrete version (e.g. 26.1.2); resolution now looks up the newest concrete version for a given group automatically. · Fixed the Spigot smoke-test BuildTools step copying the wrong jar filename when --rev resolved to a different concrete version than the literal matrix value (e.g. 26.1 building spigot-26.1.2.jar). Changed · Restructured the project into a multi-module Maven build (ezafk-api, ezafk-core, ezafk-folia, ezafk-paper-26.1, ezafk) to better isolate platform-specific (Paper/Folia) code paths. The published plugin remains a single shaded jar with no change to installation or configuration.3.1.1[1.8 - 26.2.*] 3.1.1: Bugfix PlaceholderAPI placeholdersJul 6, 2026 Modrinth Fixed · AFK broadcast and return messages now resolve PlaceholderAPI placeholders with the AFK player's context, so integrations like LuckPerms prefixes work correctly in messages.yml.3.1.0[1.8 - 26.1.*] 3.1.0: Backwords Compatiblity ; Bypass Whitelist & BlacklistJun 28, 2026 Added · Bypass whitelist and blacklist - Two persistent lists (stored in bypass-lists.yml) let admins fine-tune who bypasses AFK detection: · Whitelist — players that always bypass, regardless of the afk.bypass.enabled config flag or whether they hold the ezafk.bypass permission. · Blacklist - players that are never allowed to bypass, even when they hold ezafk.bypass (useful for ops/admins who want to be subject to AFK detection and zone rewards for testing or fairness). · Blacklist takes precedence over whitelist. · Managed in-game with /afk bypass whitelist <add|remove|list> [player] and /afk bypass blacklist <add|remove|list> [player] (requires ezafk.bypass.manage). · Tab completion is provided for all three argument depths. · Lists are reloaded on /afk reload. · AFK zone entry / exit messages - Players now receive a chat message when they enter or leave an AFK zone (afkzone.enter / afkzone.exit message keys in messages.yml; both support the %zone% placeholder). · AFK zone reward countdowns via EzCountdown - When EzCountdown is installed, players in AFK zones see a live countdown to their next reward (action bar, title, boss bar, scoreboard, or dialog — configurable per zone). The countdown resets automatically after each payout. · Global zone reward defaults - A top-level defaults.reward block in zones.yml lets you configure economy reward amount, interval, and notification settings once for all zones. Individual zones can still override any value. When Vault is present and defaults.reward.enabled: true, all zones automatically grant small economy rewards without per-zone configuration. · Session reward stats per player per zone - EzAfk now tracks how many rewards and how much currency each player has received in each zone for the current server session (resets on restart). Available via PlaceholderAPI: · %ezafk_zone_rewards_grants% - total grants across all zones · %ezafk_zone_rewards_amount% - total currency earned across all zones · %ezafk_zone_reward_<zone>_grants% - grants in a specific zone · %ezafk_zone_reward_<zone>_amount% - currency earned in a specific zone · New notification config fields on zone rewards: reward.notification.enabled, reward.notification.displays, reward.notification.message, reward.notification.duration. Fixed · Duplicate reward: YAML key under afkzone: in messages.yml — the second block (failed was silently overwriting the first (granted.*), making all reward granted messages fall back to their hardcoded defaults. EzCountdown plugin. Detected automatically when present (integration.ezcountdown: auto). · Configurable kick-warning display types — kick.warnings.displays accepts a list of display types: CHAT, TITLE, ACTION_BAR, BOSS_BAR. Multiple types can be active at once (e.g. [ACTION_BAR, BOSS_BAR]). When the list is empty the legacy kick.warnings.mode value is used for backward compatibility. · New message keys kick.warning.action_bar and kick.warning.boss_bar in messages.yml for the new display types. Changed · CompatibilityUtil now handles sendActionBar, showBossBarWarning, and removeWarningBossBar via reflection - safe on servers without the BossBar API (pre-1.9) or without the action-bar method available. · Java 21+ is now required. maven.compiler.release raised from 11 to 21; the plugin JAR targets Java 21 bytecode (class file version 65). Servers running Minecraft 1.21+ already require Java 21, so this is a no-op for all supported server versions. · Minimum supported Minecraft version is now 1.21 (was 1.19). Older versions are no longer tested or guaranteed to work. Removed · Paper 1.20.4 / Java 17 legacy CI smoke test (not needed after dropping Java 17 support).3.0.0[26.1.*] 3.0.0: MC 26.1 ; Java 25 ; JaloquentApr 26, 2026 · Updated plugin to Java 25 · Updated to Paper 26.1 · Integrated Jaloquent for the storage · Added optional Jaloquent logging2.4.1[1.8 - 1.21.*] 2.4.1: Bugfixes & Github Pages documentationApr 25, 2026 · fix: solved issue in WorldGuard integration passing null parameter in https://github.com/ez-plugins/EzAfk/pull/33 · Docs/GitHub pages documentation in https://github.com/ez-plugins/EzAfk/pull/34 · docs: fix table format in https://github.com/ez-plugins/EzAfk/pull/35 · docs: fix format of other tables in https://github.com/ez-plugins/EzAfk/pull/36 · fix: only register economy when enabled in https://github.com/ez-plugins/EzAfk/pull/382.4.0[1.7 - 1.21.*] 2.4.0: Japanese & GermanMar 26, 2026 · Added Japanese translations (ja) · Added German translations (de) · Fixed issue, making it possible to create custom language files and use them2.3.3[1.7 - 1.21.*] 2.3.3: TAB bugfixFeb 18, 2026 · Fixed start up issue in the TAB integration2.3.2[1.7 - 1.21.*] 2.3.2: WorldGuard required bugfixFeb 9, 2026 Feature changes · Fixed bug in WorldGuard being required, error on server startup when WorldGuard not available Code changes · Fixed MockBukkit testing · Added automated test tools · Added feature tests for all commands2.3.1[1.7 - 1.21.*] 2.3.1: New back-soundFeb 8, 2026 Changelog · Added new sound for when player comes back from being AFK. Code (YAML): unafk: sound: enabled : true # Path to the MP3 file to play when returning from AFK (relative to plugin folder) file : "mp3/ezafk-sound.mp3"2.3.0[1.7 - 1.21.*] 2.3.0: AFK zonesJan 29, 2026 · Added AFK zones · Added AFK zone rewards · Added WorldEdit integration for adding AFK zones Code (YAML): regions: - world : world z1 : -877.0 name : zone1 y1 : 62.0 z2 : -844.0 x1 : 100.0 y2 : 69.0 x2 : 140.0 reward: enabled : true interval-seconds : 60 amount : 5.0 type : economy max-stack : 0 limit : 10 limit-cooldown-seconds : 60 · Improved WorldGuard flag registering2.2.3[1.7 - 1.21.*] 2.2.3: Purpur support bugfixJan 24, 2026 · Fixed shading of MiniMessage support (Adventure) · Added PlaceholderAPI support for configurable messages · Fixed Simple Voice Chat shading · Fixed Discord notification formatting2.2.2[1.7 - 1.21.*] 2.2.2: Action GUI improvementsJan 24, 2026 · Added filler options to the gui.yml configuration · Added lore to action options · Moved lore logic to new LoreUtil · Shaded Paper's Adventure in the .jar to prevent issues on old Spigot / Paper servers2.2.1[1.7 - 1.21.*] 2.2.1: Memory improvementJan 21, 2026 · Refactored main EzAfk.java class for easier expansion and maintainability · Unregister listeners on server stop to prevent memory leakage2.2.0[1.7 - 1.21.*] 2.2.0: Simple Voice Chat integrationJan 18, 2026 · Added Simple Voice Chat integration · Added option to configure custom sound that plays when player goes AFK · Created and added custom default sound2.1.3[1.7 - 1.21.*] 2.1.3: Command autocompleteJan 18, 2026 · AddedCommandUtilto refactor all no permission checks to 1 function in this util · Added auto complete to the/afkcommand · Made variable for the top leaderboard amount2.1.2[1.7 - 1.21.*] 2.1.2: BugfixJan 13, 2026 · Fixed compatibility issue triggering console errors when kicking players on Spigot servers2.1.1[1.7 - 1.21.*] 2.1.1: BugfixJan 13, 2026 · Fixed requiring kick to be enabled for sending the kick countdown · Use plugin version from pom.xml in plugin.yml2.1.0Jan 12, 2026 2.0.3[1.7 - 1.21.*] 2.0.3: BugfixJan 7, 2026 · Solved issue reported by @Bob1ngton "player will disconnect join back later and be instantly kicked for being afk" · The player AFK status will now flush on player disconnect2.0.2[1.7 - 1.21.*] 2.0.2: BugfixDec 31, 2025 · Fixed bug in loading new (v1.17+) ItemStack materials2.0.1[1.7 - 1.21.*] 2.0.1: Database improvementsDec 31, 2025 · Added database retry logic · Fixed issue in database reconnect logic2.0.0[1.7 - 1.21.*] 2.0.0: Improved compatibilityDec 24, 2025 · Improved compatibility for Minecraft 1.7 - 1.21.* · Improved compatibility for Spigot · Improved compatibility with EzEconomy1.9.0[1.20.6 - 1.21.*] 1.9.0: Kick warningsDec 22, 2025 Changelog - AFK Kick Warnings Feature Version: 1.9.0 - 2025-12-22 · Added: AFK Kick Warnings · Server owners can now configure multiple warning messages to be sent to players before they are kicked for being AFK. · Warnings can be sent as chat messages, titles, or both. · Configure the warning intervals (e.g., 60s, 30s, 10s before kick) in config.yml. · Customize the warning messages in your messages.yml file. · Warnings are only sent once per interval and reset if the player returns from AFK. Configuration Example: Code (YAML): kick: enabled : true timeout : 600 warnings: enabled : true intervals : [60, 30, 10 ] mode : both1.8.0[1.20.6 - 1.21.*] 1.8.0: AFK time / AFK topOct 27, 2025 · Added AFK time storage · Added /afktime command to check how much time you've been AFK · Added /afktop command to check the top leaderboard of AFK time1.7.1[1.20.6 - 1.21.*] 1.7.1: AFK-bypass detection improvementsOct 27, 2025 · Fixed false positives in waterflow anti AFK-bypass detection · Added rate limiting in error messaging AFK-bypass detection · AFK-bypass detection messaging is now optional and replaceable by reporting to admins · Added attempt information to /afk info <player>1.7.0[1.20.6 - 1.21.*] 1.7.0: Plugin messaging refactor & PlaceholderAPIOct 26, 2025 This update the goal was to improve the multiple language support in the plugin. Russian and Chinese are now also by default supported. On request the PlaceholderAPI placeholders %ezafk_afk_count en %ezafk_active_count% are added to the plugin. Full changelog below. Make sure to update your configuration file(s) · Added default support for Russian language (ru) · Added default support for Chinese language (zh) · Added new permission ezafk.gui.view-active to view the active players in the GUI · Added new permission ezafk.gui.actions for entering the action GUI · Moved AFK broadcast messages from the config to the language file1.6.0[1.20.6 - 1.21.*] 1.6.0: AFK cost & multiple languages supportedOct 25, 2025 Highlights · Economy handling now offers configurable fallbacks and retry behaviour for both entry and recurring AFK charges, reducing unexpected toggles when Vault payments fail. Added · Shipped Russian and Simplified Chinese message bundles so every AFK command response, GUI error, and economy notice is localized out of the box. · AFK admin GUI contains options to see all online players instead of only AFK players for more advanced server administration. Changed · Introduced granular economy settings: require-funds, retry-delay, and kick-on-fail and updated the charging flow to skip optional fees gracefully, queue retries, or revoke AFK status based on those flags. · Automatic AFK toggling now respects temporary economy blocks and clears them once the player interacts again, preventing repeated charge attempts immediately after a failure. · Vault economy integrations are refreshed dynamically when providers register or unregister, keeping AFK costs in sync without a server restart. · /afk command replies and player-action GUI prompts now route through the centralized message manager, ensuring every response respects the selected language file. Upgrade notes · Regenerate your configuration to pick up the new gui.yml, mysql.yml, and language-aware message files, or merge the added sections manually before enabling the update.1.5.0[1.20.6 - 1.21.*] 1.5.0: Tab & display name improvementsOct 24, 2025 · Fixed tab integration · Added optional configurable display name prefix option · Added custom Tab prefix adapter to add [AFK] prefix without Tab integration · Improved default configuration and default messages · Improved MySQL async performance for larger servers1.4.2[1.20.6 - 1.21] 1.4.2: Custom title messagesJul 11, 2024 You can now configure title messages for going in and out of the AFK state. The options for this can be found in the config "afk.title" and "unafk.title". This title will be set for only the player who is going in or out of the AFK state.1.4.1[1.20.6 - 1.21] 1.4.1: AFK for OP playersJul 11, 2024 Because an OP player has the permission "ezafk.bypass" by default it was not possible to let the OP players go in the AFK state. I have added the option "afk.bypass.enabled" in the config. When this value is "false" the AFK state will be enabled for OP players.1.4.0[1.20.6 - 1.21] 1.4.0: GUI & bugfixesJun 30, 2024 · Added GUI to manage AFK players more easily. · Fixed possibility to stack the AFK state for the same player. A player can now only go AFK 1 time.1.3.0[1.20.6 - 1.21] 1.3.0: MySQL, Update message and animationsJun 25, 2024 MySQL The plugin now has a feature to sync the AFK players to a MySQL database. This could be nice for servers that want to show the AFK player status on their custom website. Update message The plugin now checks for a newer version on the website of spigotmc.org on server start up, when a newer version is available the plugin will give you a notice to update. This can be turned off by disabling the spigot integration in the config. Animations Simple optional animations are added to players going AFK and going off the AFK state.1.2.01.2.0 [1.21]: Integration updateJun 23, 2024 TAB integration Integration with the plugin TAB has been added. More information about this can be found on the resource page. WorldGuard flag We've added a WorldGuard flag to create areas that bypass the AFK state. Bugfix config reload The config reload command didn't work how it was suppose to. This has been fixed. Saved new values will reload after using this command now.1.1.01.1 [1.21]: bStats & Anti AFKJun 19, 2024 bStats Anti AFK1.0.0Jun 18, 2024
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta