Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
The ultimate lightweight monitoring, optimization, and utility solution for your server.
⚡ Overview
StatusPing is a modern utility plugin designed to keep your staff and players updated on the server's health while providing tools to improve performance. Whether it's optimizing server configurations, scheduling automated restarts with beautiful countdowns, monitoring uptime via status page services, or sending performance alerts to Discord, StatusPing handles it all.
🔥 Key Features
- Presets: Includes built-in presets (e.g.,
example-lobby) or create your own custom presets. - Detailed Reports: Generates text files showing exactly which settings differ from the recommended values.
- Safe Application: Automatically backs up your config files before applying any changes.
- Safe Gaurds: Doesn't save certain entries in configs like server_ip etc.. or anything sensitive.
📅 Advanced Restart Planning
Forget basic stop commands. Schedule professional restarts with fully customizable countdowns.
- Visual Countdowns: Supports BossBars, Action Bars, Titles, and Chat notifications.
- Custom Reasons: Tell players why the server is restarting (e.g., "Daily Maintenance" or "Bug Fixes").
- Safety: Automatically kicks players with a custom reason right before the actual shutdown.
- Schedules: Schedule daily restarts directly within the plugin.
💬 Discord Integration
Keep your staff team and players in the loop without being in-game.
- Live Embed Status Panel: Show all your server status' within a simple panel on discord.
- Startup & Shutdown Webhooks: Diverse embed messages when the server opens or closes. (Ability to ignore for quick restarts)
- MSPT/Lag Alerts: Automatically alerts your admin channel if server performance drops, with customizable thresholds and duration checks to prevent spam.
💓 Heartbeat & Uptime
- External Monitoring: Pings a URL (like BetterStack or UptimeRobot) at set intervals to track your uptime percentage accurately.
- In-Game Graph: View a visual history of heartbeat success/failures directly in-game.
📊 Performance Stats
- View real-time TPS, MSPT, and RAM Usage with a single command.
- Includes a "Heartbeat Graph" to see network stability over the last few minutes.
💻 Commands & Permissions
| Command | Usage | Permission | Description |
|---|---|---|---|
| /statusping | /statusping |
statusping.view |
View server uptime, RAM, MSPT, and heartbeat graph. |
| /statusping reload | /statusping reload |
statusping.reload |
Reloads the configuration and messages. |
| /plan-restart | /plan-restart <time> [reason] |
statusping.planrestart |
Schedule a server restart (e.g., /plan-restart 5m Maintenance). |
| /plan-restart cancel | /plan-restart cancel |
statusping.planrestart |
Cancel a currently scheduled restart. |
| (Notification) | N/A | statusping.update |
Receive a notification on join when a new update is available. |
🧩 PlaceholderAPI Support
StatusPing fully supports PlaceholderAPI, allowing you to display stats on scoreboards, tabs, or holograms.
| Placeholder | Description |
|---|---|
%statusping_uptime% |
Formatted server uptime. |
%statusping_tps% |
Current Server TPS. |
%statusping_mspt% |
Average tick time (MSPT). |
%statusping_ram_used% |
RAM used in MB. |
%statusping_ram_total% |
Total allocated RAM in MB. |
%statusping_restarting% |
Returns true if a restart is scheduled, otherwise false. |
%statusping_restart_time% |
The remaining time until restart (e.g., "2m 30s"). |
%statusping_heartbeat_status% |
Current status of the heartbeat task (Success/Failed/Waiting). |
%statusping_last_heartbeat% |
Time elapsed since the last successful heartbeat. |
🛠️ Setting up BetterStack
- Sign up at https://betterstack.com/
- Create a heartbeat

- Give it a name and keep the default values for expecting heartbeat and grace period. (The expected heartbeat should match the
intervalinconfig.yml)
- Copy the url generated, and paste it into the heartbeat section in
config.yml - Restart the server and you should have connected it successfully.
- Create a free status page with your new heartbeat, if you have multiple servers you can do the same for each.
⚙️ Configuration
The plugin is highly configurable. You can toggle every feature, customize every message using MiniMessage (gradients, hover events, etc.), and tweak Discord embeds.
Click to view config.yml
# ---------------------------------------------------------------------------------- #
# StatusPing Configuration
# ---------------------------------------------------------------------------------- #
# --- General Settings ---
# Enable debug mode to see detailed logs in the console.
debug: false
# Checks for updates on startup and notifies admins.
update-checker: true
# --- Integrations ---
integrations:
# Discord Webhook Integration
# Sends automated messages to a Discord channel to announce server status.
discord:
enabled: false
webhook-url: "https://discord.com/api/webhooks/XXXX/YourSecret"
# Customization for the startup embed
startup:
username: "Server Status"
avatar-url: "https://i.imgur.com/GkTenaK.png"
embed:
title: "Server Online"
description: "The server is now marked as online."
# Color supports standard Hex codes (e.g. #64a338)
color: "#64a338"
timestamp: true
footer:
text: "YOUR-SERVER-NAME"
icon-url: ""
# Customization for the shutdown embed
shutdown:
username: "Server Status"
avatar-url: "https://i.imgur.com/GkTenaK.png"
embed:
title: "Server Shutdown"
description: "The server is now marked as offline."
color: "#e03b24"
timestamp: true
footer:
text: "YOUR-SERVER-NAME"
icon-url: ""
fields:
- name: "Shutdown Reason:"
value: "{shutdown_reason}"
inline: false
# Alerts when Server Performance (MSPT) is high
mspt-alert:
enabled: false
webhook-url: "https://discord.com/api/webhooks/YYYY/YourSecret"
threshold: 50.0
duration: 5
username: "Server Performance"
avatar-url: "https://i.imgur.com/GkTenaK.png"
embed:
title: "High MSPT Detected!"
description: "The server's MSPT is currently above the configured threshold of {threshold}."
color: "#ffc400"
timestamp: true
footer:
text: "YOUR-SERVER-NAME"
icon-url: ""
# Server Status Embed
# Posts an embed showing this server's live status, and edits that same message
# on an interval instead of posting a new one each time.
network-status:
enabled: false
webhook-url: "https://discord.com/api/webhooks/ZZZZ/YourSecret"
# How often (in seconds) to refresh and edit the embed. Minimum enforced: 15.
refresh-interval: 60
username: "Server Status"
avatar-url: "https://i.imgur.com/GkTenaK.png"
title: "Server Status"
# Optional text shown above the status line. Leave empty to disable. Supports the same placeholders as the other embeds.
description: ""
# Display name shown for this server in the embed.
server-name: "YOUR-SERVER-NAME"
online-emoji: "🟢"
show-player-counts: true
footer-text: "Last updated"
color: "#64a338"
# Extra custom lines appended to the embed after the status line (e.g. links, notices).
# Leave empty to disable. Supports the same placeholders as the other embeds.
# Markdown links work here, e.g. "[View Status Page](https://status.mythic.gg/)".
extra-lines: []
# - ""
# - "[View Status Page](https://status.mythic.gg/)"
# Heartbeat / Uptime Monitoring (e.g. BetterStack)
heartbeat:
enabled: false
interval: 180
url: "https://uptime.betterstack.com/api/v1/heartbeat/"
# --- Modules ---
# Server Restart Planner (/plan-restart)
restart-system:
# Default reasons for restarts
defaults:
planned-reason: "Server is restarting as scheduled."
unplanned-reason: "Server shutdown initiated unexpectedly."
# Constraints for the /plan-restart command
# Time format examples: "10s" (seconds), "5m" (minutes), "1h" (hours).
constraints:
min-delay: "15s"
max-delay: "10m"
# Commands to execute just before the final 'restart' command
# Use console-level commands (e.g. "save-all", "backup start")
pre-restart-commands:
- "save-all"
# Scheduled Restarts (Automatic)
scheduled-restarts:
enabled: false
# List of times in 24h format (HH:mm).
# Times are matched against the server's JVM timezone (set via -Duser.timezone or system default).
# On most hosted servers this is UTC. Adjust your times accordingly.
times:
- "04:00"
# The countdown duration for the scheduled restart (e.g. "10m", "5m")
# This will use the /plan-restart logic.
restart-delay: "10m"
# Whether to skip sending the Discord shutdown embed for this scheduled restart.
skip-discord-embed: false
# Reason shown in-game and on Discord
reason: "Daily scheduled maintenance."
# Notification settings
notifications:
chat: true
action-bar: true
kick-players: true
# Times (in seconds) to broadcast a warning
intervals:
- 120
- 60
- 30
- 10
- 5
- 4
- 3
- 2
- 1
boss-bar:
enabled: true
title: "<red><bold>Server Restarting in <time></bold></red>"
# Available Colors: PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE
color: "RED"
# Available Overlays: PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12, NOTCHED_20
overlay: "PROGRESS"
titles:
enabled: true
start-at: 10
sounds:
enabled: true
tick: "block.note_block.hat"
restart: "entity.lightning_bolt.thunder"


