Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
BetterAFK
A stylish AFK plugin for Paper, Purpur and Folia 26.x with holograms above AFK players, auto-AFK, AFK kick and much more. Fully customizable, with gradients and in English and German. Check the gallery.
Preview

Features
/afkto go AFK manually, auto-AFK after a configurable time- Holograms above AFK players (with the AFK time) and a rotating symbol - can start one line higher if you show ranks above the name
- Tab prefix for AFK players
- Kick after a configurable time AFK
- Immortality: AFK players become invulnerable after a delay
- Position lock: AFK players can't be pushed away by players, mobs or water
- Vanish support: no messages or holograms for vanished players
- Optional permission to go AFK
- PlaceholderAPI support (see below)
- Folia support - one jar for Paper, Purpur and Folia
- MiniMessage formatting everywhere (chat, action bar, holograms, tab): gradients, hex colors - classic
&codes still work - English, German, French, Spanish, Polish, Russian, Portuguese, Turkish and Chinese included, add your own language with one file
- Lightweight: display entities instead of armor stands, holograms only move when the player moves, nothing is saved to the world (no leftover holograms after a crash)
- Optional auto update from Modrinth (off by default, checked with SHA-512) - new config options are added automatically, your values are kept
Commands & permissions
/afk- toggle AFK mode/betterafk reload- reloads config and messages, permissionbetterafk.reload(OP by default)betterafk.use- allows players to go AFK (only checked ifafk.require_permission: true)
PlaceholderAPI placeholders
Useful if other plugins change the tab list or the scoreboard - the AFK data can be shown there too. Requires PlaceholderAPI.
%betterafk_afk_status%- the AFK tab prefix if the player is AFK%betterafk_invulnerability_status%- the invulnerable text if the player is invulnerable%betterafk_afk_query%-trueorfalse%betterafk_afk_minutes%- minutes the player is AFK (empty if not AFK)
PlaceholderAPI placeholders can also be used inside all BetterAFK messages.
Requirements
- Paper, Purpur or Folia 26.1 - 26.3
- Java 25
- Optional: PlaceholderAPI
Bug report & support
If you need help or have a bug please contact me via discord (add hassanbwo). I will guarantee quick help - Thanks for supporting :)
config.yml
All times are in seconds.
# ==========================================
# BetterAFK – config.yml
# ==========================================
# Here you can customise all times and settings according to your wishes.
# All messages are in messages_en.yml / messages_de.yml (MiniMessage like <red> or <gradient:...> and & color codes)
# Times are measured in seconds (e.g. 5 minutes = 300 seconds)
# Check the plugin page for more information:
# https://modrinth.com/plugin/betterafk
# ==========================================
# If you need help or have a bug please contact me via discord (add hassanbwo).
# I will guarantee quick help - Thanks for supporting :)
# ==========================================
# Here you can change the time for when a player is automatically set afk (and if they should)
# Also if players should need a permission ("betterafk.use") to go AFK
afk:
auto_timeout_enabled: true
timeout: 180
require_permission: false
# Here you can deactivate the tab prefix (the text is in the messages file)
tab_prefix:
enabled: true
# Here you can deactivate the symbol (the barrier) over the holograms if you don't like it or skip one hologram space
# With "block" you can replace the barrier with any other item (e.g. CLOCK)
# if skip_one_hologram is set to true, the holograms start one hologram place higher (If displaying ranks or hearts above the name this is useful)
holograms:
barrier: true
block: BARRIER
skip_one_hologram: false
# Here you can select if a player should be kicked after a certain time (seconds)
kick:
enabled: true
time: 600
# Here you can select whether you want to block the position of AFK players.
# This prevents them from being pushed away (by players, entities or water for example).
lock_position:
enabled: true
# Here you can choose if a player should be invulnerable and immortal after a certain time (seconds) in afk mode
# hologram: show the extra "invulnerable" line above the player (text: immortality.status in the messages file)
# Note: a value of over 3 seconds is recommended to prevent players from exploiting this feature
immortality:
enabled: true
delay: 10
hologram: true
# Language of all messages: en (English), de (Deutsch), fr (Français), es (Español),
# pl (Polski), ru (Русский), pt (Português), tr (Türkçe) or zh (简体中文)
# The texts are in messages_en.yml / messages_de.yml and support MiniMessage (<red>, <gradient:...>)
# and the classic color codes (&c). You can add your own language, e.g. messages_it.yml -> language: it
# /betterafk reload (permission betterafk.reload) reloads config and messages.
language: en
# Updates from Modrinth: a newer version is always announced in the console.
# enabled: download new versions automatically. Downloads are checked with the SHA-512 checksum from Modrinth
# and installed on the next server restart (plugins/update folder). Only releases for your
# Minecraft version and server software (Paper, Purpur, Folia) are downloaded.
# major_versions: also download big updates (e.g. 2.x -> 3.0) automatically, otherwise they are only announced.
auto_update:
enabled: false
major_versions: false
messages_en.yml
All texts support MiniMessage (<red>, <bold>, <gradient:#ff5555:#ff55ff>Text</gradient>) and the classic & color codes. Leave a text empty ("") to disable it. Translations are included for German, French, Spanish, Polish, Russian, Portuguese, Turkish and Chinese - switch with language: de, fr, es, pl, ru, pt, tr or zh in the config.
# ==========================================
# BetterAFK - messages (English)
# ==========================================
# Formatting: MiniMessage - https://docs.advntr.dev/minimessage/format
# Colors: <red>, <gray>, <#ff8800>
# Styles: <bold>, <italic>, <underlined>
# Gradients: <gradient:#ff5555:#ff55ff>Text</gradient>
# Rainbow: <rainbow>Text</rainbow>
# Classic color codes like &c, &l or &#ff8800 still work as well.
#
# Placeholders: %player% (name of the AFK player), %time% (minutes AFK), %unit% (minute/minutes)
# PlaceholderAPI placeholders can be used too (if PlaceholderAPI is installed).
#
# Select the language in config.yml (language: en). You can also create your own
# file, e.g. messages_fr.yml, and set "language: fr". Missing texts fall back to English.
# Leave a message empty ("") to disable it.
# ==========================================
afk:
# Action bar when a player goes AFK
action_bar: "<gray>You are now <red><bold>AFK</bold></red><gray>!"
# Chat message for everyone
chat_start: "<light_purple>%player%</light_purple> <gray>is now <red><bold>AFK</bold></red><gray>."
chat_end: "<light_purple>%player%</light_purple> <gray>is no longer <red><bold>AFK</bold></red> <gray>after <red><bold>%time%</bold></red> <gray>%unit%."
# Only for the player himself if he is vanished (no chat message, no holograms)
vanished_start: "<gray>You are now <red><bold>AFK</bold></red><gray>. Since you're vanished, no messages or holograms will be displayed."
vanished_end: "<gray>You were <red><bold>AFK</bold></red> <gray>for <red><bold>%time%</bold></red> <gray>%unit%."
# afk.require_permission in config.yml
no_permission: "<gray>You have no permission to go <red>AFK</red><gray>."
# Text above the AFK player (line1 is on top)
hologram:
line1: "<red><bold>AFK</bold></red>"
line2: "<gray>since %time% %unit%"
# Appended to the name in the tab list (tab_prefix.enabled in config.yml)
tab_prefix: " <red><bold>AFK</bold></red>"
units:
singular: "minute"
plural: "minutes"
kick:
message: "<gray>You were <red>kicked</red> <gray>for being AFK too long!"
lock_position:
message: "<gray>You can no longer move because you have been marked as <red><bold>AFK</bold></red><gray>. Type <red>/afk</red> <gray>to move again."
action_bar: "<gray>You cannot move <red><bold>while AFK</bold></red><gray>!"
immortality:
message: "<gray>You are now <light_purple>invulnerable</light_purple> <gray>due to AFK mode!"
# Extra hologram line while invulnerable (immortality.hologram in config.yml), "" = no line
status: "<green>invulnerable"
commands:
reload_success: "<gradient:#ff5555:#ff55ff><bold>BetterAFK</bold></gradient> <gray>configuration reloaded!"
no_permission: "<red>You don't have permission to use this command."
players_only: "<red>This command can only be used by players."
More plugins by BetterPlugins
All for Paper, Purpur and Folia 26.x, in English, German, French, Spanish, Polish, Russian, Portuguese, Turkish and Chinese - see the whole BetterPlugins collection:
![]() |
BetterTimber - Fell whole trees with one hit - protection-plugin safe |
![]() |
BannerForLabyMod - Custom image banner above the tab list for LabyMod |
![]() |
BetterCarry - Carry and throw players, mobs and chests |
![]() |
BetterTimberEnchantment - Timber enchantment for BetterTimber - enchanting table, villagers, loot |
![]() |
BetterRIP - Graves that keep your items in their slots and your experience |
![]() |
BetterSort - Sort chests with one click, hotbar refill and quick stack |
![]() |
BetterWaystones - Build, discover and travel between waystones - own 3D model, no resource pack |









