Update scripts for Minecraft on Crafty Controller, adds Geyser/Floodgate and updates the Purpur or Paper Minecraft jars
These instructions explain how to:
- Ensure
curlis installed in your Crafty environment. - Install and use the Minecraft Purpur update script.
- Install and use the Geyser/Floodgate update script.
- Pass options to target servers by UUID.
- Place scripts in the correct Crafty location.
Make sure the host machine running Crafty Controller supports apt-get and "curl."
Install apt-get and curl
apt-get update && apt-get install -y curlYou should have two scripts:
-
update-mc-core.sh
Updates the Minecraft core.jarfile to the latest Purpur build. -
update-geyser-floodgate.sh
Updates Geyser and Floodgate plugin.jarfiles to their latest builds.
Both scripts support the same target selection flags:
| Flag | Description | Example |
|---|---|---|
--server-name |
Use the Crafty server UUID directly. | --server-name <server-UUID> |
--help |
Displays usage information. | --help |
By default, the update-mc-core.sh script will update your server to the latest build of your current Minecraft version (e.g., 1.21.8).
If Mojang releases a new version (e.g., 1.21.9 or 1.22), the script could update before you're ready unless you pin it to a specific version.
- Pinned version: You’ll always get the latest Purpur build for that exact version (e.g., all builds of 1.21.8).
- Unpinned: You might jump to the next Minecraft release, which could break plugins.
Set the environment variable TARGET_VERSION when running the script.
Example for Minecraft 1.21.8:
apt-get update && apt-get install -y curl && TARGET_VERSION="1.21.8" /bin/bash /crafty/scripts/update-mc-core.sh --server-name <server-UUID>In CasaOS You can use the Web GUI and file manager to do this.
- On your Crafty VM/container host, create a scripts folder:
mkdir -p /crafty/scripts-
Place both
update-mc-core.shandupdate-geyser-floodgate.shinto this directory. -
Make them executable:
chmod +x /crafty/scripts/update-mc-core.sh
chmod +x /crafty/scripts/update-geyser-floodgate.shNote: In Docker/CasaOS make sure there is a Volume added to the Docker container. In CasaOS this means clicking the "Add" under the "Volumes" section in the app settings with a "Host" value of /DATA/AppData/crafty/scripts and a "Container" path of /crafty/scripts. In CasaOS this is found under the "Settings" area for the app.
apt-get update && apt-get install -y curl && /bin/bash /crafty/scripts/update-mc-core.sh --server-name <server-UUID>apt-get update && apt-get install -y curl && /bin/bash /crafty/scripts/update-geyser-floodgate.sh --server-name <server-UUID>You can also install curl install apt-get and run both script updates all at once:
apt-get update && apt-get install -y curl && /bin/bash /crafty/scripts/update-mc-core.sh --server-name <server-UUID> && /bin/bash /crafty/scripts/update-geyser-floodgate.sh --server-name <server-UUID>- Replace
<server-UUID>with your own Crafty server's UUID. - The Minecraft server will need to be restarted after running the update scripts.
- You can automate running these scripts using Cron on the host machine (NOT the Scheduler in Crafty Controller's Web Interface, that's for Minecraft terminal commands. These scripts must be run on the linux terminal)