HomeJavaModsOhTabListPing
OhTabListPing

OhTabListPing

Minecraft Version License GitHub

A high-performance Minecraft server plugin that displays each player's ping (latency) in the tab list with color-coded formatting.

Preview Brownies featured

Features

Real-time Ping Display - Shows ping values next to player names in the tab list
Color-Coded Indicators - Visual feedback for connection quality
In-Game Commands - View and modify configuration without editing files
High Performance - Async updates with intelligent caching
Fully Configurable - Customize format, colors, thresholds, and update intervals
Plugin Compatibility - Works alongside nickname and permission plugins
Optimized Updates - Only updates when ping changes significantly

Requirements

Installation

  1. Download the latest release (OhTabListPing-x.x.xx.jar) from Releases
  2. Place the JAR file in your server's plugins/ folder
  3. Restart your server or load the plugin with a plugin manager
  4. Configure (optional) - Edit plugins/OhTabListPing/config.yml to customize settings
  5. Reload the plugin if you changed the config: /otlp reload

Commands

Manage the plugin configuration in-game with intuitive commands:

Main Command

/ohtablistping [subcommand] [args...]
Aliases: /otlp, /ping-config

Subcommands

View Help

/otlp help

Displays all available commands and usage examples.

List All Config Values

/otlp list

Shows all current configuration values in a formatted display.

Get Specific Value

/otlp get <key>

Examples:
  /otlp get update-interval
  /otlp get debug
  /otlp get color-coding.thresholds.excellent

Set Configuration Value

/otlp set <key> <value>

Examples:
  /otlp set update-interval 60
  /otlp set debug true
  /otlp set ping-format "{player} [{color}{ping}ms]"
  /otlp set color-coding.colors.excellent §a

Reload Configuration

/otlp reload

Reloads config.yml from disk and restarts the update task with new settings.

Permissions

Configuration

The plugin automatically creates a config.yml file on first run. Here's what you can customize:

# Update interval in ticks (20 ticks = 1 second)
update-interval: 40  # Recommended: 40 (2 seconds)

# Minimum ping change to trigger update (avoids unnecessary updates)
update-threshold: 5  # Only update if ping changed by 5+ ms

# Display format
ping-format: "{player} §7[{color}{ping}ms§7]"

# Color coding
color-coding:
  enabled: true
  colors:
    excellent: "§a"  # Green (0-50ms)
    good: "§e"       # Yellow (51-100ms)
    acceptable: "§6" # Gold (101-150ms)
    poor: "§c"       # Red (151+ms)
  thresholds:
    excellent: 50
    good: 100
    acceptable: 150

# Performance settings
async-updates: true  # Run updates asynchronously (recommended)
debug: false         # Enable debug logging

Format Placeholders

Color Codes

Standard Minecraft color codes are supported:

How It Works

  1. Scheduled Updates: The plugin runs a repeating task every update-interval ticks
  2. Ping Retrieval: Gets each player's ping using Player.getPing() API
  3. Smart Caching: Only updates display if ping changed by more than update-threshold
  4. Color Coding: Applies color based on ping quality thresholds
  5. Display Update: Updates the tab list player name with formatted ping

Performance

Benchmarks (tested with 100 players):

Compatibility

Compatible With:

LuckPerms (permission prefixes)
EssentialsX (nicknames)
Vault (permission integration)
Most tab-modifying plugins (soft dependencies)

Server Software:

Spigot 1.21.1 Paper 1.21.1 Purpur 1.21.1 Other Spigot-based forks

Troubleshooting

Ping not showing in tab list

  1. Check that the plugin is enabled: /plugins
  2. Verify no errors in console during plugin startup
  3. Check config.yml is valid YAML syntax
  4. Try reloading the plugin: /reload confirm
  5. Ensure no conflicting plugins are overriding tab list

Display names appear truncated

Plugin conflicts with nickname plugins

Performance issues

Building from Source

# Clone the repository
git clone https://github.com/anaspui/ohtablistping.git
cd ohtablistping

# Build with Maven
mvn clean package

# Output JAR will be in target/OhTabListPing-x.x.x.jar

Development

Project Structure

ohtablistping/
├── src/main/java/com/anaspui/ohtablistping/
│   ├── OhTabListPing.java         # Main plugin class
│   ├── ConfigManager.java         # Configuration handler
│   ├── TabListUpdater.java        # Ping update logic
│   ├── PlayerEventListener.java   # Event handlers
│   └── ConfigCommand.java         # Command executor
├── src/main/resources/
│   ├── plugin.yml                 # Plugin descriptor
│   └── config.yml                 # Default configuration
└── pom.xml                        # Maven build file

Technologies Used

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/xyz-feature)
  3. Commit your changes (git commit -m 'Add xyz feature')
  4. Push to the branch (git push origin feature/xyz-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Credits

Author: anaspui

Built with LOVE! for the Minecraft community


⭐ If you find this plugin useful, please star the repository!

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more