Sueta

PluginUpdater-WB

v1.0.0

Plugin Updater WB is a plugin manager designed specifically for modern Paper servers. It completely automates the process of checking, tracking, downloading, and backing up your server's plugins.

·Plugin
Tested MC versions
26.1, 26.3

PluginUpdater-WB 🔄

Highly advanced, fully asynchronous plugin manager and updater for Paper servers.

Version: 26.3-1.0.0  |  API Version: 26.3  |  Java: 25+  |  Author: WebBeck


📖 What It Does

PluginUpdater-WB automates keeping your Paper server's plugins up to date. It checks for new versions across multiple plugin repositories—Modrinth, Hangar, GitHub Releases, and SpigotMC—then downloads and installs updates asynchronously so your server stays responsive. It also supports direct custom download URLs and manages Geyser-ecosystem addons (Geyser, Floodgate, MCXboxBroadcast) natively.

✨ Features

  • Multi-source update checking — Modrinth, Hangar, GitHub Releases, SpigotMC, and custom URLs
  • Fully asynchronous — all network and I/O operations run off the main thread
  • Per-plugin configuration — track release, beta, alpha, or all channels per plugin
  • Auto-detection — scans loaded plugins on startup and populates config automatically
  • Geyser addon management — first-class support for Geyser, Floodgate, and MCXboxBroadcast
  • Backup support — backs up plugin jars before overwriting
  • Fine-grained permissions — pluginupdater.admin permission node plus an allowlist for specific players
  • Server-type awareness — supports Paper, Purpur, Folia, Spigot, and Bukkit loader targets

📋 Requirements

  • Paper (or compatible fork) running API version 26.3
  • Java 25 or newer

🚀 Installation

  1. Download PluginUpdater-WB-26.3-1.0.0.jar and drop it into your server's plugins/ folder.
  2. Start (or restart) your server. The plugin will generate config.yml and auto-populate it with entries for every plugin currently loaded.
  3. Edit config.yml to enable or tune tracking for each plugin (see Configuration below).
  4. Run /upd reload to apply changes without restarting.

⚙️ Configuration

config.yml is generated on first run. Key options:

# Minecraft version used for Modrinth queries. Leave blank to auto-detect.
minecraft-version: '26.3'

# Players allowed to run commands without OP or the permission node.
allowed-players:
  - 'YourUsernameHere'

# Loader type sent to Modrinth. "auto" detects Paper/Spigot/etc at runtime.
# Valid: "auto", "paper", "purpur", "folia", "spigot", "bukkit"
server-type-override: 'paper'

# Global release channel for all plugins.
# Valid: "release", "beta", "alpha", "all"
tracking-type: 'all'

# Geyser addon management (Geyser, Floodgate, MCXboxBroadcast)
geyser-addons:
  enabled: false
  Geyser: true
  Floodgate: true
  MCXboxBroadcast: true

Plugin Entries

Each plugin under the plugins: key supports one of five source types:

plugins:

  # Modrinth
  MyPlugin:
    enabled: true
    type: MODRINTH
    project-id: osLrA9oB
    allowed-release-types:
      - release
    current-version: 1.0.0

  # GitHub Releases
  AnotherPlugin:
    enabled: true
    type: GITHUB
    github-repo: owner/repository
    allowed-release-types:
      - release
    current-version: 2.0.0

  # Hangar (PaperMC)
  HangarPlugin:
    enabled: true
    type: HANGAR
    project-id: ViaVersion
    allowed-release-types:
      - release
    current-version: 5.0.0

  # SpigotMC (numeric resource ID from the URL)
  SpigotPlugin:
    enabled: true
    type: SPIGOT
    project-id: '19254'
    allowed-release-types:
      - release
    current-version: 1.0.0

  # Custom URL (always downloads; skips version-check logic)
  CustomPlugin:
    enabled: true
    type: CUSTOM
    custom-url: 'https://example.com/downloads/CustomPlugin-latest.jar'
    current-version: 1.0.0

A reference file of common plugin templates is included as common-plugins.yml inside the jar.


💬 Commands

The main command is /updater (alias: /upd). Requires the pluginupdater.admin permission or OP (configurable).

CommandDescription
/upd helpShow all commands (click one to use it)
/upd checkCheck all plugins for updates
/upd update [plugin]Install pending updates (all, or just one plugin)
/upd list [all|enabled|disabled]Show pending updates, or plugins by status
/upd info <plugin>Versions, source and tracking for a plugin
/upd add <url>Add and download a plugin from a Modrinth/Hangar/Spigot/GitHub link
/upd enable <plugin> / /upd disable <plugin>Start or stop checking a plugin for updates
/upd track <plugin|all> <release|beta|alpha|all>Choose which release channel to follow
/upd server <plugin|all> <auto|paper|spigot|folia|purpur>Choose which server build to download
/upd source <plugin> [Modrinth|Hangar|Spigot|GitHub|Custom] [id/url]Find or set where a plugin downloads from
/upd redownload <plugin>Force a fresh download of a plugin
/upd rollback <plugin>Restore a plugin from a backup
/upd geyser [enable|disable|download|update] [addon|all]Manage Geyser, Floodgate and MCXboxBroadcast
/upd reloadReload config.yml without restarting the server
/upd versionShow the plugin version

Old forms like /upd run, /upd -v and /upd plugin <command> ... still work.


🔒 Permissions

NodeDescriptionDefault
pluginupdater.adminFull access to all updater commandsOP

Non-OP players can also be granted access by adding their username to allowed-players in config.yml.


🆘 Support

  • Issues & bug reports: Open an issue on the project repository
  • GitHub page: PluginUpdater-WB

🤝 Contributing

Pull requests are welcome. Please open an issue first to discuss any significant changes. Make sure new features include appropriate config defaults and that all commands continue to work asynchronously.


👤 Maintainer

WebBeck

See the LICENSE file for license terms.

Similar projects

Plugin →