COWMODSКаталог модов

OhTabListPing

High-performance Minecraft Tab List Ping Display Plugin compatible with Spigot/Paper 1.21.1+

Автор: anaspui3490обновлён 1 февр. 2026 г.
ДекорОбщениеУтилиты

Описание

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

  • Minecraft Version: 1.21.1+ (Spigot or Paper)
  • Java Version: 21 or higher
  • Server Software: Spigot, Paper, or compatible forks

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

  • ohtablistping.admin - Full admin access (default: op)
  • ohtablistping.reload - Reload configuration only
  • ohtablistping.view - View config values only
  • ohtablistping.set - Modify config values only

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

  • {player} - Player's username
  • {ping} - Current ping value
  • {color} - Automatically determined color code

Color Codes

Standard Minecraft color codes are supported:

  • §a - Green
  • §e - Yellow
  • §6 - Gold
  • §c - Red
  • §7 - Gray
  • §f - White

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

  • Async Execution: Updates run asynchronously to prevent server lag
  • Intelligent Caching: Avoids unnecessary updates using threshold system
  • Optimized String Operations: Pre-formatted color codes and efficient formatting
  • Low Memory Footprint: Minimal cache size (only UUID → ping map)

Benchmarks (tested with 100 players):

  • CPU Impact: < 0.1% per update cycle
  • Memory Usage: ~5KB additional RAM
  • TPS Impact: None (async operations)

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

  • Shorten the ping-format string in config
  • Tab list has character limits, keep format concise

Plugin conflicts with nickname plugins

  • OhTabListPing uses soft dependencies and MONITOR priority
  • It should work alongside most nickname plugins
  • If conflicts occur, try adjusting plugin load order

Performance issues

  • Increase update-interval (default: 40 ticks)
  • Increase update-threshold (default: 5ms)
  • Ensure async-updates is enabled (default: true)
  • Enable debug to check for errors

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

  • Java 21 - Core language
  • Spigot API 1.21.1 - Minecraft server API
  • Maven - Build management
  • Bukkit Scheduler - Async task execution

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!

Галерея

OhTabListPing

Последние версии

Все версии →
release

OhTabListPing 1.0.0

1.0.0
1 февр. 2026 г.321Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Скачать
Что нового
First stable release of a high-performance Minecraft server plugin that displays each player's ping (latency) in the tab list with color-coded formatting.
beta

OhTabListPing 0.0.1

0.0.1
31 янв. 2026 г.28Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Скачать
Что нового
# OhTabListPing [![Minecraft Version](https://img.shields.io/badge/Minecraft-1.21.11-brightgreen.svg)](https://www.spigotmc.org/) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![GitHub](https://img.shields.io/badge/GitHub-anaspui%2Fohtablistping-blue)](https://github.com/anaspui/ohtablistping) A high-performance Minecraft server plugin that displays each player's ping (latency) in the tab list with color-coded formatting. ![Preview](https://cdn.modrinth.com/data/cached_images/74ece34aa37ccbd20a50494d76f8be78fd159295_0.webp) ## Features **Real-time Ping Display** - Shows ping values next to player names in the tab list **Color-Coded Indicators** - Visual feedback for connection quality **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 - **Minecraft Version**: 1.21.11 (Spigot or Paper) - **Java Version**: 21 or higher - **Server Software**: Spigot, Paper, or compatible forks ## Installation 1. **Download** the latest release (`OhTabListPing-1.0.0.jar`) from [Releases](https://github.com/anaspui/ohtablistping/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: `/reload confirm` ## Configuration The plugin automatically creates a `config.yml` file on first run. Here's what you can customize: ```yaml # 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 - `{player}` - Player's username - `{ping}` - Current ping value - `{color}` - Automatically determined color code ### Color Codes Standard Minecraft color codes are supported: - `§a` - Green - `§e` - Yellow - `§6` - Gold - `§c` - Red - `§7` - Gray - `§f` - White ## 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 - **Async Execution**: Updates run asynchronously to prevent server lag - **Intelligent Caching**: Avoids unnecessary updates using threshold system - **Optimized String Operations**: Pre-formatted color codes and efficient formatting - **Low Memory Footprint**: Minimal cache size (only UUID → ping map) **Benchmarks** (tested with 100 players): - CPU Impact: < 0.1% per update cycle - Memory Usage: ~5KB additional RAM - TPS Impact: None (async operations) ## Compatibility ### Compatible With: LuckPerms (permission prefixes) EssentialsX (nicknames) Vault (permission integration) Most tab-modifying plugins (soft dependencies) ### Server Software: Spigot 1.21.11 Paper 1.21.11 Purpur 1.21.11 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 - Shorten the `ping-format` string in config - Tab list has character limits, keep format concise ### Plugin conflicts with nickname plugins - OhTabListPing uses soft dependencies and MONITOR priority - It should work alongside most nickname plugins - If conflicts occur, try adjusting plugin load order ### Performance issues - Increase `update-interval` (default: 40 ticks) - Increase `update-threshold` (default: 5ms) - Ensure `async-updates` is enabled (default: true) - Enable `debug` to check for errors ## Building from Source ```bash # 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 ├── src/main/resources/ │ ├── plugin.yml # Plugin descriptor │ └── config.yml # Default configuration └── pom.xml # Maven build file ``` ### Technologies Used - **Java 21** - Core language - **Spigot API 1.21.1** - Minecraft server API - **Maven** - Build management - **Bukkit Scheduler** - Async task execution ## 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](LICENSE) file for details. ## Credits **Author**: [anaspui](https://github.com/anaspui) Built with LOVE! for the Minecraft community --- **⭐ If you find this plugin useful, please star the repository!**