Documentation

Getting Started

Everything you need to set up VitalsMC, connect your servers, and make the most of every feature.


Download the Plugin

Before anything else, you'll need the VitalsMC plugin installed on your Minecraft server. It works with Spigot, Paper, and any Spigot-based server software running Java 17+.

VitalsMC Plugin

v1.0.0 · Spigot / Paper · Java 17+ · MC 1.20+

Download .jar
The plugin is lightweight and fully asynchronous — it has zero impact on your server's TPS.

Quick Start Guide

You can go from zero to fully monitored in under 5 minutes. Here's the whole process, step by step.

1
Create your VitalsMC account

Head over to the sign-up page and create a free account. You'll land on your dashboard right away.

2
Add a server on the dashboard

In your dashboard, go to Servers → Add Server. Give it a name (like "Survival-1") and your server's IP address. You'll get a unique API key — something that looks like vmc_abc123.... Copy that key, you'll need it in the next step.

3
Install the plugin

Download the VitalsMC-1.0.0.jar file and drop it into your server's /plugins folder. Then restart your server (or use a plugin manager to load it).

4
Set your API key

Once the plugin loads, run this command in your server console or as an operator in-game:

/vitalsmc key YOUR_API_KEY

The plugin will verify your key instantly. If everything checks out, you'll see a green confirmation with your server name.

5
Watch your data flow

That's it! Within 30 seconds, you'll see live TPS, CPU, RAM, and player count data on your VitalsMC dashboard. The plugin runs silently in the background — no configuration fiddling required.

Connecting a Server

Each Minecraft server you want to monitor needs its own server entry on VitalsMC. Here's exactly how it works behind the scenes.

How the connection works

When you add a server on the dashboard, VitalsMC generates a unique API key for that server. The plugin on your Minecraft server uses this key to securely send telemetry data (TPS, RAM, CPU, player count) to the VitalsMC API every 30 seconds.

The plugin also sends a heartbeat every 60 seconds so we know your server is still online. If we stop receiving heartbeats, your server's status will automatically switch to "offline" on the dashboard.

The config.yml file

After the plugin loads for the first time, it creates a config.yml file inside /plugins/VitalsMC/. This file only contains one thing:

# VitalsMC Plugin Configuration
# Set your API key from the dashboard
api_key: "vmc_your_key_here"

You can either edit this file directly and restart, or use the in-game command /vitalsmc key <key> to set it live without restarting.

Default settings (built into the plugin)

Everything else is preconfigured with sensible defaults inside the plugin itself, so you never need to touch them:

API URL:            https://vitalsmc.menukaabhiman.dev/api
Telemetry interval: Every 30 seconds
Heartbeat interval: Every 60 seconds
Debug mode:         Off

If you ever need to override these defaults, you can add them to config.yml and the plugin will pick them up. But for 99% of users, the defaults are perfect.

Multiple servers

On the Free plan, you can connect 1 server. On Premium, there's no limit. Each server gets its own API key, its own analytics, and its own entry on the dashboard. Just repeat the process: add a server, copy the key, paste it on the next Minecraft server.

Network Mode

Premium

If you run a BungeeCord, Velocity, or multi-server network, Network Mode lets you group related servers together and view combined stats from a single place.

How to set up a network
1
Create a network on the dashboard

Go to Networks in your dashboard sidebar and create a new network. Give it a name like "My Network" or "Production".

2
Assign servers to the network

When adding or editing a server, you'll now see a Network dropdown. Select your network, and that server becomes a node in the group.

3
View combined analytics

The Networks page shows aggregated stats across all servers in the group — total players, average TPS, combined resource usage. You can still drill into individual servers from there.

Network Mode is available on the Premium plan. Free accounts can still monitor a single server with full features.

All Features

Here's everything VitalsMC tracks and displays for each of your servers.

TPS Monitoring

Tracks your server's ticks-per-second in real time. TPS is the single most important indicator of server health — a perfect 20 TPS means smooth gameplay, anything below 18 means players will start noticing lag. VitalsMC charts TPS over time so you can identify patterns and problematic plugins.

CPU & RAM Usage

See how much processing power and memory your server is consuming in real time. VitalsMC tracks CPU percentage and used heap memory (in MB), helping you plan hardware upgrades or identify memory leaks before they crash your server.

Player Analytics

Track how many players are online at any moment and visualize trends over 24 hours or 30 days. Identify your peak hours, track growth over time, and understand when your community is most active.

License & API Key System

Every server gets a unique API key that authenticates the connection between your Minecraft server and VitalsMC. Keys are verified on every request. If a key is revoked or an account is suspended, the plugin stops sending data immediately.

Interactive Charts

Every metric is visualized with clean, interactive charts. Hover over data points to see exact values. Toggle between time ranges. All powered by Chart.js with a dark theme that matches the dashboard perfectly.

Network Mode

Group multiple servers into a network and view combined statistics. Perfect for BungeeCord and Velocity setups. See total players across your entire infrastructure, average TPS, and which servers are pulling the most resources.

Plugin Commands

All commands require the vitalsmc.admin permission (ops have this by default).

Command Description
/vitalsmc Shows the help menu with all available commands
/vitalsmc key <api_key> Sets a new API key and verifies it immediately. The safest way to configure the plugin — no restart needed
/vitalsmc status Shows current status: license state, server name, TPS, RAM, CPU, and player count
/vitalsmc reload Reloads the config file and re-verifies the license. Use this after manually editing config.yml

Configuration

The plugin is designed to work out of the box with minimal configuration. By default, config.yml only contains your API key:

# VitalsMC Plugin Configuration
# Set your API key from the dashboard
api_key: "vmc_your_key_here"

If you need to customize behavior, you can add any of these optional settings to config.yml:

# Optional overrides (add these only if needed)
api_url: "https://vitalsmc.menukaabhiman.dev/api"
telemetry_interval: 30    # How often to send metrics (seconds, min: 10)
heartbeat_interval: 60    # How often to send heartbeat (seconds, min: 30)
debug: false              # Enable verbose logging
Most users never need to touch these settings. The defaults are optimized for the best balance of real-time data and minimal overhead.

Troubleshooting

Running into issues? Here are the most common problems and how to fix them.

"License verification failed"

This means the plugin couldn't validate your API key with VitalsMC servers. Check that:

  • Your API key is correct — copy it fresh from the dashboard
  • Your Minecraft server has outbound internet access (can reach vitalsmc.menukaabhiman.dev)
  • Your account hasn't been suspended
  • The server's license hasn't been revoked
"Key verification failed: HTTP 301"

This used to happen in older plugin versions due to HTTPS redirects. If you see this, update to the latest plugin version (1.0.0+) which handles redirects automatically.

Server shows "Offline" but it's running

If your server is running but shows as offline on the dashboard, the heartbeat isn't reaching VitalsMC. Common causes:

  • Firewall blocking outbound HTTPS (port 443)
  • Plugin failed to load — check your server's console for errors
  • API key is missing or set to the default placeholder
Data stops updating

If data was flowing and suddenly stops:

  • Check if the plugin is still loaded: /vitalsmc status
  • Look for "[Telemetry] Authentication failed" in your console — this means your key was revoked or account suspended
  • After 3 consecutive failures, the plugin suppresses warnings. Reload with /vitalsmc reload to retry
Enable debug mode

If you need detailed logging, add debug: true to your config.yml and run /vitalsmc reload. The plugin will log every telemetry and heartbeat request to the console. Remember to turn it off when you're done.

Frequently Asked Questions

Not at all. The plugin is fully asynchronous — all network requests happen on separate threads. The only thing that runs on the main thread is reading TPS (which Bukkit already calculates) and getting the online player count. The overhead is effectively zero.

Only server performance metrics: TPS, CPU usage, RAM usage, and online player count. We don't collect player names, IP addresses, chat logs, or any personally identifiable information about your players.

VitalsMC retains 30 days of analytics history for all plans. Data older than 30 days is automatically cleaned up.

The plugin is built for Spigot API 1.20+ and requires Java 17 or higher. It works on Spigot, Paper, Purpur, and any other Spigot-based server software.

Currently, VitalsMC only supports Java Edition servers running Spigot-based software. Bedrock support may come in the future.

The plugin handles connection failures gracefully. After 3 consecutive failures it suppresses warnings to avoid console spam. Data will resume automatically once the connection is restored. No data is queued locally — missed intervals are simply skipped.

Ready to get started?

Create your free account and start monitoring in under 5 minutes.