FAQ
Documents AntiAFKPlus 6.4.0 · mirrored from the product wiki, updated 2026-02-08
Answers to frequently asked questions about AntiAFKPlus.
How do I change the AFK timeout?
The AFK timeout is determined by the last action stage in your config.yml. By default, the last stage is a kick at 300 seconds (5 minutes). To change it, modify the trigger value of your last stage:
actions:
# ...other stages...
- trigger: 600 # 10 minutes
do:
- kick:
message: "&cKicked for being AFK"
How do I exempt staff from AFK kicks?
There are several ways:
- Permission: Give staff the
antiafk.bypasspermission - Per-group: Set
timeout: -1for staff groups inconfig.yml:groups: staff: timeout: -1 - Admin command:
/antiafk exempt <player>
See Exemptions and Per-Group Settings.
Can I disable AFK detection in specific worlds?
Yes. Add the world name to the disabled list:
worlds:
disabled:
- "hub"
- "events"
See Per-World Settings.
Players are being kicked too quickly / too slowly
Adjust your check-interval and action stage trigger values:
- Too quickly: Increase the trigger times in your action stages
- Too slowly: Decrease the
check-interval(minimum:1) and/or trigger times - Not responsive enough: Lower
check-intervalfrom30to10-20
AFK machines / bypass mods are still working
Enable and configure the Anti-Bypass system:
anti-bypass:
pointless-actions:
enabled: true
threshold: 30
detect:
- inventory-spam
- sneak-spam
- jump-spam
Also consider enabling Farm Detection if players are using auto-fishers or mob grinders.
Does the plugin work with Geyser / Bedrock players?
Yes. AntiAFKPlus automatically detects Bedrock players and applies an adjustable sensitivity multiplier for detection thresholds. See Geyser / Floodgate.
Can I send players to another server instead of kicking?
Yes. Enable the BungeeCord transfer feature:
network:
enabled: true
transfer-instead-of-kick:
enabled: true
server: "hub"
See BungeeCord / Velocity.
Does /antiafk reload require a server restart?
No. /antiafk reload reloads all configuration files (config.yml, messages.yml) and reschedules tasks without a restart. Existing player tracking data is preserved.
How do I set up Discord notifications?
- Create a webhook in your Discord server settings
- Add the URL to
config.yml:notifications: discord: enabled: true webhook-url: "https://discord.com/api/webhooks/..." - Reload:
/antiafk reload
See Discord Webhook.
What storage does the plugin use?
By default, SQLite (stored in plugins/AntiAFKPlus/data/antiafkplus.db). For multi-server setups, MySQL is also supported. See AFK Statistics.
Players using /afk are still getting kicked
Make sure afk-command.bypass-kick is set to true:
afk-command:
bypass-kick: true
When true, players who manually toggle AFK with /afk will receive warnings but won't be kicked.
My server has low TPS — is the plugin causing it?
AntiAFKPlus is designed to be lightweight. A few things to check:
- Set
check-intervalto30or higher (default) - Disable detection methods you don't need
- Run
/antiafk debugto see if excessive events are being processed - Check your server's Spark or Timings report to identify the actual source
Does the plugin work with Folia?
Yes. AntiAFKPlus fully supports Folia (regionized multithreading). The plugin automatically detects Folia at runtime and uses region-aware entity scheduling. No configuration changes are needed — just install the jar as usual.
How do I use the Admin GUI?
Run /antiafk without any arguments (requires antiafk.admin permission). This opens an in-game GUI where you can:
- View server AFK overview (online count, AFK count, total stats)
- Browse currently AFK players
- Manage exempt players
- Reload configuration
- Toggle debug mode
Can I teleport AFK players to a specific location?
Yes. Use the teleport action in your warning stages:
- teleport:
world: "world"
x: 0.5
y: 65.0
z: 0.5
If on-return.teleport-back is enabled (default: true), the player is automatically returned to their original location when they become active again.
Can other plugins prevent AFK kicks?
Yes. The PlayerAFKKickEvent is cancellable. Any plugin can listen for this event and cancel it to prevent specific kicks. See Events.