Skip to content

Plugin updater ​

The plugin updater watches the other plugins of your server for a newer version, and can download and install it.

It is a feature of its own — the commands are always there, but they only do something when a plugin is registered in the plugins: section of config.yml. That section is empty by default.

WARNING

The updater replaces the jar of another plugin while the server is running. The new version is only used after a restart. Do it in a maintenance window.

Setting a plugin up ​

The plugins: section is a list of plugins you want to watch. Every entry needs a provider — the place the version is looked up — and the keys that provider needs.

yaml
plugins:
  my-plugin:
    provider: spigotmc
    resource-id: "12345"

The name of the entry (my-plugin) is the name you use in the commands. It defaults to the name of the plugin, so you can leave it out when the two are the same.

The providers ​

providerThe keys it needsWhere it looks
spigotmcresource-idThe Spigot resource id.
modrinthproject-idThe Modrinth project id.
hangarowner, name, and platformThe PaperMC Hangar project. The platform defaults to PAPER.
githubowner, and name or repoThe releases of a GitHub repository.
jenkinsapi-url, artifact-prefixA Jenkins job.
geyserprojectThe GeyserMC download server.

The keys of every provider ​

KeyWhat it does
providerWhich place the version is looked up. Required.
plugin-nameThe name of the plugin. Defaults to the name of the entry.
artifact-prefixThe prefix of the file name of the artifact, for the providers that download a jar.
version-patternThe pattern that finds the version in the name of the artifact.
current-version-patternThe pattern that finds the version of the jar that is installed.
resource-idThe Spigot resource id.
project-idThe Modrinth project id.
projectThe GeyserMC project.
platformThe Hangar platform. Defaults to PAPER.
ownerThe owner of the GitHub repository or of the Hangar project.
name / repoThe name of the GitHub repository or of the Hangar project.
prereleaseWhether the pre-releases of a GitHub repository count. Defaults to false.

Some examples ​

yaml
plugins:
  my-spigot-plugin:
    provider: spigotmc
    resource-id: "12345"

  my-modrinth-plugin:
    provider: modrinth
    project-id: "abc123"

  my-hangar-plugin:
    provider: hangar
    owner: "MyName"
    name: "MyPlugin"
    platform: "PAPER"

  my-github-plugin:
    provider: github
    owner: "octocat"
    repo: "hello-world"

  my-jenkins-plugin:
    provider: jenkins
    api-url: "https://ci.example.com/job/my-plugin/api/json"
    artifact-prefix: "my-plugin-"
    version-pattern: "\\d+\\.\\d+\\.\\d+"

  my-geyser-plugin:
    provider: geyser
    project: "Geyser"

The commands ​

CommandWhat it does
/atp updater listThe plugins that are watched, with the version that is installed and the newest version that was found.
/atp updater get <plugin>The details of one plugin: the version that is installed, the newest version, whether there is an update and where it can be downloaded.
/atp updater update <plugin>Downloads the newest version and replaces the jar of the plugin.

The proxy has the same three commands under /atv updater.

The permission is appeltools.command.admin andappeltools.command.admin.pluginupdater. On the proxy it is appeltools.command.admin and appeltools.command.staff andappeltools.command.admin.pluginupdater.

TIP

The update replaces the jar of the plugin, but it does not restart the server. The plugin tells you that a restart is needed.

The module toggle ​

yaml
modules:
  plugin-updater:
    enabled: false

The toggle is not read by the plugin — the updater commands are always there, and they only do something when a plugin is registered in the plugins: section.

Built with VitePress.