Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
[ā ļø]NOTE! If u have aby issue with the plugin please report to in our discord!
TabPing Plugin Description š® Main Function: The plugin displays player ping ā” in milliseconds next to their nickname on the tab list (when you press Tab key). Additionally, it monitors player activity and marks inactive players as AFK š¤.
How the ping system works: š
Updates every second ā±ļø: The plugin checks each player's ping on the server every 1 second (20 Minecraft ticks) Color coding by speed š:
- Green š¢ < 50ms - excellent ping
- Yellow š” 50-100ms - good ping
- Orange (GOLD) š 100-150ms - medium ping
- Red š“ > 150ms - poor ping
Display format: PlayerName [45ms]
Nickname is white āŖ Ping is colored šØ (depends on value) Brackets are dark gray
How the AFK system works: š“
Activity tracking š:
Plugin saves timestamp of each player's last movement Listens to PlayerMoveEvent - reacts when player moves š
Movement detection šÆ:
Plugin checks if player actually moved (X, Y, Z coordinate change) Just rotating camera š does NOT reset AFK timer Every real movement š¶ resets the timer
AFK checking ā²ļø:
Every second the plugin checks all players If player hasn't moved for 5 minutes ā° (300 seconds) - gets AFK status Format: PlayerName [120ms] [AFK] š¤
Returning from AFK ā :
When AFK player moves - immediately loses AFK marker Ping is automatically updated š
Configuration system (config.yml): āļø You can customize everything: yamlafk: time-seconds: 300 # Change to 60 = 1 minute, 600 = 10 minutes etc. ā±ļø text: "AFK" # Can change to "AWAY" or "INACTIVE" š color: "GRAY" # Color of AFK text šØ
ping: thresholds: good: 50 # Good ping threshold ā medium: 100 # Medium ping threshold ā ļø bad: 150 # Bad ping threshold ā
colors: good: "GREEN" # Color for <50ms š¢ medium: "YELLOW" # Color for 50-100ms š” bad: "GOLD" # Color for 100-150ms š very-bad: "RED" # Color for >150ms š“
Commands: š¬:
- /tabping - Forces immediate update + shows player info in chat š
- /tabping reload - Reloads config.yml without server restart ā»ļø
- /tabping toggle - Disables/enables plugin temporarily š
How the plugin handles AuthSystem: š
When player joins, plugin waits 5 seconds ā³ before setting ping This gives time to log in through AuthSystem š After logging in, ping appears automatically āØ
Technically - what happens behind the scenes: š§
Memory š¾: Plugin stores in HashMaps:
lastActivity - last activity time of each ****player (UUID ā timestamp) afkPlayers - AFK status of each player (UUID ā true/false)
Events š”:
PlayerJoinEvent - initializes player (resets AFK, sets activity time) š PlayerQuitEvent - removes player from memory š PlayerMoveEvent - updates activity time š
Timers ā²ļø (BukkitRunnable):
Timer #1: Every second checks and marks AFK players š“ Timer #2: Every second updates ping for all players ā”
Adventure API šØ: Uses modern text component system for coloring
Example scenarios: š Scenario 1: Normal player ā
Player "Invvl" joins, logs in š ā waits 5s ā³ ā displays Invvl [35ms] (green š¢) Player actively plays š®, ping updates every second
Scenario 2: Player leaves computer š¤
After 5 minutes without movement ā Invvl [40ms] [AFK] (AFK gray) Returns, moves š ā immediately Invvl [42ms] (AFK disappears āØ)
Scenario 3: Bad internet š¶
Ping jumps: 80ms ā Invvl [80ms] (yellow š”) Lagspike š: 200ms ā Invvl [200ms] (red š“) Stabilizes š: 60ms ā Invvl [60ms] (yellow š”)
The plugin is lightweight šŖ¶ (only checks movement and ping), configurable āļø (everything in config.yml) and automatic š¤ (requires no player interaction).
Perfect for: šÆ
ā Survival servers ā PvP servers (important ping info!) ā Minigame servers ā Community servers with AFK management
Enjoy your optimized tab list! šāØ


