
Geyser and foodgate auto uploader
An automatic updater plugin for GeyserMC / Floodgate. Supports Spigot (and forks like Paper), 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 packagein the directory where you cloned the repository.
- Run
-
Artifacts:
spigot/target/GeyserUpdater-Spigot-1.0.0.jarbungee/target/GeyserUpdater-Bungee-1.0.0.jarvelocity/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.ymlfile (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.,
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.,restartorend). -
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}
- Geyser:
-
{platform}is replaced withspigot,bungeecord, orvelocity. -
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.
-
A server or proxy restart is required after an update is applied.
- To enable automatic restarts, set
postUpdate.runRestartCommandto true and configure therestartCommandto match your server's environment.
- To enable automatic restarts, set
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
*.jarfiles 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.
Совместимость
Minecraft: Java Edition
Создатели

nehatsu.
Владелец