Anti AFK + 2.1
Advanced AFK detection, challenge system & macro protection

Precise AFK Detection, Challenge Verification and Anti-Farming. Built for servers that take quality seriously.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5 Challenge Types ◆ Farm + Macro Detection ◆ BungeeCord ◆ Discord Webhooks ◆ Paper 1.21+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What AntiAFK Solves
AFK management on most servers is a timer and a kick command. Players idle out, log straight back in, or farm overnight with macros and scripts. There is no verification, no escalation, and no way to tell a genuinely idle player from a bot.
AntiAFK fixes that. Inactivity is measured precisely across position, yaw and pitch. Suspicious players are verified with a challenge instead of an instant kick. Repetitive farming and macro movement are detected and stopped. Every punishment is a configurable step in a pipeline you control. These are not stat tweaks. They are a complete anti-AFK system.
Core Systems
◆ Detection Engine
- Position, yaw and pitch tracked together in one lightweight tick loop
- Per-world inactivity thresholds and disabled worlds, plus safe zones for legit farms
- Join grace period, self-AFK toggle, AFK room and automatic teleport-back on return
◆ Challenge System
- Five types: GUI, CHAT, MATH, SHIFT and CAPTCHA
- CAPTCHA asks you to click the item that matches the question; wrong answers retry until timeout
- Any challenge can be triggered by command, ready for external anti-cheat integrations such as GrimAC
◆ Anti-Farming and Anti-Macro
- FarmDetector flags repetitive mining (cobblestone generators) and fishing macros
- Three match modes: POSITION, MATERIAL or ANY for rotating skyblock ore generators
- MacroDetector analyses movement history to catch repeating patterns
◆ Punishment Pipeline
- Sequential, threshold-based actions: MESSAGE, SOUND, TITLE, CHALLENGE, BOSSBAR, KICK, BUNGEE_SEND, COMMAND, FINE
- Vault economy fines and console command triggers
◆ Admin GUI
- Paginated panel with live sorting by name or AFK time
- Filters for all, AFK and exempt players, with auto-refresh
- Force AFK, toggle exemption and check status without commands
◆ Data and Statistics
- Persistent per-player total AFK time, kick count, challenge failures, last seen
- CSV or JSON export via /antiafk export, with configurable auto-save
◆ Integrations
- PlaceholderAPI placeholders and Vault economy
- BungeeCord with return-on-activity, and Discord webhooks for six event types
◆ Localization
- English and Polish built in, every message lives in an external locale file
- No hardcoded strings, no recompilation needed to change any message
How AntiAFK Compares
| Feature | AntiAFK | Typical AFK Plugin |
| Verification | 5 challenge types incl. CAPTCHA | None or a generic click |
| Farming detection | Position, material or any-block modes | Not present |
| Macro detection | Movement pattern engine | Not present |
| Punishments | Sequential configurable pipeline | Kick only |
| Admin GUI | Paginated, sortable, filterable | Not present |
| Network support | BungeeCord with return-on-activity | Rare, usually broken |
| Statistics | Persistent with CSV/JSON export | Not present |
Who This Is For
- Economy and survival servers Stop AFK farming from inflating your economy and overloading farm chunks.
- Skyblock servers Catch generator and fishing macros with match modes built for rotating ores.
- Networks and BungeeCord setups Route idle players to a dedicated server and bring them back automatically.
- Competitive and minigame servers Remove AFK players from queues and active sessions automatically.
- 24/7 servers Overnight idlers, farm bots and macro users are handled without babysitting.
Technical Specs
| Server | Paper / Purpur 1.21+, Java 21 |
| Dependencies | None required. PlaceholderAPI and Vault optional. |
| Storage | YAML flat-file player data |
| Languages | en_US, pl_PL |
| Notifications | Discord webhooks, no bot required |
◆ Commands
| Command | Description | Permission |
| /afk [reason] | Toggle your own AFK status | antiafk.self |
| /antiafk list | List currently AFK players | antiafk.use |
| /antiafk check | View a player's AFK status | antiafk.check |
| /antiafk setafk | Force a player into AFK mode | antiafk.setafk |
| /antiafk exempt | Toggle AFK exemption for a player | antiafk.exempt |
| /antiafk stats [player] | View AFK statistics | antiafk.stats / antiafk.stats.others |
| /antiafk export | Export statistics to CSV or JSON | antiafk.export |
| /antiafk challenge [type] | Send a challenge (e.g. CAPTCHA) to a player | antiafk.challenge |
| /antiafk gui | Open the admin panel | antiafk.gui |
| /antiafk reload | Reload configuration and locale files | antiafk.reload |
◆ Permissions
| Permission | Description | Default |
| antiafk.self | Toggle your own AFK status | true |
| antiafk.stats | View your own statistics | true |
| antiafk.use | Basic access to AntiAFK commands | op |
| antiafk.check | Check the AFK status of a player | op |
| antiafk.setafk | Force a player into AFK state | op |
| antiafk.exempt | Exempt a player from AFK checks | op |
| antiafk.gui | Open the admin GUI | op |
| antiafk.export | Export statistics to a file | op |
| antiafk.challenge | Send an AFK challenge to a player | op |
| antiafk.reload | Reload configuration without restart | op |
| antiafk.bypass.macro | Bypass macro detection | op |
Get AntiAFK
Your players are already idling, farming and running macros.
Give them a reason to stay active.
Precise detection. Real verification. Full control.
Download and have it running in under 5 minutes.
Questions? Ask in our Discord. Feature requests are reviewed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Statistics
Views
Purchases
Downloads
File size
Published
Updated
Info
Share & Earn
Share and earn part of the profits, an estimated €0.4 per product sale.