All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Geyser and Floodgate auto uploader

Geyser and Floodgate auto uploader

by nehatsu. • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

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
  • Fetches the latest MCXboxBroadcast (from Modrinth) and places it in the Geyser extensions folder (optional)
  • 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 language, messages, targets, 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
  • language: Language setting (ja / en / de / ko, default: ja)
  • 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 | targets.mcxboxbroadcast: 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.<lang>.*: Customize messages (e.g., messages.ja.*)
    • For compatibility, messages.* is also read when language=ja

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}
    • MCXboxBroadcast: https://api.modrinth.com/v2/project/mcxboxbroadcast/version
    • {platform} is spigot | bungeecord | velocity
  • 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.runRestartCommand to true and configure restartCommand to match your environment
  • MCXboxBroadcast is placed in the Geyser extensions folder
    • Example: plugins/Geyser-Spigot/extensions

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)
  • MCXboxBroadcast is always placed in plugins/Geyser-Spigot/extensions
  • The plugin does not display version numbers; it relies solely on hash comparison to determine if an update is available

License

  • Apache License 2.0

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3 26.2 26.1.x +2
Bungeecord
19h ago 1
26.3 26.2 26.1.x +3
Velocity
19h ago 1
26.3 26.2 26.1.x +2
Paper Purpur Spigot
19h ago 1
26.2 1.19.x
Bukkit Paper Purpur Spigot
19h ago 1
26.2 1.19.x
Spigot
19h ago 1
26.2
Velocity
19h ago 1
26.1.x 1.21.x 1.20.x +1
Bungeecord
19h ago 1
26.1.x 1.21.x 1.20.x +1
Velocity
19h ago 1
26.1.x 1.21.x 1.20.x +1
Bukkit Paper Purpur Spigot
19h ago 1
26.1.x
Bungeecord
19h ago 1
26.1.x
Velocity
19h ago 1
26.2.x 26.1.x 26w14a
Paper Purpur Spigot
19h ago 1
1.21.x 1.20.x 1.19.x +1
Bungeecord
19h ago 1
1.21.x 1.20.x 1.19.x
Paper Purpur Spigot
19h ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
19h ago 1
1.21.x 1.20.x 1.19.4
Velocity
19h ago 1
1.21.x 1.20.x 1.19.x +2
Bungeecord
19h ago 1
1.21.x 1.19.x
Paper Purpur Spigot
19h ago 1
1.21.x
Bungeecord
19h ago 1
1.21.x 1.20.x 1.19.x
Paper Purpur Spigot
19h ago 1
1.21.x 1.20.x
Velocity
19h ago 1
25w34b
Bungeecord
19h ago 1
## GeyserUpdater 1.3

This release improves updater reliability, platform detection, and automatic restart handling.

### Added

  • Added postUpdate.restartDelaySeconds
  • Allows delaying the configured restart command after an update
  • Default: 0 seconds
  • Delayed automatic restart support for:
  • Paper / Spigot
  • BungeeCord
  • Velocity
  • Added platform-aware Geyser and Floodgate JAR detection
  • Added automatic detection to prevent GeyserUpdater itself from being mistaken for a Geyser JAR
  • Added automated tests for updater JAR detection and restart delay configuration

### Fixed

  • Fixed overly broad Geyser/Floodgate JAR matching
  • Fixed cases where unrelated or incorrectly named JAR files could be selected for replacement
  • Fixed GeyserUpdater potentially being detected as the plugin it was supposed to update
  • Fixed MCXboxBroadcast extension installation paths on proxy platforms
  • MCXboxBroadcast is now installed into the correct platform-specific Geyser extensions folder

Examples:

``text
Paper / Spigot:
plugins/Geyser-Spigot/extensions

BungeeCord:
plugins/Geyser-BungeeCord/extensions

Velocity:
plugins/Geyser-Velocity/extensions
``

### Automatic restart delay

You can now configure a delay before the automatic restart command is executed:

`yaml
postUpdate:
runRestartCommand: true
restartCommand: "restart"
restartDelaySeconds: 60
`

For BungeeCord, the restart command can for example be set to
end.

Negative restart delay values are automatically treated as
0.

### Changed

  • Updated internal version information to 1.1.0
  • Updated the HTTP User-Agent to GeyserUpdater/1.1.0`
  • Improved resource handling while scanning plugin directories
  • Updated English and Japanese documentation for the new restart delay and platform-specific extension paths

## GeyserUpdater 1.3

This release improves updater reliability, platform detection, and automatic restart handling.

### Added

  • Added postUpdate.restartDelaySeconds
  • Allows delaying the configured restart command after an update
  • Default: 0 seconds
  • Delayed automatic restart support for:
  • Paper / Spigot
  • BungeeCord
  • Velocity
  • Added platform-aware Geyser and Floodgate JAR detection
  • Added automatic detection to prevent GeyserUpdater itself from being mistaken for a Geyser JAR
  • Added automated tests for updater JAR detection and restart delay configuration

### Fixed

  • Fixed overly broad Geyser/Floodgate JAR matching
  • Fixed cases where unrelated or incorrectly named JAR files could be selected for replacement
  • Fixed GeyserUpdater potentially being detected as the plugin it was supposed to update
  • Fixed MCXboxBroadcast extension installation paths on proxy platforms
  • MCXboxBroadcast is now installed into the correct platform-specific Geyser extensions folder

Examples:

``text
Paper / Spigot:
plugins/Geyser-Spigot/extensions

BungeeCord:
plugins/Geyser-BungeeCord/extensions

Velocity:
plugins/Geyser-Velocity/extensions
``

### Automatic restart delay

You can now configure a delay before the automatic restart command is executed:

`yaml
postUpdate:
runRestartCommand: true
restartCommand: "restart"
restartDelaySeconds: 60
`

For BungeeCord, the restart command can for example be set to
end.

Negative restart delay values are automatically treated as
0.

### Changed

  • Updated internal version information to 1.1.0
  • Updated the HTTP User-Agent to GeyserUpdater/1.1.0`
  • Improved resource handling while scanning plugin directories
  • Updated English and Japanese documentation for the new restart delay and platform-specific extension paths


## GeyserUpdater 1.3

This release improves updater reliability, platform detection, and automatic restart handling.

### Added

  • Added postUpdate.restartDelaySeconds
  • Allows delaying the configured restart command after an update
  • Default: 0 seconds
  • Delayed automatic restart support for:
  • Paper / Spigot
  • BungeeCord
  • Velocity
  • Added platform-aware Geyser and Floodgate JAR detection
  • Added automatic detection to prevent GeyserUpdater itself from being mistaken for a Geyser JAR
  • Added automated tests for updater JAR detection and restart delay configuration

### Fixed

  • Fixed overly broad Geyser/Floodgate JAR matching
  • Fixed cases where unrelated or incorrectly named JAR files could be selected for replacement
  • Fixed GeyserUpdater potentially being detected as the plugin it was supposed to update
  • Fixed MCXboxBroadcast extension installation paths on proxy platforms
  • MCXboxBroadcast is now installed into the correct platform-specific Geyser extensions folder

Examples:

``text
Paper / Spigot:
plugins/Geyser-Spigot/extensions

BungeeCord:
plugins/Geyser-BungeeCord/extensions

Velocity:
plugins/Geyser-Velocity/extensions
``

### Automatic restart delay

You can now configure a delay before the automatic restart command is executed:

`yaml
postUpdate:
runRestartCommand: true
restartCommand: "restart"
restartDelaySeconds: 60
`

For BungeeCord, the restart command can for example be set to
end.

Negative restart delay values are automatically treated as
0.

### Changed

  • Updated internal version information to 1.1.0
  • Updated the HTTP User-Agent to GeyserUpdater/1.1.0`
  • Improved resource handling while scanning plugin directories
  • Updated English and Japanese documentation for the new restart delay and platform-specific extension paths


supports 26.2
supports 26.2
## What's changed

  • Fixed an issue where MCXboxBroadcast was downloaded to the Geyser-Spigot extensions folder when running on Velocity.
  • On Velocity, MCXboxBroadcast is now correctly downloaded to the Geyser-Velocity extensions folder.
## What's changed

  • Fixed an issue where MCXboxBroadcast was downloaded to the Geyser-Spigot extensions folder when running on Velocity.
  • On Velocity, MCXboxBroadcast is now correctly downloaded to the Geyser-Velocity extensions folder.
## What's changed

  • Fixed an issue where MCXboxBroadcast was downloaded to the Geyser-Spigot extensions folder when running on Velocity.
  • On Velocity, MCXboxBroadcast is now correctly downloaded to the Geyser-Velocity extensions folder.
  • Update summary**

  • Support for **26.1 2** has been added.
  • Known issues have been fixed.
  • Fixed an issue where only **Floodgate** was updated while **Geyser** and **BroadcastExtension** were downloaded but not replaced correctly.
  • Fixed an issue where update files remained in the temp folder instead of being moved to the server’s plugins folder.
  • Improved the reliability of the automatic update process after restart.

  • Update summary**

  • Support for **26.1 2** has been added.
  • Known issues have been fixed.
  • Fixed an issue where only **Floodgate** was updated while **Geyser** and **BroadcastExtension** were downloaded but not replaced correctly.
  • Fixed an issue where update files remained in the temp folder instead of being moved to the server’s plugins folder.
  • Improved the reliability of the automatic update process after restart.


Update summary
  • Support for **26.1 2** has been added.
  • Known issues have been fixed.
  • Fixed an issue where only **Floodgate** was updated while **Geyser** and **BroadcastExtension** were downloaded but not replaced correctly.
  • Fixed an issue where update files remained in the temp folder instead of being moved to the server’s plugins folder.
  • Improved the reliability of the automatic update process after restart.


Users who installed previous versions must delete config.yml located at plugins/geyseruploader/config.yml.
Users who installed previous versions must delete config.yml located at plugins/geyseruploader/config.yml.
Supports multiple languages and mcbroadcast.Users who installed previous versions must delete config.yml located at plugins/geyseruploader/config.yml
# 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

1. Place the appropriate JAR for your server platform into the plugins folder.
2. Start the server to generate the config.yml file (it will be identical to the default config included in this README).
3. 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


  • {platform} is replaced with spigot, bungeecord, or velocity.
  • 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.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.
# 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

1. Place the appropriate JAR for your server platform into the plugins folder.
2. Start the server to generate the config.yml file (it will be identical to the default config included in this README).
3. 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


  • {platform} is replaced with spigot, bungeecord, or velocity.
  • 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.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.
# 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

1. Place the appropriate JAR for your server platform into the plugins folder.
2. Start the server to generate the config.yml file (it will be identical to the default config included in this README).
3. 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


  • {platform} is replaced with spigot, bungeecord, or velocity.
  • 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.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.
Geyser and Floodgate auto uploader Icon
Download Geyser and Floodgate auto uploader
Select game version
Select platform