Geyser and foodgate auto uploader icon

Geyser and foodgate auto uploader -----

Auto-update plugin for GeyserMC / Floodgate. Supports Spigot (Paper, etc.), BungeeCord, and Velocity



GeyserUpdater


An automatic updater plugin for GeyserMC / Floodgate. Supports Spigot (and forks like Paper), BungeeCord, and Velocity.



Features


  • Fetches the latest stable versions of GeyserMC and Floodgate from the Jenkins/download API and overwrites the existing JARs in the plugins directory.

  • Automatic Update Checks:
    • On server startup.

    • At a specified interval (e.g., every 12 hours).

    • When a player with a specific permission logs in (can be enabled/disabled).
  • Manual Command: /geyserupdate (Permission: geyserupdater.admin).

  • Configurable messages, update targets, check intervals, and restart commands.


Build


  • Prerequisites: Java 17, Maven 3.8+

  • Instructions:
    • Run mvn package in the directory where you cloned the repository.

    • Artifacts:
      • spigot/target/GeyserUpdater-Spigot-1.0.0.jar

      • bungee/target/GeyserUpdater-Bungee-1.0.0.jar

      • velocity/target/GeyserUpdater-Velocity-1.0.0.jar


Installation


  • Place the appropriate JAR for your server platform into the plugins folder.

  • Start the server to generate the config.yml file (it will be identical to the default config included in this README).

  • The plugin automatically detects existing Geyser / Floodgate JARs by searching for files in the plugins directory that contain "geyser" or "floodgate" in their names.
    • If no existing JARs are found, it will create new ones with standard names (e.g., Geyser-Spigot.jar, floodgate-velocity.jar).


Commands & Permissions


  • /geyserupdate
    • Description: Immediately runs an update check.

    • Permission: geyserupdater.admin


Configuration File (config.yml)


  • enabled: Enables or disables the plugin.

  • checkOnStartup: Enables or disables the update check on startup.

  • periodic.enabled: Enables or disables the periodic update check.

  • periodic.intervalHours: The interval for periodic checks (in hours).

  • adminLogin.enabled: Enables or disables the update check when a privileged player logs in.

  • adminLogin.permission: The permission that triggers the check on login (default: geyserupdater.admin).

  • targets.geyser | targets.floodgate: Choose which plugins to update.

  • postUpdate.notifyConsole: Notifies the console after an update.

  • postUpdate.notifyPlayersWithPermission: Sends an in-game chat notification to players with permission.

  • postUpdate.runRestartCommand: Automatically executes a restart command after an update.

  • postUpdate.restartCommand: The restart command to execute (e.g., restart or end).

  • messages.*: Customize the messages sent by the plugin.


How it Works




Notes / Known Limitations


  • If a download fails due to network issues or other errors, the existing plugin files will not be affected.

  • The plugin cannot detect Geyser/Floodgate files if they have unusual names or are not located directly within the plugins folder (it only scans for *.jar files in the root of the plugins directory).

  • The plugin does not display version numbers; it relies solely on hash comparison to determine if an update is available.


License


  • A license (e.g., MIT) can be added upon request.
Resource Information
Author:
----------
Total Downloads: 20
First Release: Aug 21, 2025
Last Update: Aug 21, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings