▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Geyser and foodgate auto uploader
Geyser and foodgate auto uploader

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 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

Совместимость

Minecraft: Java Edition

25w34b1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:Apache-2.0
Опубликован:7 месяцев назад
Обновлён:2 месяца назад
Главная