Everything you need to set up VitalsMC, connect your servers, and make the most of every feature.
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+.
v1.0.0 · Spigot / Paper · Java 17+ · MC 1.20+
You can go from zero to fully monitored in under 5 minutes. Here's the whole process, step by step.
Head over to the sign-up page and create a free account. You'll land on your dashboard right away.
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.
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).
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.
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.
Each Minecraft server you want to monitor needs its own server entry on VitalsMC. Here's exactly how it works behind the scenes.
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.
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.
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.
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.
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.
Go to Networks in your dashboard sidebar and create a new network. Give it a name like "My Network" or "Production".
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.
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.
Here's everything VitalsMC tracks and displays for each of your servers.
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.
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.
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.
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.
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.
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.
All commands require the vitalsmc.admin permission (ops have this by default).
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
Running into issues? Here are the most common problems and how to fix them.
This means the plugin couldn't validate your API key with VitalsMC servers. Check that:
vitalsmc.menukaabhiman.dev)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.
If your server is running but shows as offline on the dashboard, the heartbeat isn't reaching VitalsMC. Common causes:
If data was flowing and suddenly stops:
/vitalsmc status/vitalsmc reload to retryIf 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.
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.
Create your free account and start monitoring in under 5 minutes.