PluginPulse

PluginPulse

Add auto-updating to every plugin

140 downloads 2 followers

PluginPulse


Your plugins stay up to date, and you decide how far it goes.

Most servers find out a plugin is outdated the hard way,
from a crash, a security warning, or a player telling them.

Discord Ko-Fi

PluginPulse checks where your plugins publish their updates,
tells you when one is out, and can install it for you.

Without PluginPulse With PluginPulse
Visit every plugin page to see what's new One list shows what's behind
Download, rename and copy jars by hand One command, or fully automatic
A bad download breaks your server Every download is checked before it's used
A broken update means hunting for the old jar /pluginpulse restore puts it back
The wrong jar for your Minecraft version The one made for your server, picked for you

Setup
  1. Drop the jar into plugins/ and start the server
  2. List the plugins you want kept up to date in plugins/PluginPulseCompanion/config.yml
  3. Run /pluginpulse reload
plugins:
  EssentialsX:              # the name /plugins shows
    modrinth: essentialsx   # where its updates come from
    mode: notify            # tell me, download nothing

The plugins you list don't need to know PluginPulse exists.


What it does

Finds updates

  • Checks Modrinth, GitHub, Hangar, a Jenkins build server, or a web address you host
  • Give a plugin more than one place to check, in the order you choose
  • When a plugin makes separate downloads for 1.21 and 26.x, you get the one for your server

Tells you

  • A notice in the console and in game for anyone with pluginpulse.admin
  • Click the notice to open the download page, or run /pluginpulse download to install it

Installs, only if you let it

  • Each plugin gets its own mode, from "just tell me" to fully automatic
  • Every download is checked against the checksum the author published. A damaged or tampered file is never used
  • The old jar is backed up first, and the update is applied on your next restart

Waits out brand-new releases, if you like

  • Sometimes an update is broken and fixed a few hours later
  • Switch on hold-new-updates and PluginPulse waits until a release has been out for 18 hours
  • /pluginpulse download <plugin> still installs one right away

Will it work on my server?

Server software Paper, Folia, Spigot, or a Paper fork like Purpur
Proxy Velocity 3.4 to 4.3, with the download that has velocity in its name
Minecraft 1.20.5 to 1.21.x with the plain download, 26.x (including 26.3) with the -mc26 download
Java 21+ for 1.21.x, 25+ for 26.x
Anything else Nothing. No dependencies

On Spigot, notices are plain text with the link written out, instead of clickable.

On Velocity, a downloaded update is installed when the proxy shuts down, because Velocity can't swap a plugin while it runs. Its command is /pulseproxy (or /ppp) with the same actions, so /pluginpulse still reaches the companion on your servers. Give staff the pluginpulse.admin permission with a permissions plugin such as LuckPerms.


Reference

Commands
Command What it does
/pluginpulse Every managed plugin, and whether it's up to date
/pluginpulse check [plugin|all] Check now
/pluginpulse download [plugin|all] Download the update, ready for the next restart
/pluginpulse apply [plugin|all] Install a downloaded update without a restart (needs hot-reload: true)
/pluginpulse restore [plugin|all] Go back to the previous version on the next restart
/pluginpulse reload Re-read the settings file

Also works as /ppc or /pulse.

Permissions
Permission What it does Default
pluginpulse.admin Use the commands and see update notices OP
Modes
Mode What happens when an update is found
off Nothing, this plugin is ignored
check-only Nothing, until you run /pluginpulse
notify (default) You're told in the console and when you join. Nothing is downloaded
download It's downloaded and checked, ready for your next restart
auto-stage Same as download, as soon as the update is found
Settings people change
plugins:
  SomePlugin:
    github: owner/repo           # or modrinth, hangar, jenkins
    mode: download
    hot-reload: false            # true = install without a restart, when it's safe
    match-server-version: true   # take the download made for your Minecraft version

user-agent-contact: "[email protected]"   # Modrinth asks for a way to reach you
check-interval-hours: 6
hold-new-updates: false          # true = wait until a release has been out a while
hold-new-updates-hours: 18

More info? Read about it in the guide

Making your own plugin update itself

PluginPulse is also a library. Add it to your plugin and it updates itself, with the same checks, notices and backups.

dependencies {
    implementation("com.github.ESMP-FUN.PluginPulse:pluginpulse-core:v0.10.2")
}
tasks.shadowJar {
    relocate("io.github.darkstarworks.pluginpulse", "my.plugin.libs.pluginpulse")
}

Then either drop a pluginpulse.yml into your resources and call PluginPulse.bootstrap(this), or use the builder for full control.

More info? Read about it in the library guide

Adding updates to a jar you can't rebuild

Have a plugin jar but no source code? The browser tool adds an updater to it. Pick the jar, say where its updates come from, and download the new jar.

Everything happens on the page. Your jar is never uploaded.

More info? Read about it in the browser tool guide


Help

Paper, Folia, Spigot, Velocity
Minecraft 1.20.5 to 26.x, Java 21+
No dependencies

Free and source available.
Please consider donating: Ko-Fi or Patreon

Did you know I have other plugins? Check them out here

No gallery available for this project.

Version Minecraft Loader Download

PluginPulse 0.10.3-velocity

0.10.3-velocity

1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
velocity
Download

PluginPulse 0.10.3-mc26

0.10.3-mc26

26.1, 26.1.1, 26.1.2, 26.2, 26.3
bukkit, folia, paper, purpur, spigot
Download

PluginPulse 0.10.3

0.10.3

1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
bukkit, folia, paper, purpur, spigot
Download

PluginPulse 0.10.2-mc26

0.10.2-mc26

26.1, 26.1.1, 26.1.2, 26.2, 26.3
bukkit, folia, paper, purpur, spigot
Download

PluginPulse 0.10.2

0.10.2

1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
bukkit, folia, paper, purpur, spigot
Download

PluginPulse 0.10.2-velocity

0.10.2-velocity

1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
velocity
Download

PluginPulse 0.10.0-velocity

0.10.0-velocity

1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
velocity
Download

PluginPulse 0.10.0-mc26

0.10.0-mc26

26.1, 26.1.1, 26.1.2, 26.2, 26.3
bukkit, folia, paper, purpur, spigot
Download

PluginPulse 0.10.0

0.10.0

1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
bukkit, folia, paper, purpur, spigot
Download

PluginPulse 0.9.0-mc26

0.9.0-mc26

26.1, 26.1.1, 26.1.2, 26.2, 26.3
bukkit, folia, paper, purpur, spigot
Download

PluginPulse 0.9.0

0.9.0

1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
bukkit, folia, paper, purpur, spigot
Download

PluginPulse 0.8.0

0.8.0

1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2
bukkit, folia, paper, purpur, spigot
Download