Installation
Create an account, add a server, paste the API key and you are collecting metrics within a minute.
PulseNode v5.0.2Paper · Spigot1.21 – 1.21.x
Create an account
Sign up at pulsenode.tech with Discord, Google or Apple.
Billing details (name, address, email) are collected because invoices are a legal requirement in Germany — the free plan asks for them too, so an upgrade never interrupts you later.
Add a server
In the dashboard, Servers → Add server. Give it a name you will recognise in a report (
survival,lobby-1) and copy the API key it generates.The key identifies that one server. Do not reuse it across several servers — the metrics would interleave and every chart would be meaningless.
Drop the jar in
Download
PulseNode.jarfrom the dashboard, put it inplugins/and start the server once so it generates its config.BASH scp PulseNode.jar user@server:/home/mc/server/plugins/Paste the key
plugins/PulseNode/config.yml api-url: "https://pulsenode.tech"api-key: "YOUR-API-KEY-HERE"interval: 30Then reload:
BASH /pn reloadConfirm it is reporting
TEXT It shows the connection state and the last successful post. Within a minute the dashboard should show its first data point.
Connect Discord (optional)
Invite the bot from the dashboard, then pick the channel that should receive reports and alerts. Setup detail on the Discord page.
Install Spark too
Not required, but strongly recommended:
https://spark.lucko.meWithout Spark, per-plugin CPU numbers are estimates. With it, they are measurements — and "which plugin is eating your tick" is the single most useful thing a report can tell you.
track-plugins: trueRequirements
| Server software | Paper 1.21+ (Spigot works, with fewer metrics) |
| Java | 21 |
| Network | Outbound HTTPS to pulsenode.tech |
| Recommended | Spark, for accurate per-plugin CPU |
Firewalls
The plugin makes outbound HTTPS requests only. It opens no ports and accepts no inbound
connections. If your host blocks outbound traffic by default, allow pulsenode.tech on 443.
Several servers
Add each server separately in the dashboard and give each its own API key.
# lobby/plugins/PulseNode/config.ymlapi-key: "key-for-lobby" # survival/plugins/PulseNode/config.ymlapi-key: "key-for-survival"The free plan covers one server, Pro five and Business fifteen.
Upgrading the plugin
Stop the server, replace the jar, start. Your config.yml is not overwritten — new options fall back
to their defaults until you add them. The dashboard shows a badge when a newer plugin version than
the one reporting is available.
Keep the key out of your backups' public copies
The API key authorises writes for that server. Treat config.yml like any other file with a
credential in it — if you publish your server pack or share a config for support, redact it.