From c3e418592084d622e9fdbf3bb2073bed9238484e Mon Sep 17 00:00:00 2001 From: Jean-Philippe Pialasse Date: Mon, 22 Jun 2026 00:14:39 -0400 Subject: [PATCH 1/4] Update msm.conf add JAVABIN var, not defined by default --- msm.conf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/msm.conf b/msm.conf index bec9db90..a56c8109 100644 --- a/msm.conf +++ b/msm.conf @@ -38,6 +38,11 @@ RAMDISK_STORAGE_ENABLED="true" # location. This is ignored if RAMDISK_STORAGE_ENABLED is not "true" RAMDISK_STORAGE_PATH="/dev/shm/msm" +# Java Options +# ------------------- + +# default java bin path for jar update operations +#JAVABIN="/usr/bin/java" # Backup Options # ------------------- From f2ebeb9e6b86e7df7a53cb2ddd960b58a1959ce9 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Pialasse Date: Mon, 22 Jun 2026 00:37:03 -0400 Subject: [PATCH 2/4] add suppport for new engines add paperMC, foliaMC, purpurMC, leafMC, leavesMC, fabricMC, quiltMC, spigot and ability to change java for jar actions --- init/msm | 331 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 302 insertions(+), 29 deletions(-) diff --git a/init/msm b/init/msm index 98533d94..88cc357e 100755 --- a/init/msm +++ b/init/msm @@ -1078,6 +1078,7 @@ jargroup_getlatest() { manager_property JARGROUP_TARGET manager_property USERNAME manager_property JARGROUP_DOWNLOAD_DIR + manager_property JAVABIN if [[ -d "$SETTINGS_JAR_STORAGE_PATH/$1" ]]; then if [[ -f "$SETTINGS_JAR_STORAGE_PATH/$1/$SETTINGS_JARGROUP_TARGET" ]]; then @@ -1097,36 +1098,307 @@ jargroup_getlatest() { wget_opts="" fi - # If target contains the word 'minecraft' or 'minecraft-snapshot', check JSON version file for correct filename - # This method allows for backwards compatibility with previous releases - local target="$(as_user "$SETTINGS_USERNAME" "cat $SETTINGS_JAR_STORAGE_PATH/$1/$SETTINGS_JARGROUP_TARGET")" - if [[ "$target" =~ ^minecraft ]]; then - local versions_target="release" - if [[ "$target" == "minecraft-snapshot" ]]; then - local versions_target="snapshot" - fi - - # Check if jq is installed on the local computer - as_user "$SETTINGS_USERNAME" "which jq > /dev/null" - if [[ "$?" != "0" ]]; then - echo "jq is required to download server updates. Please ensure it is installed and the path is set correctly." - return 1 - fi - - printf "Checking minecraft version JSON... " - local versions_url="https://launchermeta.mojang.com/mc/game/version_manifest.json" - local versions_file="/tmp/minecraft_versions.json" - as_user "$SETTINGS_USERNAME" "wget --quiet $wget_opts --no-check-certificate -O '$versions_file' '$versions_url'" - local latest_package_url=$(as_user "$SETTINGS_USERNAME" "cat $versions_file | jq -r '.versions | sort_by(.releaseTime) | map(select(.type | contains ("\""$versions_target"\""))) | last | .url'") - local latest_version=$(as_user "$SETTINGS_USERNAME" "echo ${latest_package_url##*/} | sed s/.json//") - - if [[ -n "$latest_package_url" ]]; then - local package_file="/tmp/minecraft_package.json" - as_user "$SETTINGS_USERNAME" "wget --quiet $wget_opts --no-check-certificate -O '$package_file' '$latest_package_url'" - local jar_url=$(as_user "$SETTINGS_USERNAME" "cat $package_file | jq -r '.downloads.server.url'") - fi - fi + # If target contains the word 'minecraft' or 'minecraft-snapshot', check JSON version file for correct filename + # This method allows for backwards compatibility with previous releases + local target="$(as_user "$SETTINGS_USERNAME" "cat $SETTINGS_JAR_STORAGE_PATH/$1/$SETTINGS_JARGROUP_TARGET")" + + local java_exec="java" + if [ ! -z $SETTINGS_JAVABIN ]; then + java_exec=$SETTINGS_JAVABIN + elif [ -x "/etc/alternatives/jre_21/bin/java" ]; then + java_exec="/etc/alternatives/jre_21/bin/java" + elif [ -x "/etc/alternatives/jre_17/bin/java" ]; then + java_exec="/etc/alternatives/jre_17/bin/java" + fi + # --- PAPERMC --- + if [[ "$target" =~ ^paper ]]; then + printf "Checking PaperMC version API (v3)... " + local api_url="https://fill.papermc.io/v3/projects/paper" + + # extract target version (ex: could contain "paper-1.21.4") + local paper_version=$(echo "$target" | sed 's/^paper-//') + + # if target only contains "paper" or "paper-latest", we get the global higher version + if [[ "$paper_version" == "paper" || "$paper_version" == "latest" || -z "$paper_version" ]]; then + # Récupération sécurisée de la toute dernière version stable + paper_version=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'" | jq -r '.versions | to_entries | first | .value | first' | tr -d '\r\n' | xargs) + fi + + local version_url="$api_url/versions/$paper_version" + local version_data=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$version_url'") + + if echo "$version_data" | jq -e '.error' &> /dev/null || [[ -z "$version_data" ]]; then + echo "Error: PaperMC version '$paper_version' not found." + echo "available: " + as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'" | jq -r '.versions | [.[]] | flatten | join(", ")' + return 1 + fi + + # Récupération du build le plus récent et du nom du jar associé + local latest_build=$(echo "$version_data" | jq -r '.builds| first' | tr -d '\r\n' | xargs) + + # build info + local build_url="$version_url/builds/$latest_build" + local build_data=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$build_url'") + + local file_name=$(echo "$build_data" | jq -r '.downloads["server:default"].name' | tr -d '\r\n' | xargs) + local jar_url=$(echo "$build_data" | jq -r '.downloads["server:default"].url' | tr -d '\r\n' | xargs) + local latest_version="paper-${paper_version}-${latest_build}" + + # --- FOLIA --- same api as paper + elif [[ "$target" =~ ^folia ]]; then + printf "Checking FoliaMC version API (v3)... " + local api_url="https://fill.papermc.io/v3/projects/folia" + + # extract target version (ex: could contain "paper-1.21.4") + local paper_version=$(echo "$target" | sed 's/^folia-//') + + # if target only contains "folia" or "folia-latest", we get the global higher version + if [[ "$paper_version" == "folia" || "$paper_version" == "latest" || -z "$paper_version" ]]; then + paper_version=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'" | jq -r '.versions | to_entries | first | .value | first' | tr -d '\r\n' | xargs) + fi + + local version_url="$api_url/versions/$paper_version" + local version_data=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$version_url'") + + if echo "$version_data" | jq -e '.error' &> /dev/null || [[ -z "$version_data" ]]; then + echo "Error: Folia version '$paper_version' not found." + echo "available: " + as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'" | jq -r '.versions | [.[]] | flatten | join(", ")' + return 1 + fi + + # get latest build for this version and jar name + local latest_build=$(echo "$version_data" | jq -r '.builds| first' | tr -d '\r\n' | xargs) + + # build info + local build_url="$version_url/builds/$latest_build" + local build_data=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$build_url'") + + local file_name=$(echo "$build_data" | jq -r '.downloads["server:default"].name' | tr -d '\r\n' | xargs) + local jar_url=$(echo "$build_data" | jq -r '.downloads["server:default"].url' | tr -d '\r\n' | xargs) + local latest_version="folia-${paper_version}-${latest_build}" + + + # --- PURPUR (API v2) --- + elif [[ "$target" =~ ^purpur ]]; then + printf "Checking Purpur version API (v2)... " + local api_url="https://api.purpurmc.org/v2/purpur" + local purpur_version=$(echo "$target" | sed 's/^purpur-//') + + # if target only contains "purpur" or "latest", we get the global higher version + if [[ "$purpur_version" == "purpur" || "$purpur_version" == "latest" || -z "$purpur_version" ]]; then + purpur_version=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'" | jq -r '.versions | last' | tr -d '\r\n' | xargs) + fi + + # get latest build + local version_url="$api_url/$purpur_version/latest" + local version_data=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$version_url'") + + if echo "$version_data" | jq -e '.error' &> /dev/null || [[ -z "$version_data" ]]; then + echo "Error: Purpur version '$purpur_version' not found." + echo "available: " + as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'" | jq -r '.versions | join(", ")' + return 1 + fi + + local latest_build=$(echo "$version_data" | jq -r '.build' | tr -d '\r\n' | xargs) + + jar_url="$api_url/$purpur_version/latest/download" + file_name="purpur-${purpur_version}-${latest_build}.jar" + latest_version="purpur-${purpur_version}-${latest_build}" + + # --- LEAF (API v2) --- + elif [[ "$target" =~ ^leaf ]]; then + printf "Checking Leaf version API (v2)... " + local api_url="https://api.leafmc.one/v2/projects/leaf" + local leaf_version=$(echo "$target" | sed 's/^leaf-//') + + if [[ "$leaf_version" == "leaf" || "$leaf_version" == "latest" || -z "$leaf_version" ]]; then + leaf_version=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'" | jq -r '.versions[-1]' | tr -d '\r\n' | xargs) + fi + + local version_url="$api_url/versions/$leaf_version" + local version_data=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$version_url'") + + if echo "$version_data" | jq -e '.error' &> /dev/null || [[ -z "$version_data" ]]; then + echo "Error: Leaf version '$leaf_version' not found." + echo "available: " + as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'" | jq -r '.versions | join(", ")' + return 1 + fi + + local latest_build=$(echo "$version_data" | jq -r '.builds[-1]' | tr -d '\r\n' | xargs) + + jar_url="$version_url/builds/$latest_build/downloads/leaf-${leaf_version}-${latest_build}.jar" + file_name="leaf-${leaf_version}-${latest_build}.jar" + latest_version="leaf-${leaf_version}-${latest_build}" + + # --- LEAVES (API v2) --- + elif [[ "$target" =~ ^leaves ]]; then + printf "Checking Leaves version API (v2)... " + local api_url="https://api.leavesmc.org/v2/projects/leaves" + local leaves_version=$(echo "$target" | sed 's/^leaves-//') + + if [[ "$leaves_version" == "leaves" || "$leaves_version" == "latest" || -z "$leaves_version" ]]; then + local api_data=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'") + + leaves_version=$(echo "$api_data" | jq -r '.versions[-1]' | tr -d '\r\n' | xargs) + local check_builds=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url/versions/$leaves_version'") + + # if no build we try previous version [-2] + if [[ -z "$check_builds" ]] || echo "$check_builds" | jq -e '.error' &> /dev/null || [[ "$(echo "$check_builds" | jq -r '.builds')" == "null" ]]; then + leaves_version=$(echo "$api_data" | jq -r '.versions[-2]' | tr -d '\r\n' | xargs) + fi + fi + + # get build list + local version_url="$api_url/versions/$leaves_version" + local version_data=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$version_url'") + + if echo "$version_data" | jq -e '.error' &> /dev/null || [[ -z "$version_data" ]]; then + echo "Error: Leaves version '$leaves_version' not found." + echo "available: " + as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$api_url'" | jq -r '.versions | join(", ")' + return 1 + fi + + local latest_build=$(echo "$version_data" | jq -r '.builds[-1]' | tr -d '\r\n' | xargs) + + jar_url="$version_url/builds/$latest_build/downloads/leaves-${leaves_version}-${latest_build}.jar" + file_name="leaves-${leaves_version}-${latest_build}.jar" + latest_version="leaves-${leaves_version}-${latest_build}" + + # --- FABRIC (API v2) --- + elif [[ "$target" =~ ^fabric ]]; then + printf "Checking Fabric version API... " + local meta_url="https://meta.fabricmc.net/v2" + local mc_version=$(echo "$target" | sed 's/^fabric-//') + + if [[ "$mc_version" == "fabric" || "$mc_version" == "latest" || -z "$mc_version" ]]; then + local versions_url="https://launchermeta.mojang.com/mc/game/version_manifest.json" + local versions_file="/tmp/minecraft_versions.json" + as_user "$SETTINGS_USERNAME" "wget --quiet --no-check-certificate -O '$versions_file' '$versions_url'" + mc_version=$(as_user "$SETTINGS_USERNAME" "cat $versions_file" | jq -r '.latest.release' | tr -d '\r\n' | xargs) + fi + + local check_version=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$meta_url/versions/loader/$mc_version'") + + if [[ -z "$check_version" || "$check_version" == "[]" ]]; then + echo "Error: Fabric version '$mc_version' not found." + echo "available: " + as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$meta_url/versions'" | jq -r '.game | map(select(.stable == true)) | map(.version) | join(", ")' + return 1 + fi + + # LOADER + local loader_version=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$meta_url/versions/loader'" | jq -r 'map(select(.stable == true)) | first | .version' | tr -d '\r\n' | xargs) + + # INSTALLER + local installer_version=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- '$meta_url/versions/installer'" | jq -r 'map(select(.stable == true)) | first | .version' | tr -d '\r\n' | xargs) + + if [[ -z "$loader_version" || -z "$installer_version" ]]; then + echo "Error: Fabric meta API unreachable." + return 1 + fi + + jar_url="$meta_url/versions/loader/$mc_version/$loader_version/$installer_version/server/jar" + latest_version="fabric-${mc_version}-loader${loader_version}" + + # --- QUILTMC --- + elif [[ "$target" =~ ^quilt ]]; then + printf "Checking QuiltMC version API... " + local meta_url="https://meta.quiltmc.org/v3" + local quilt_version=$(echo "$target" | sed 's/^quilt-//') + + if [[ "$quilt_version" == "quilt" || "$quilt_version" == "latest" || -z "$quilt_version" ]]; then + quilt_version=$(as_user "$SETTINGS_USERNAME" "wget --quiet -O- $meta_url/versions/game | jq -r 'map(select(.stable == true)) | map(.version) | join(\",\")' | cut -d',' -f1") + fi + + # download universal installer in /tmp + local tmp_installer="/tmp/quilt-installer.jar" + as_user "$SETTINGS_USERNAME" "wget --quiet -O '$tmp_installer' 'https://quiltmc.org/api/v1/download-latest-installer/java-universal'" + + # we call installer directly in the folder, we can not handle multiple versions in one folder because of the multiple files needed + local target_download_folder="$SETTINGS_JAR_STORAGE_PATH/$1" #/$SETTINGS_JARGROUP_DOWNLOAD_DIR" + echo "Building Quilt Server Jar for Minecraft $quilt_version..." + + as_user "$SETTINGS_USERNAME" "$java_exec -jar '$tmp_installer' install server '$quilt_version' --download-server --install-dir='$target_download_folder' " + + # cleanup and quit as we do not need to download anything + rm -f "$tmp_installer" + exit 0 + + # --- SPIGOT --- + elif [[ "$target" =~ ^spigot ]]; then + printf "Preparing Spigot BuildTools compilation... " + + local spigot_version=$(echo "$target" | sed 's/^spigot-//') + if [[ "$spigot_version" == "spigot" || "$spigot_version" == "latest" || -z "$spigot_version" ]]; then + spigot_version="latest" + fi + + local my_buildtools="/opt/msm/BuildTools/BuildTools.jar" + local build_dir="/tmp/spigot_build" + + if [[ ! -f "$my_buildtools" ]]; then + echo "Error: BuildTools.jar not found at $my_buildtools" + return 1 + fi + + as_user "$SETTINGS_USERNAME" "mkdir -p '$build_dir'" + + local target_download_folder="$SETTINGS_JAR_STORAGE_PATH/$1" + echo "Compiling Spigot v$spigot_version using local BuildTools (This may take several minutes)..." + + # we build in tmp dir /tmp/spigot_build + as_user "$SETTINGS_USERNAME" "cd '$build_dir' && $java_exec -jar '$my_buildtools' --rev '$spigot_version' " + + # extract jar and rename it before deleting build_dir content + local compiled_file=$(as_user "$SETTINGS_USERNAME" "ls -1 '$build_dir' | grep 'spigot-' | grep -v 'shaded' | head -n 1") + + if [[ -n "$compiled_file" ]]; then + as_user "$SETTINGS_USERNAME" "mv '$build_dir/$compiled_file' '$target_download_folder/$compiled_file'" + echo "Compilation successful: $compiled_file moved to MSM workspace." + else + echo "Error: Spigot compilation failed. No JAR file was generated." + rm -fr "$build_dir" + return 1 + fi + # cleanup and quit as we do not need to download anything + rm -fr "$build_dir" + exit 0 + + # --- MINECRAFT VANILLA --- + elif [[ "$target" =~ ^minecraft ]]; then + local versions_target="release" + if [[ "$target" == "minecraft-snapshot" ]]; then + local versions_target="snapshot" + fi + + # Check if jq is installed on the local computer + as_user "$SETTINGS_USERNAME" "which jq > /dev/null" + if [[ "$?" != "0" ]]; then + echo "jq is required to download server updates. Please ensure it is installed and the path is set correctly." + return 1 + fi + + printf "Checking minecraft version JSON... " + local versions_url="https://launchermeta.mojang.com/mc/game/version_manifest.json" + local versions_file="/tmp/minecraft_versions.json" + as_user "$SETTINGS_USERNAME" "wget --quiet $wget_opts --no-check-certificate -O '$versions_file' '$versions_url'" + local latest_package_url=$(as_user "$SETTINGS_USERNAME" "cat $versions_file | jq -r '.versions | sort_by(.releaseTime) | map(select(.type | contains ("\""$versions_target"\""))) | last | .url'") + local latest_version=$(as_user "$SETTINGS_USERNAME" "echo ${latest_package_url##*/} | sed s/.json//") + + if [[ -n "$latest_package_url" ]]; then + local package_file="/tmp/minecraft_package.json" + as_user "$SETTINGS_USERNAME" "wget --quiet $wget_opts --no-check-certificate -O '$package_file' '$latest_package_url'" + local jar_url=$(as_user "$SETTINGS_USERNAME" "cat $package_file | jq -r '.downloads.server.url'") + fi + fi + + # --- DOWNLOAD --- if [[ -n "$jar_url" ]]; then as_user "$SETTINGS_USERNAME" "wget --quiet $wget_opts --no-check-certificate -O '$SETTINGS_JAR_STORAGE_PATH/$1/$SETTINGS_JARGROUP_DOWNLOAD_DIR/minecraft_server.$latest_version.jar' '$jar_url'" else @@ -3211,6 +3483,7 @@ register_settings() { register_setting DEBUG "false" register_setting USERNAME "minecraft" + register_setting JAVABIN "" register_setting SERVER_STORAGE_PATH "/opt/msm/servers" register_setting JAR_STORAGE_PATH "/opt/msm/jars" register_setting VERSIONING_STORAGE_PATH "/opt/msm/versioning" From 8a4d4f7d272fd8025b60ab83c29b2dbfce1b5c06 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Pialasse Date: Mon, 22 Jun 2026 00:55:18 -0400 Subject: [PATCH 3/4] Update versions.txt --- versioning/versions.txt | 213 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 210 insertions(+), 3 deletions(-) diff --git a/versioning/versions.txt b/versioning/versions.txt index 3bcc583d..4de543f4 100644 --- a/versioning/versions.txt +++ b/versioning/versions.txt @@ -6,7 +6,214 @@ minecraft/1.2.0 minecraft/1.3.0 minecraft/1.7.0 +... +mincecraft/26.2 -# CraftBukkit versions -craftbukkit/1.2.0 -craftbukkit/1.3.0 +# Spigot version +spigot/1.17 +... +spigot/26.2 + +#paper versions +paper/26.2 +paper/26.2-rc-2 +paper/26.1.2 +paper/26.1.1 +paper/1.21.11 +paper/1.21.11-rc3 +paper/1.21.11-rc2 +paper/1.21.11-rc1 +paper/1.21.11-pre5 +paper/1.21.11-pre4 +paper/1.21.11-pre3 +paper/1.21.10 +paper/1.21.9 +paper/1.21.9-rc1 +paper/1.21.9-pre4 +paper/1.21.9-pre3 +paper/1.21.9-pre2 +paper/1.21.8 +paper/1.21.7 +paper/1.21.6 +paper/1.21.5 +paper/1.21.4 +paper/1.21.3 +paper/1.21.1 +paper/1.21 +paper/1.20.6 +paper/1.20.5 +paper/1.20.4 +paper/1.20.2 +paper/1.20.1 +paper/1.20 +paper/1.19.4 +paper/1.19.3 +paper/1.19.2 +paper/1.19.1 +paper/1.19 +paper/1.18.2 +paper/1.18.1 +paper/1.18 +paper/1.17.1 +paper/1.17 +paper/1.16.5 +paper/1.16.4 +paper/1.16.3 +paper/1.16.2 +paper/1.16.1 +paper/1.15.2 +paper/1.15.1 +paper/1.15 +paper/1.14.4 +paper/1.14.3 +paper/1.14.2 +paper/1.14.1 +paper/1.14 +paper/1.13.2 +paper/1.13.1 +paper/1.13 +paper/1.13-pre7 +paper/1.12.2 +paper/1.12.1 +paper/1.12 +paper/1.11.2 +paper/1.10.2 +paper/1.9.4 +paper/1.8.8 +paper/1.7.10 + +#purpur versions +purpur/1.14.1 +purpur/1.14.2 +purpur/1.14.3 +purpur/1.14.4 +purpur/1.15 +purpur/1.15.1 +purpur/1.15.2 +purpur/1.16.1 +purpur/1.16.2 +purpur/1.16.3 +purpur/1.16.4 +purpur/1.16.5 +purpur/1.17 +purpur/1.17.1 +purpur/1.18 +purpur/1.18.1 +purpur/1.18.2 +purpur/1.19 +purpur/1.19.1 +purpur/1.19.2 +purpur/1.19.3 +purpur/1.19.4 +purpur/1.20 +purpur/1.20.1 +purpur/1.20.2 +purpur/1.20.4 +purpur/1.20.6 +purpur/1.21 +purpur/1.21.1 +purpur/1.21.3 +purpur/1.21.4 +purpur/1.21.5 +purpur/1.21.6 +purpur/1.21.7 +purpur/1.21.8 +purpur/1.21.9 +purpur/1.21.10 +purpur/1.21.11 +purpur/26.1.2 +purpur/26.2 + +#folia versions +folia/26.1.2 +folia/1.21.11 +folia/1.21.8 +folia/1.21.6 +folia/1.21.5 +folia/1.21.4 +folia/1.20.6 +folia/1.20.4 +folia/1.20.2 +folia/1.20.1 +folia/1.19.4 + +#leaf versions +leaf/1.21.11 +leaf/1.21.4 +leaf/1.21.5 +leaf/1.21.6 +leaf/1.21.7 +leaf/1.21.8 +leaf/26.1.2 +leaf/26.2 + +#leaves versions +leaves/1.19 +leaves/1.19.1 +leaves/1.19.2 +leaves/1.19.3 +leaves/1.19.4 +leaves/1.20 +leaves/1.20.1 +leaves/1.20.2 +leaves/1.20.4 +leaves/1.20.6 +leaves/1.21 +leaves/1.21.1 +leaves/1.21.3 +leaves/1.21.4 +leaves/1.21.5 +leaves/1.21.8 +leaves/1.21.10 +leaves/1.21.11 + +#fabric versions +fabric/26.2 +fabric/26.1.2 +fabric/26.1.1 +fabric/26.1 +fabric/1.21.11 +fabric/1.21.10 +fabric/1.21.9 +fabric/1.21.8 +fabric/1.21.7 +fabric/1.21.6 +fabric/1.21.5 +fabric/1.21.4 +fabric/1.21.3 +fabric/1.21.2 +fabric/1.21.1 +fabric/1.21 +fabric/1.20.6 +fabric/1.20.5 +fabric/1.20.4 +fabric/1.20.3 +fabric/1.20.2 +fabric/1.20.1 +fabric/1.20 +fabric/1.19.4 +fabric/1.19.3 +fabric/1.19.2 +fabric/1.19.1 +fabric/1.19 +fabric/1.18.2 +fabric/1.18.1 +fabric/1.18 +fabric/1.17.1 +fabric/1.17 +fabric/1.16.5 +fabric/1.16.4 +fabric/1.16.3 +fabric/1.16.2 +fabric/1.16.1 +fabric/1.16 +fabric/1.15.2 +fabric/1.15.1 +fabric/1.15 +fabric/1.14.4 +fabric/1.14.3 +fabric/1.14.2 +fabric/1.14.1 +fabric/1.14 + +#quilMC version (need manual intervention) From 717847cdabe67b7a44c6235f00c652e54754c6b2 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Pialasse Date: Mon, 22 Jun 2026 01:02:40 -0400 Subject: [PATCH 4/4] revert --- versioning/versions.txt | 213 +--------------------------------------- 1 file changed, 3 insertions(+), 210 deletions(-) diff --git a/versioning/versions.txt b/versioning/versions.txt index 4de543f4..3bcc583d 100644 --- a/versioning/versions.txt +++ b/versioning/versions.txt @@ -6,214 +6,7 @@ minecraft/1.2.0 minecraft/1.3.0 minecraft/1.7.0 -... -mincecraft/26.2 -# Spigot version -spigot/1.17 -... -spigot/26.2 - -#paper versions -paper/26.2 -paper/26.2-rc-2 -paper/26.1.2 -paper/26.1.1 -paper/1.21.11 -paper/1.21.11-rc3 -paper/1.21.11-rc2 -paper/1.21.11-rc1 -paper/1.21.11-pre5 -paper/1.21.11-pre4 -paper/1.21.11-pre3 -paper/1.21.10 -paper/1.21.9 -paper/1.21.9-rc1 -paper/1.21.9-pre4 -paper/1.21.9-pre3 -paper/1.21.9-pre2 -paper/1.21.8 -paper/1.21.7 -paper/1.21.6 -paper/1.21.5 -paper/1.21.4 -paper/1.21.3 -paper/1.21.1 -paper/1.21 -paper/1.20.6 -paper/1.20.5 -paper/1.20.4 -paper/1.20.2 -paper/1.20.1 -paper/1.20 -paper/1.19.4 -paper/1.19.3 -paper/1.19.2 -paper/1.19.1 -paper/1.19 -paper/1.18.2 -paper/1.18.1 -paper/1.18 -paper/1.17.1 -paper/1.17 -paper/1.16.5 -paper/1.16.4 -paper/1.16.3 -paper/1.16.2 -paper/1.16.1 -paper/1.15.2 -paper/1.15.1 -paper/1.15 -paper/1.14.4 -paper/1.14.3 -paper/1.14.2 -paper/1.14.1 -paper/1.14 -paper/1.13.2 -paper/1.13.1 -paper/1.13 -paper/1.13-pre7 -paper/1.12.2 -paper/1.12.1 -paper/1.12 -paper/1.11.2 -paper/1.10.2 -paper/1.9.4 -paper/1.8.8 -paper/1.7.10 - -#purpur versions -purpur/1.14.1 -purpur/1.14.2 -purpur/1.14.3 -purpur/1.14.4 -purpur/1.15 -purpur/1.15.1 -purpur/1.15.2 -purpur/1.16.1 -purpur/1.16.2 -purpur/1.16.3 -purpur/1.16.4 -purpur/1.16.5 -purpur/1.17 -purpur/1.17.1 -purpur/1.18 -purpur/1.18.1 -purpur/1.18.2 -purpur/1.19 -purpur/1.19.1 -purpur/1.19.2 -purpur/1.19.3 -purpur/1.19.4 -purpur/1.20 -purpur/1.20.1 -purpur/1.20.2 -purpur/1.20.4 -purpur/1.20.6 -purpur/1.21 -purpur/1.21.1 -purpur/1.21.3 -purpur/1.21.4 -purpur/1.21.5 -purpur/1.21.6 -purpur/1.21.7 -purpur/1.21.8 -purpur/1.21.9 -purpur/1.21.10 -purpur/1.21.11 -purpur/26.1.2 -purpur/26.2 - -#folia versions -folia/26.1.2 -folia/1.21.11 -folia/1.21.8 -folia/1.21.6 -folia/1.21.5 -folia/1.21.4 -folia/1.20.6 -folia/1.20.4 -folia/1.20.2 -folia/1.20.1 -folia/1.19.4 - -#leaf versions -leaf/1.21.11 -leaf/1.21.4 -leaf/1.21.5 -leaf/1.21.6 -leaf/1.21.7 -leaf/1.21.8 -leaf/26.1.2 -leaf/26.2 - -#leaves versions -leaves/1.19 -leaves/1.19.1 -leaves/1.19.2 -leaves/1.19.3 -leaves/1.19.4 -leaves/1.20 -leaves/1.20.1 -leaves/1.20.2 -leaves/1.20.4 -leaves/1.20.6 -leaves/1.21 -leaves/1.21.1 -leaves/1.21.3 -leaves/1.21.4 -leaves/1.21.5 -leaves/1.21.8 -leaves/1.21.10 -leaves/1.21.11 - -#fabric versions -fabric/26.2 -fabric/26.1.2 -fabric/26.1.1 -fabric/26.1 -fabric/1.21.11 -fabric/1.21.10 -fabric/1.21.9 -fabric/1.21.8 -fabric/1.21.7 -fabric/1.21.6 -fabric/1.21.5 -fabric/1.21.4 -fabric/1.21.3 -fabric/1.21.2 -fabric/1.21.1 -fabric/1.21 -fabric/1.20.6 -fabric/1.20.5 -fabric/1.20.4 -fabric/1.20.3 -fabric/1.20.2 -fabric/1.20.1 -fabric/1.20 -fabric/1.19.4 -fabric/1.19.3 -fabric/1.19.2 -fabric/1.19.1 -fabric/1.19 -fabric/1.18.2 -fabric/1.18.1 -fabric/1.18 -fabric/1.17.1 -fabric/1.17 -fabric/1.16.5 -fabric/1.16.4 -fabric/1.16.3 -fabric/1.16.2 -fabric/1.16.1 -fabric/1.16 -fabric/1.15.2 -fabric/1.15.1 -fabric/1.15 -fabric/1.14.4 -fabric/1.14.3 -fabric/1.14.2 -fabric/1.14.1 -fabric/1.14 - -#quilMC version (need manual intervention) +# CraftBukkit versions +craftbukkit/1.2.0 +craftbukkit/1.3.0