Skip to content

Commit

Permalink
v9.10 (#7352)
Browse files Browse the repository at this point in the history
- DietPi-Software | PaperMC: Fix Geyser plugin version for older PaperMC versions
- CI | DietPi-Software test: Give PaperMC more time to start, and assure that files in /mnt/dietpi_userdata remain there, even when it is overmounted by a tmpfs, to work around the 32-bit QEMU bug
- CI | Fix poweroff from automation service and give PaperMC in emulated container more time to start up
- DietPi-Software | Disable Java and Java applications on ARMv6: #6919
  • Loading branch information
MichaIng authored Jan 7, 2025
1 parent b694332 commit 20e6337
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 60 deletions.
2 changes: 1 addition & 1 deletion .build/images/dietpi-build
Original file line number Diff line number Diff line change
Expand Up @@ -621,7 +621,7 @@ After=dietpi-postboot.service
Type=idle
StandardOutput=tty
ExecStart=/bin/dash -c 'infocmp "$TERM" > /dev/null 2>&1 || export TERM=dumb; exec /boot/dietpi/dietpi-login'
ExecStop=/usr/sbin/systemctl start poweroff.target
ExecStop=/usr/bin/systemctl start poweroff.target
[Install]
WantedBy=multi-user.target
Expand Down
2 changes: 1 addition & 1 deletion .build/software/Amiberry/container_build.bash
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ After=dietpi-postboot.service
Type=idle
StandardOutput=tty
ExecStart=/bin/dash -c 'infocmp "$TERM" > /dev/null 2>&1 || { echo "[ WARN ] Unsupported TERM=\"$TERM\", switching to TERM=\"dumb\""; export TERM=dumb; }; exec /boot/dietpi/dietpi-login'
ExecStop=/usr/sbin/systemctl start poweroff.target
ExecStop=/usr/bin/systemctl start poweroff.target
[Install]
WantedBy=multi-user.target
Expand Down
2 changes: 1 addition & 1 deletion .build/software/dietpi-software-build.bash
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ After=dietpi-postboot.service
Type=idle
StandardOutput=tty
ExecStart=/bin/dash -c 'infocmp "$TERM" > /dev/null 2>&1 || { echo "[ WARN ] Unsupported TERM=\"$TERM\", switching to TERM=\"dumb\""; export TERM=dumb; }; exec /boot/dietpi/dietpi-login'
ExecStop=/usr/sbin/systemctl start poweroff.target
ExecStop=/usr/bin/systemctl start poweroff.target
[Install]
WantedBy=multi-user.target
Expand Down
22 changes: 18 additions & 4 deletions .github/workflows/dietpi-software.bash
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ Process_Software()
178) aSERVICES[i]='jellyfin' aTCP[i]='8097'; [[ $arch == [23] ]] && aDELAY[i]=300;; # jellyfin[9983]: arm-binfmt-P: ../../target/arm/translate.c:9659: thumb_tr_translate_insn: Assertion `(dc->base.pc_next & 1) == 0' failed. ### jellyfin[9983]: qemu: uncaught target signal 6 (Aborted) - core dumped ### about 5 times
179) aSERVICES[i]='komga' aTCP[i]='2037'; (( $arch == 10 )) && aDELAY[i]=30; (( $arch != 10 )) && aDELAY[i]=300;;
180) aSERVICES[i]='bazarr' aTCP[i]='6767'; (( $arch == 10 )) && aDELAY[i]=30; (( $arch < 10 )) && aDELAY[i]=90;;
181) aSERVICES[i]='papermc' aTCP[i]='25565 25575';;
181) aSERVICES[i]='papermc' aTCP[i]='25565 25575'; (( $arch == 10 )) && aDELAY[i]=60 || aDELAY[i]=600;;
182) aSERVICES[i]='unbound' aUDP[i]='53'; [[ ${aSERVICES[126]} ]] && aUDP[i]+=' 5335';; # Uses port 5335 if Pi-hole or AdGuard Home is installed, but those do listen on port 53 instead
183) aSERVICES[i]='vaultwarden' aTCP[i]='8001'; (( $arch < 10 )) && aDELAY[i]=20;;
184) aSERVICES[i]='tor';; # aTCP[i]='443 9051' Interactive install with ports depending on choice and relay type
Expand Down Expand Up @@ -254,7 +254,7 @@ do
38|40|48|54|55|57|59|76|79|82|90|160|210) Process_Software 88 89 webserver;;
159) Process_Software 36 37 65 88 89 96 121 124 128 129 152 160 163 webserver;;
47|114|168) Process_Software 88 89 91 webserver;;
8|33|131|179|181|206) Process_Software 196;;
8|33|53|80|131|133|164|179|181|206) Process_Software 196;;
32|148|119) Process_Software 128;;
129) Process_Software 88 89 128 webserver;;
49|165|177) Process_Software 0 17 88;;
Expand Down Expand Up @@ -369,7 +369,7 @@ Type=idle
StandardOutput=tty
Environment=HOME=/root
ExecStart=/bin/dash -c 'infocmp "$TERM" > /dev/null 2>&1 || export TERM=dumb; exec /boot/dietpi/dietpi-login'
ExecStop=/usr/sbin/systemctl start poweroff.target
ExecStop=/usr/bin/systemctl start poweroff.target
[Install]
WantedBy=multi-user.target
Expand Down Expand Up @@ -406,9 +406,23 @@ G_EXEC eval 'echo -e '\''[Service]\nPrivateUsers=0'\'' > rootfs/etc/systemd/syst
G_EXEC eval 'echo -e '\''[Service]\nAmbientCapabilities='\'' > rootfs/etc/systemd/system/homebridge.service.d/dietpi-container.conf'

# Workaround for failing 32-bit ARM Rust builds on ext4 in QEMU emulated container on 64-bit host: https://github.com/rust-lang/cargo/issues/9545
(( $arch < 3 && $G_HW_ARCH > 9 )) && G_EXEC eval 'echo -e '\''tmpfs /mnt/dietpi_userdata tmpfs size=3G,noatime,lazytime\ntmpfs /root tmpfs size=3G,noatime,lazytime'\'' >> rootfs/etc/fstab'
if (( $arch < 3 && $G_HW_ARCH > 9 ))
then
G_EXEC eval 'echo -e '\''tmpfs /mnt/dietpi_userdata tmpfs size=3G,noatime,lazytime\ntmpfs /root tmpfs size=3G,noatime,lazytime'\'' >> rootfs/etc/fstab'
cat << '_EOF_' > rootfs/boot/Automation_Custom_PreScript.sh
#!/bin/dash -e
findmnt /mnt/dietpi_userdata > /dev/null 2>&1 || exit 0
umount /mnt/dietpi_userdata
mkdir /mnt/dietpi_userdata_bak
mv /mnt/dietpi_userdata/* /mnt/dietpi_userdata_bak/
mount /mnt/dietpi_userdata
mv /mnt/dietpi_userdata_bak/* /mnt/dietpi_userdata/
rm -R /mnt/dietpi_userdata_bak
_EOF_
fi

# Workaround failing Java apps if 64-bit host memory leads to too large heap size in emulated 32-bit containers: https://stackoverflow.com/questions/4401396
# shellcheck disable=SC2016
(( $arch < 3 && $G_HW_ARCH > 2)) && G_EXEC sed --follow-symlinks -i '/# Start DietPi-Software/a\sed -i '\''s|-mx${memory_limit}m|-mx1024m|'\'' /boot/dietpi/dietpi-software' rootfs/boot/dietpi/dietpi-login

# Workaround for Node.js on ARMv6
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ Bug fixes:
- DietPi-Software | Home Assistant: Worked around an issue where the installation failed on ARMv6 and RISC-V systems, due to an incompatibility between two dependencies. Many thanks to @jankkhvej for reporting this issue: https://github.com/MichaIng/DietPi/issues/7329
- DietPi-Software | Komga: Resolved an issue where the service start on fresh installs failed, since the latest version does not auto-generate the needed .komga sub directory anymore.
- DietPi-Software | PaperMC: Resolved an issue where the installation failed, because the API URL changed. Many thanks to @onkeld for reporting this issue: https://github.com/MichaIng/DietPi/issues/7349
- DietPi-Software | PaperMC: Resolved an issue where the installation failed on Bullseye and Bookworm systems, as Minecraft 1.21 requires Java 21, available on Debian Trixie only. PaperMC 1.20.4 will be installed in those cases now, the latest version which supports Java 17. As a side note: In the same turn, the installation has been re-enabled on ARMv6 systems, using PaperMC 1.16.5, the latest one supporting Java 8.
- DietPi-Software | PaperMC: Resolved an issue where the installation failed on Bullseye and Bookworm systems, as Minecraft 1.21 requires Java 21, available on Debian Trixie only. PaperMC 1.20.4 will be installed in those cases now, the latest version which supports Java 17.
- DietPi-Software | Java: Since the Java 8 package from Raspbian cannot be successfully installed anymore, due to a dependency conflict, and newer (Hotspot VM) Java versions are not compatible with ARMv6, Java and all Java applications have been disabled for this architecture (RPi 1 and Zero). You can still uninstall related applications via dietpi-software, but not install or reinstall them. We are sorry for this step, but our related bug report at Raspbian did not get any traction, and also on Raspberry Pi forum the issue did not really come up since the year it exists. Java applications on Linux anyway consume a lot of resources (for the runtime) and are slow, hence the interest running such on old RPi 1 and Zero (1) models seems to be minimal, and it had limitations due to Java 8 only. If anyone is seriously interested, please push the existing Raspbian bug report, as a fix at Raspbian side is theoretically very simple: https://bugs.launchpad.net/raspbian/+bug/2087632. If there was a 3rd party APT repository with recent ARMv6-compatible Java versions, that would be an option as well.

As always, many smaller code performance and stability improvements, visual and spelling fixes have been done, too much to list all of them here. Check out all code changes of this release on GitHub: https://github.com/MichaIng/DietPi/pull/ADDME

Expand Down
90 changes: 38 additions & 52 deletions dietpi/dietpi-software
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,8 @@ Available commands:
aSOFTWARE_CATX[$software_id]=2
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/media/#airsonic'
aSOFTWARE_DEPS[$software_id]='5 7 196'
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=35
aSOFTWARE_NAME[$software_id]='Lyrion Music Server'
Expand Down Expand Up @@ -529,6 +531,8 @@ Available commands:
aSOFTWARE_CATX[$software_id]=2
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/media/#ubooquity'
aSOFTWARE_DEPS[$software_id]='196'
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=179
aSOFTWARE_NAME[$software_id]='Komga'
Expand All @@ -538,6 +542,8 @@ Available commands:
aSOFTWARE_DEPS[$software_id]='196'
# - RISC-V: An embedded Java library has no RISC-V support yet: "Caused by: java.lang.Exception: No native library found for os.name=Linux, os.arch=riscv64"
#aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=86
aSOFTWARE_NAME[$software_id]='Roon Extension Manager'
Expand Down Expand Up @@ -919,6 +925,8 @@ Available commands:
aSOFTWARE_CATX[$software_id]=5
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/gaming/#mineos'
aSOFTWARE_DEPS[$software_id]='9 17 196'
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=156
aSOFTWARE_NAME[$software_id]='Steam'
Expand All @@ -939,13 +947,18 @@ Available commands:
aSOFTWARE_CATX[$software_id]=5
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/gaming/#nukkit'
aSOFTWARE_DEPS[$software_id]='196'
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=181
aSOFTWARE_NAME[$software_id]='PaperMC'
aSOFTWARE_DESC[$software_id]='Highly optimised Minecraft server with plugins, written in Java'
aSOFTWARE_CATX[$software_id]=5
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/gaming/#papermc'
aSOFTWARE_DEPS[$software_id]='196'
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
# Allow unattended installs if EULA has been accepted already
[[ -f '/mnt/dietpi_userdata/papermc/eula.txt' ]] || aSOFTWARE_INTERACTIVE[$software_id]=1
#------------------
software_id=62
Expand Down Expand Up @@ -1255,6 +1268,8 @@ Available commands:
aSOFTWARE_CATX[$software_id]=10
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/hardware_projects/#blynk-server'
aSOFTWARE_DEPS[$software_id]='196 9'
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=166
aSOFTWARE_NAME[$software_id]='Audiophonics PI-SPC'
Expand Down Expand Up @@ -1536,7 +1551,7 @@ Available commands:
aSOFTWARE_CATX[$software_id]=17
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/home_automation/#openhab'
aSOFTWARE_DEPS[$software_id]='196'
# - ARMv6: Requires at least Java 11
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=211
Expand Down Expand Up @@ -1582,6 +1597,8 @@ Available commands:
aSOFTWARE_CATX[$software_id]=19
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/distributed_projects/#yacy'
aSOFTWARE_DEPS[$software_id]='196'
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=141
aSOFTWARE_NAME[$software_id]='ADS-B Feeder'
Expand Down Expand Up @@ -1772,12 +1789,16 @@ Available commands:
aSOFTWARE_CATX[$software_id]=26
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/programming/#java'
aSOFTWARE_DEPS[$software_id]='196'
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=196
aSOFTWARE_NAME[$software_id]='Java JRE'
aSOFTWARE_DESC[$software_id]='OpenJDK Runtime Environment'
aSOFTWARE_CATX[$software_id]=26
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/programming/#java'
# - ARMv6: No functional Java available
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
#------------------
software_id=9
aSOFTWARE_NAME[$software_id]='Node.js'
Expand Down Expand Up @@ -2960,13 +2981,8 @@ unix_socket_directories = '/run/postgresql'" > "$i/00dietpi.conf"

if To_Install 196 # Java JRE
then
# ARMv6
if (( $G_HW_ARCH == 1 ))
then
local version=8

# Trixie without openHAB
elif (( $G_DISTRO > 7 && ${aSOFTWARE_INSTALL_STATE[206]} < 1 ))
if (( $G_DISTRO > 7 && ${aSOFTWARE_INSTALL_STATE[206]} < 1 ))
then
local version=21

Expand All @@ -2981,13 +2997,8 @@ unix_socket_directories = '/run/postgresql'" > "$i/00dietpi.conf"

if To_Install 8 # Java JDK
then
# ARMv6
if (( $G_HW_ARCH == 1 ))
then
local version=8

# Trixie without openHAB
elif (( $G_DISTRO > 7 && ${aSOFTWARE_INSTALL_STATE[206]} < 1 ))
if (( $G_DISTRO > 7 && ${aSOFTWARE_INSTALL_STATE[206]} < 1 ))
then
local version=21

Expand Down Expand Up @@ -4115,13 +4126,8 @@ _EOF_
if To_Install 133 yacy # YaCy
then
# Get latest download
if (( $G_HW_ARCH == 1 ))
then
local file='yacy_v1.926_202308282208_376bcfd54_last_java_8.tar.gz'
else
local file=$(curl -sSfL 'https://download.yacy.net/?C=N;O=D' | grep -wo 'yacy_v[0-9._a-f]*\.tar\.gz' | head -1)
[[ $file ]] || { file='yacy_v1.940_202405270005_70454654f.tar.gz'; G_DIETPI-NOTIFY 1 "Automatic latest ${aSOFTWARE_NAME[$software_id]} version detection failed. \"$file\" will be installed as fallback, but a newer version might be available. Please report this at: https://github.com/MichaIng/DietPi/issues"; }
fi
local file=$(curl -sSfL 'https://download.yacy.net/?C=N;O=D' | grep -wo 'yacy_v[0-9._a-f]*\.tar\.gz' | head -1)
[[ $file ]] || { file='yacy_v1.940_202405270005_70454654f.tar.gz'; G_DIETPI-NOTIFY 1 "Automatic latest ${aSOFTWARE_NAME[$software_id]} version detection failed. \"$file\" will be installed as fallback, but a newer version might be available. Please report this at: https://github.com/MichaIng/DietPi/issues"; }

Download_Install "https://download.yacy.net/$file" /etc

Expand Down Expand Up @@ -6166,15 +6172,9 @@ _EOF_

if To_Install 33 airsonic # Airsonic-Advanced
then
# ARMv6: Download latest v10 as v11 does not support Java 8
if (( $G_HW_ARCH == 1 ))
then
Download_Install 'https://github.com/airsonic-advanced/airsonic-advanced/releases/download/v10.6.0/airsonic.war' /mnt/dietpi_userdata/airsonic/airsonic.war
else
# Since v11 is not yet released, pull latest pre-release
local fallback_url='https://github.com/airsonic-advanced/airsonic-advanced/releases/download/11.0.0-SNAPSHOT.20240424015024/airsonic.war'
Download_Install "$(curl -sSfL 'https://api.github.com/repos/airsonic-advanced/airsonic-advanced/releases' | mawk -F\" '/^ *"browser_download_url": ".*\/airsonic\.war"$/{print $4}' | head -1)" /mnt/dietpi_userdata/airsonic/airsonic.war
fi
# Since v11 is not yet released, pull latest pre-release
local fallback_url='https://github.com/airsonic-advanced/airsonic-advanced/releases/download/11.0.0-SNAPSHOT.20240424015024/airsonic.war'
Download_Install "$(curl -sSfL 'https://api.github.com/repos/airsonic-advanced/airsonic-advanced/releases' | mawk -F\" '/^ *"browser_download_url": ".*\/airsonic\.war"$/{print $4}' | head -1)" /mnt/dietpi_userdata/airsonic/airsonic.war

# User
Create_User -g dietpi -G audio -d /mnt/dietpi_userdata/airsonic airsonic
Expand Down Expand Up @@ -6794,15 +6794,7 @@ _EOF_
# RPi: Install build deps for the "onoff" Node module
(( $G_HW_MODEL > 9 )) || aDEPS=('python3' 'make' 'g++')

# ARMv6: Install Java 8 build and apply Log4Shell mitigation as the last Java 8 build does not contain it: https://github.com/Peterkn2001/blynk-server/releases
local log4shell=
if (( $G_HW_ARCH == 1 ))
then
log4shell=' -Dlog4j2.formatMsgNoLookups=true'
Download_Install 'https://github.com/Peterkn2001/blynk-server/releases/download/v0.41.16/server-0.41.16-java8.jar' /mnt/dietpi_userdata/blynk/blynkserver.jar
else
Download_Install 'https://github.com/Peterkn2001/blynk-server/releases/download/v0.41.17/server-0.41.17.jar' /mnt/dietpi_userdata/blynk/blynkserver.jar
fi
Download_Install 'https://github.com/Peterkn2001/blynk-server/releases/download/v0.41.17/server-0.41.17.jar' /mnt/dietpi_userdata/blynk/blynkserver.jar

# RPi: Install "onoff" for GPIO access
(( $G_HW_MODEL > 9 )) || G_EXEC_OUTPUT=1 G_EXEC npm i -g --no-audit onoff@latest
Expand Down Expand Up @@ -6833,7 +6825,7 @@ _EOF_
Create_User -d /mnt/dietpi_userdata/blynk blynk

# Service
cat << _EOF_ > /etc/systemd/system/blynkserver.service
cat << '_EOF_' > /etc/systemd/system/blynkserver.service
[Unit]
Description=Blynk Server (DietPi)
Wants=network-online.target
Expand All @@ -6844,7 +6836,7 @@ SyslogIdentifier=Blynk
User=blynk
LogsDirectory=blynk
WorkingDirectory=/mnt/dietpi_userdata/blynk
ExecStart=/usr/bin/java$log4shell -jar /mnt/dietpi_userdata/blynk/blynkserver.jar
ExecStart=/usr/bin/java -jar /mnt/dietpi_userdata/blynk/blynkserver.jar
SuccessExitStatus=143

# Hardening
Expand Down Expand Up @@ -7491,14 +7483,8 @@ _EOF_

if To_Install 179 komga # Komga
then
# Komga v1 requires Java >=17: https://komga.org/blog/prepare-v1/
if (( $G_HW_ARCH == 1 ))
then
Download_Install 'https://github.com/gotson/komga/releases/download/v0.165.0/komga-0.165.0.jar' /mnt/dietpi_userdata/komga/komga.jar
else
local fallback_url='https://github.com/gotson/komga/releases/download/1.16.0/komga-1.16.0.jar'
Download_Install "$(curl -sSfL 'https://api.github.com/repos/gotson/komga/releases/latest' | mawk -F\" '/^ *"browser_download_url": ".*\/komga-[^"\/]*\.jar"$/{print $4}')" /mnt/dietpi_userdata/komga/komga.jar
fi
local fallback_url='https://github.com/gotson/komga/releases/download/1.16.0/komga-1.16.0.jar'
Download_Install "$(curl -sSfL 'https://api.github.com/repos/gotson/komga/releases/latest' | mawk -F\" '/^ *"browser_download_url": ".*\/komga-[^"\/]*\.jar"$/{print $4}')" /mnt/dietpi_userdata/komga/komga.jar

# User
Create_User -G dietpi -d /mnt/dietpi_userdata/komga komga
Expand Down Expand Up @@ -11505,9 +11491,7 @@ _EOF_
local url='https://api.papermc.io/v2/projects/paper'
# - Minecraft 1.20.5 and above requires Java 21: https://minecraft.wiki/w/Java_Edition_1.20.5
local version='1.20.4'
# - ARMv6: Minecraft 1.17 requires Java 16: https://minecraft.wiki/w/Java_Edition_1.17
(( $G_HW_ARCH == 1 )) && version='1.16.5'
(( $G_HW_ARCH > 1 && $G_DISTRO > 7 )) && { version=$(curl -sSfL "$url"); version=${version%\"*}; version=${version##*\"}; }
(( $G_DISTRO > 7 )) && { version=$(curl -sSfL "$url"); version=${version%\"*}; version=${version##*\"}; }
local build=$(curl -sSfL "$url/versions/$version"); build=${build%]*} build=${build##*[,[]}
#local file=$(curl -sSfL "$url/versions/$version/builds/$build"); file=${file##*\"name\":\"} file=${file%%\"*}
# Download and install PaperMC
Expand All @@ -11524,7 +11508,9 @@ _EOF_
[[ -f '/mnt/dietpi_userdata/papermc/plugins/Geyser-Spigot.jar' ]] && G_WHIP_DEFAULT_ITEM='Yes'
if G_WHIP_YESNO 'Would you like to install the Geyser and Floodgate plugins for compatibility with Bedrock Edition?\n\nNote that this may be buggy.'
then
Download_Install 'https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot' /mnt/dietpi_userdata/papermc/plugins/Geyser-Spigot.jar
local version='2.2.3'
(( $G_DISTRO > 7 )) && version='latest'
Download_Install "https://download.geysermc.org/v2/projects/geyser/versions/$version/builds/latest/downloads/spigot" /mnt/dietpi_userdata/papermc/plugins/Geyser-Spigot.jar
Download_Install 'https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot' /mnt/dietpi_userdata/papermc/plugins/floodgate-spigot.jar
fi

Expand Down

0 comments on commit 20e6337

Please sign in to comment.