
Geyser and foodgate auto uploader
An automatic updater plugin for GeyserMC / Floodgate/MCXboxBroadcast. Supports Spigot (and forks like Paper), BungeeCord, and Velocity.
39.0K
27
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 packagein the directory where you cloned the repository - Artifacts:
spigot/target/GeyserUpdater-Spigot-1.0.0.jarbungee/target/GeyserUpdater-Bungee-1.0.0.jarvelocity/target/GeyserUpdater-Velocity-1.0.0.jar
- Run
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 pluginlanguage: Language setting (ja/en/de/ko, default:ja)checkOnStartup: Enables or disables the update check on startupperiodic.enabled: Enables or disables the periodic update checkperiodic.intervalHours: The interval for periodic checks (in hours)adminLogin.enabled: Enables or disables the update check when a privileged player logs inadminLogin.permission: The permission that triggers the check on login (default:geyserupdater.admin)targets.geyser | targets.floodgate | targets.mcxboxbroadcast: Choose which plugins to updatepostUpdate.notifyConsole: Notifies the console after an updatepostUpdate.notifyPlayersWithPermission: Sends an in-game chat notification to players with permissionpostUpdate.runRestartCommand: Automatically executes a restart command after an updatepostUpdate.restartCommand: The restart command to execute (e.g.,restartorend)messages.<lang>.*: Customize messages (e.g.,messages.ja.*)- For compatibility,
messages.*is also read whenlanguage=ja
- For compatibility,
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}isspigot|bungeecord|velocity
- Geyser:
- 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.runRestartCommandtotrueand configurerestartCommandto match your environment
- To enable automatic restarts, set
- MCXboxBroadcast is placed in the Geyser extensions folder
- Example:
plugins/Geyser-Spigot/extensions
- Example:
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
Совместимость
Minecraft: Java Edition
25w34b1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x
Платформы
Поддерживаемые окружения
Сервер
Создатели
Детали
Лицензия:Apache-2.0
Опубликован:7 месяцев назад
Обновлён:2 месяца назад
