Advanced Discord integration for Minecraft servers with real-time statistics and notifications.
- Server Information: Server name, version, uptime, IP and port
- Player Statistics: Online players, max players, player list
- Performance Metrics: TPS (Ticks Per Second), memory usage, CPU usage, disk space
- World Statistics: World count, loaded chunks, entities, tile entities, mob counts
- Customizable Updates: Configurable update intervals (default: 60 seconds)
- Player join/quit notifications
- Player death notifications
- Player advancement notifications
- Server start/stop notifications
- TPS Monitoring: Real-time TPS calculation using rolling average
- Message Editing: Updates the same Discord message instead of spamming
- Async Operations: Non-blocking webhook requests for better performance
- Configurable Stats: Enable/disable individual statistics via config
- Customizable Messages: Configure embed title, color, footer, and thumbnail
- Minecraft: 1.21 or higher
- Server Software: Spigot or Paper
- Java: 21 or higher
- Download the latest
DN-Info-0.1.jarfrom the Releases page - Place the JAR file in your server's
pluginsfolder - Start your server (or use
/reload) - Edit
plugins/DN-Info/config.ymland set your Discord webhook URL - Restart your server or use
/dninfo reload
-
Get a Discord Webhook URL:
- Go to your Discord server settings
- Navigate to Integrations → Webhooks
- Create a new webhook or use an existing one
- Copy the webhook URL
-
Configure the Plugin: Open
plugins/DN-Info/config.ymland set:webhook: url: "YOUR_WEBHOOK_URL_HERE" update-interval: 60 # Update interval in seconds
Enable or disable individual statistics in config.yml:
stats:
# Server Information
server-name: true
server-version: true
server-uptime: true
server-ip: true
# Player Statistics
online-players: true
max-players: true
player-list: false # Can be long on large servers
# Performance Statistics
tps: true
memory-used: true
memory-max: true
memory-percentage: true
cpu-usage: true
disk-space: true
# World Statistics
world-count: true
world-names: false
loaded-chunks: true
entities: true
tile-entities: true
mob-count: true
# Other
plugins-count: falseConfigure event notifications in config.yml:
notifications:
player-join:
enabled: false
message: "🎮 **{player}** joined the server! ({online} online)"
color: 0x00FF00
player-quit:
enabled: false
message: "👋 **{player}** left the server! ({online} online)"
color: 0xFF9900
player-death:
enabled: false
message: "💀 **{player}** {death}"
color: 0xFF0000
player-advancement:
enabled: false
message: "🏆 **{player}** made the advancement **{advancement}**!"
color: 0xFFD700
server-start:
enabled: true
message: "🟢 **Server is now online!**"
color: 0x00FF00
server-stop:
enabled: true
message: "🔴 **Server is now offline!**"
color: 0xFF0000Customize the Discord embed appearance:
message:
title: "📊 Server Statistics"
color: 0x00FF00 # Hex color code
footer: "Last updated"
show-timestamp: true
thumbnail: "" # Optional thumbnail image URL| Command | Permission | Description |
|---|---|---|
/dninfo or /dni |
dninfo.info |
Show plugin help or information |
/dninfo update |
dninfo.update |
Manually update Discord stats |
/dninfo reload |
dninfo.reload |
Reload plugin configuration |
/dninfo info |
dninfo.info |
Show plugin information |
dninfo.*- All permissions (default: OP)dninfo.update- Allow manual stats update (default: OP)dninfo.reload- Allow reloading config (default: OP)dninfo.info- View plugin info (default: true)
-
Prerequisites:
- Java 21 or higher
- Maven 3.6 or higher
-
Clone the repository:
git clone https://github.com/devnguyen0111/DN-Info.git cd DN-Info -
Build the plugin:
mvn clean package
-
The compiled JAR will be in the
targetdirectory:target/DN-Info-0.1.jar
-
TPS Monitoring: The plugin monitors server ticks every tick to calculate real-time TPS using a rolling average of the last 100 ticks.
-
Stats Collection: Every update interval, the plugin collects configured statistics on the main thread (synchronous).
-
Discord Updates: Stats are sent to Discord via webhook on an async thread to avoid blocking the server.
-
Message Editing: The plugin edits the same Discord message instead of creating new ones, preventing spam in your Discord channel.
-
Event Notifications: When enabled, player events (join, quit, death, advancements) and server events (start, stop) trigger separate Discord notifications.
- Check webhook URL: Make sure you've set a valid Discord webhook URL in
config.yml - Check console: Look for error messages in your server console
- Check permissions: Ensure the webhook URL is correct and the Discord channel allows webhooks
- Check config.yml: Verify that the specific stat is enabled in the
statssection - Check permissions: Some stats require server access (e.g., disk space may not be available on all servers)
- The TPS monitor uses a rolling average, so it may take a few seconds to stabilize after server startup
- For more accurate TPS, ensure the server has been running for at least 5 seconds
- Issues: GitHub Issues
- Website: https://devnguyen.xyz
This project is licensed under the MIT License - see the LICENSE file for details.
- Author: devnguyen0111
- Built with: Spigot API, Gson
Made with ❤️ for the Minecraft community