Path 2 — The companion plugin (for server owners)

Audience: you run a Minecraft server and want your installed plugins kept up to date. No code, no building. You install one plugin and list the others in a config file.

If a term is unfamiliar, see the glossary.

What it is

PluginPulse Companion is a normal plugin you drop into plugins/. It reads a list of your other plugins and where each one publishes updates, then checks (and optionally downloads) updates on their behalf — without those plugins needing to know anything about it.

It never swaps a running jar live: downloaded updates are staged and applied the next time you restart. Safe by default.

1. Download

Get PluginPulseCompanion-<version>.jar from the Releases page.

2. Install

  1. Stop your server (or have it running — either is fine for the first install).
  2. Put the jar in your server's plugins/ folder.
  3. Start (or restart) the server.

On a successful start you'll see in the console:

[PluginPulseCompanion] Enabling PluginPulseCompanion vX.Y.Z
[PluginPulseCompanion] No plugins configured yet — edit config.yml and run /pluginpulse reload.

That last line is expected on a fresh install — you configure it next.

3. Configure

Open plugins/PluginPulseCompanion/config.yml. Here's a complete, worked example for three real-world-shaped plugins:

plugins:
  # Key = the plugin's EXACT name as shown by /plugins.
  EssentialsX:
    modrinth: essentialsx        # its Modrinth slug
    mode: notify                 # tell me on join; don't download

  WorldGuard:
    github: EngineHub/WorldGuard  # its GitHub owner/repo (uses Releases)
    mode: download                # download + stage; applies on restart

  MyPaidPlugin:
    hangar: Author/My-Plugin      # its Hangar project slug
    mode: check-only              # silent; only shown via /pluginpulse

# Sent with API requests. Modrinth's rules require a way to reach you
# (an email or a website/URL).
user-agent-contact: "you@example.com"

# How often to check each plugin, in hours (minimum 1).
check-interval-hours: 6

Every field explained:

FieldMeaning
plugins:the list of plugins to manage; each key is a plugin's exact name
modrinth / github / hangar where that plugin's updates come from — see finding your update source. Use exactly one per plugin
modewhat to do when an update is found (see below)
track(optional, per plugin) follow a -<track> release line, e.g. track: mc26
user-agent-contacthow the update APIs can reach you; required by Modrinth
check-interval-hourshow often to check (minimum 1)

What each mode does — in plain terms:

After editing, either restart or run /pluginpulse reload.

4. Use

The command is /pluginpulse (aliases /ppc, /pulse), permission pluginpulse.admin (ops have it by default).

How staged updates apply: downloading stages the new jar into the server's update folder. Restart the server and the server swaps it in on boot. There's no live jar-swapping — that's deliberate, so nothing changes underneath a running server.

FAQ