Appearance
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
provider | The keys it needs | Where it looks |
|---|---|---|
spigotmc | resource-id | The Spigot resource id. |
modrinth | project-id | The Modrinth project id. |
hangar | owner, name, and platform | The PaperMC Hangar project. The platform defaults to PAPER. |
github | owner, and name or repo | The releases of a GitHub repository. |
jenkins | api-url, artifact-prefix | A Jenkins job. |
geyser | project | The GeyserMC download server. |
The keys of every provider
| Key | What it does |
|---|---|
provider | Which place the version is looked up. Required. |
plugin-name | The name of the plugin. Defaults to the name of the entry. |
artifact-prefix | The prefix of the file name of the artifact, for the providers that download a jar. |
version-pattern | The pattern that finds the version in the name of the artifact. |
current-version-pattern | The pattern that finds the version of the jar that is installed. |
resource-id | The Spigot resource id. |
project-id | The Modrinth project id. |
project | The GeyserMC project. |
platform | The Hangar platform. Defaults to PAPER. |
owner | The owner of the GitHub repository or of the Hangar project. |
name / repo | The name of the GitHub repository or of the Hangar project. |
prerelease | Whether 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
| Command | What it does |
|---|---|
/atp updater list | The 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: falseThe 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.