Language

StatusPing

StatusPing

Modrinth

StatusPing is a lightweight server utility for monitoring uptime, scheduling automated restarts, and sending Discord alerts to keep staff and players informed.

348 downloads 6 followers updated 3mo ago
latest v3.0.0 Modrinth
Paper Purpur Velocity 1.21 – 1.21.11 ManagementTechnologyUtility

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

🚀 Server Optimizer (New!)

Stop guessing which settings cause lag. The new optimizer module scans your configuration files (server.properties, bukkit.yml, spigot.yml, paper-global.yml, etc.) and compares them against optimized presets.

  • 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.

  • 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. |
| /optimize | /optimize <preset> [apply] | statusping.optimize | Generate an optimization report or apply a preset. |
| /optimize save | /optimize save preset <name> | statusping.optimize | Save your current server settings as a new preset. |
| (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

  1. Sign up at https://betterstack.com/
  2. Create a heartbeat
    Creating Heartbeat
  3. Give it a name and keep the default values for expecting heartbeat and grace period. (The expected heartbeat should match the interval in config.yml)
    Heartbeat Intervals
  4. Copy the url generated, and paste it into the heartbeat section in config.yml
  5. Restart the server and you should have connected it successfully.
  6. 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: ""

  # 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"

  # 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"

Versions

Beta
3.0.0
paper, purpur, velocity · 1.21, 1.21.1, 1.21.2 · 3mo ago
**PLEASE NOTE THIS IS A BETA RELEASE, REPORT ALL BUGS** [https://discord.gg/YuvwSWUUY3](https://discord.gg/YuvwSWUUY3) - Added support for velocity. Limited…
46
Release
2.1.0
paper, purpur · 1.21, 1.21.1, 1.21.2 · 3mo ago
- Fixed graph symbol in **/statusping** command. - Added boot time in **/statusping** command, shows the time it took for the server to restart. (compares…
40
Release
2.0.3
paper, purpur · 1.21, 1.21.1, 1.21.2 · 4mo ago
- Fixed error with Update notifier - Added support to change the language for time units, add this to your existing messages.yml ``` # Time Units time-units: …
25
Release
2.0.2
paper, purpur · 1.21, 1.21.1, 1.21.2 · 4mo ago
- Updated to use 1.21.11 paper dependency. - Fixed issues with config not working for certain things.
13
Release
2.0.1
paper, purpur · 1.21, 1.21.1, 1.21.2 · 5mo ago
- Fixed a bug with File Updater (config updater) updating non default values. We highly recommend saving your current config.yml and regenerating the files.
49
Release
2.0.0
paper, purpur · 1.21, 1.21.1, 1.21.2 · 5mo ago
**MAJOR VERSION, BIG NEW FEATURES:** New Server Optimizer System (/optimize): - Added a powerful new module to scan and optimize your server's configuration…
16
Release
1.1.6
paper, purpur · 1.21, 1.21.1, 1.21.2 · 6mo ago
- Heavily optismised metrics - Fixed code error with [bstats](https://bstats.org/plugin/bukkit/StatusPing/27462) metrics
22
Release
1.1.5
paper, purpur · 1.21, 1.21.1, 1.21.2 · 6mo ago
- Code cleanup - Optimisations to bossbar feature - Updated metrics - Fixed tiny messages.yml error
9
Release
1.1.4
paper, purpur · 1.21, 1.21.1, 1.21.2 · 6mo ago
**Please renegerate the config.yml and messages.yml to see new changes.** - New feature, placeholders for PlaceholderAPI **Here's the list of available…
18
Release
1.0.4
paper, purpur · 1.21, 1.21.1, 1.21.2 · 8mo ago
- Added a new disord webhook alert for MSPT drops, help alert staff about lag. ![MSPT…
34
Release
1.0.3
paper, purpur · 1.21, 1.21.1, 1.21.2 · 8mo ago
- All messages have been moved out of the config.yml and into a new, dedicated messages.yml file. - Reduced file size
17
Release
1.0.2
paper, purpur · 1.21, 1.21.1, 1.21.2 · 8mo ago
- Fixed color codes not correctly passing to discord embed reason placeholder.
15

Comments 0

No comments yet. Be the first to share your thoughts.