GeyserUpdater
An automatic updater plugin for GeyserMC / Floodgate. Supports Spigot (and forks like Paper), BungeeCord, and Velocity.
Features
Build
Installation
Commands & Permissions
Configuration File (config.yml)
How it Works
Notes / Known Limitations
License
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).
- On server startup.
- 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
- spigot/target/GeyserUpdater-Spigot-1.0.0.jar
- Run mvn package in the directory where you cloned the repository.
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).
- 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
- Description: Immediately runs an update check.
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
- Download URLs:
- Geyser: https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/{platform}
- Floodgate: https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/{platform}
- {platform} is replaced with spigot, bungeecord, or velocity.
- Geyser: https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/{platform}
- The latest JAR is downloaded to a temporary file and its SHA-256 hash is compared with the existing JAR.
- If the hashes are identical, it is considered "up to date," and the file is not replaced.
- If they differ, the existing file is overwritten using an atomic replacement operation.
- If the hashes are identical, it is considered "up to date," and the file is not replaced.
- A server or proxy restart is required after an update is applied.
- To enable automatic restarts, set postUpdate.runRestartCommand to true and configure the restartCommand to match your server's environment.
- To enable automatic restarts, set postUpdate.runRestartCommand to true and configure the restartCommand to match your server's environment.
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.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.20, 1.20.6, 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Geyser and foodgate auto uploader is a free Minecraft Java mod. Compatible with Minecraft 1.20, 1.20.6, 1.21. Downloaded 463 times (via Spigot). Download it and open it directly in the game.