diff --git a/minecraft/Dockerfile b/minecraft/Dockerfile index beb9680..1ca32d5 100644 --- a/minecraft/Dockerfile +++ b/minecraft/Dockerfile @@ -34,16 +34,16 @@ RUN apt-get -y update \ && update-ca-certificates -f; # Folder creation. -RUN mkdir -p /mc_server /mc_temp \ - && chmod 777 -R /mc_server /mc_temp \ - && chown 99:100 -R /mc_server /mc_temp +RUN mkdir -p /mcserver /mctemp \ + && chmod 777 -R /mcserver /mctemp \ + && chown 99:100 -R /mcserver /mctemp # Main script -RUN wget "$INSTALL_SCRIPT" -O /mc_temp/install_script.sh \ - && chmod +x /mc_temp/install_script.sh +RUN wget "$INSTALL_SCRIPT" -O /mctemp/install_script.sh \ + && chmod +x /mctemp/install_script.sh # Directory where data is stored -VOLUME /mc_server +VOLUME /mcserver # Run command -CMD [ "/bin/bash", "./mc_temp/install_script.sh" ] \ No newline at end of file +CMD [ "/bin/bash", "./mctemp/install_script.sh" ] \ No newline at end of file diff --git a/minecraft/install_script.sh b/minecraft/install_script.sh index f38d322..fd829be 100644 --- a/minecraft/install_script.sh +++ b/minecraft/install_script.sh @@ -2,7 +2,8 @@ # Copyright (c) 2022 fithwum # All rights reserved -MC_DIR=/mc_server +DEBIAN_VERSION=13 +MC_DIR=/mcserver EULA_FILE=$MC_DIR/eula.txt EULA_MARKER=$MC_DIR/.eula_accepted @@ -15,32 +16,61 @@ FORGE_INSTALLER_FILE=https://maven.minecraftforge.net/net/minecraftforge/forge/$ NEOFORGED_INSTALLER_FILE=https://maven.neoforged.net/releases/net/neoforged/neoforge/$NEOFORGED_VERSION/neoforge-$NEOFORGED_VERSION-installer.jar # Install java -if dpkg -s openjdk-$JAVA_VERSION-jre-headless &> /dev/null - then - echo "INFO ! openjdk-$JAVA_VERSION-jre-headless installed ... moving on." - else - echo " " - echo "WARNING ! openjdk-$JAVA_VERSION-jre-headless not installed ... will install now." - apt-get update - apt-get --no-install-recommends -y install openjdk-$JAVA_VERSION-jre-headless +if [ $JAVA_VERSION = "openjdk-21-jre" ]; then + echo "INFO ! $JAVA_VERSION Selected" + if dpkg -s $JAVA_VERSION &> /dev/null + then + echo "INFO ! $JAVA_VERSION installed ... moving on." + else + echo " " + echo "WARNING ! $JAVA_VERSION not installed ... will install now." + apt-get update + apt-get --no-install-recommends -y install $JAVA_VERSION + fi +if [ $JAVA_VERSION = "openjdk-25-jre" ]; then + echo "INFO ! $JAVA_VERSION Selected" + if dpkg -s $JAVA_VERSION &> /dev/null + then + echo "INFO ! $JAVA_VERSION installed ... moving on." + else + echo " " + echo "WARNING ! $JAVA_VERSION not installed ... will install now." + apt-get update + apt-get --no-install-recommends -y install $JAVA_VERSION + fi +elif [ $JAVA_VERSION = "msopenjdk-21" ]; then + echo "INFO ! $JAVA_VERSION Selected" + if dpkg -s $JAVA_VERSION &> /dev/null + then + echo "INFO ! $JAVA_VERSION installed ... moving on." + else + echo " " + echo "WARNING ! $JAVA_VERSION not installed ... will install now." + wget https://packages.microsoft.com/config/debian/$DEBIAN_VERSION/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ + dpkg -i packages-microsoft-prod.deb \ + apt-get update && apt-get install -y $JAVA_VERSION \ + apt-get -y update && apt-get -y --fix-broken install + fi +elif [ $JAVA_VERSION = "msopenjdk-25" ]; then + echo "INFO ! $JAVA_VERSION Selected" + if dpkg -s $JAVA_VERSION &> /dev/null + then + echo "INFO ! $JAVA_VERSION installed ... moving on." + else + echo " " + echo "WARNING ! $JAVA_VERSION not installed ... will install now." + wget https://packages.microsoft.com/config/debian/$DEBIAN_VERSION/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ + dpkg -i packages-microsoft-prod.deb \ + apt-get update && apt-get install -y $JAVA_VERSION \ + apt-get -y update && apt-get -y --fix-broken install + fi +else + echo "ERROR ! Java version must be set first run" + sleep infinity fi -# if dpkg -s msopenjdk-$JAVA_VERSION &> /dev/null -# then -# echo "INFO ! msopenjdk-$JAVA_VERSION installed ... moving on." -# else -# echo " " -# echo "WARNING ! msopenjdk-$JAVA_VERSION not installed ... will install now." -# wget https://packages.microsoft.com/config/debian/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ -# dpkg -i packages-microsoft-prod.deb \ -# apt-get update && apt-get install -y msopenjdk-25 \ -# apt-get -y update && apt-get -y --fix-broken install -# fi - # Main install (Debian). # Check for server files and download if needed. - -# WORKING if [ $MC_TYPE = "vanilla" ]; then echo "INFO ! Vanilla Selected" if [ -e $MC_DIR/mcserver-$MC_VERSION.jar ] @@ -202,8 +232,6 @@ elif [ $MC_TYPE = "quilt" ]; then chmod +x run-$MC_TYPE-$MC_VERSION.sh cd .. fi - -# NOT WORKING elif [ $MC_TYPE = "forge" ]; then echo "INFO ! Forge Selected" if [ -e $MC_DIR/forge-$MC_VERSION-$FORGE_VERSION-installer.jar ] diff --git a/testing/Dockerfile b/testing/Dockerfile index 4f23785..242a8dc 100644 --- a/testing/Dockerfile +++ b/testing/Dockerfile @@ -34,16 +34,16 @@ RUN apt-get -y update \ && update-ca-certificates -f; # Folder creation. -RUN mkdir -p /mc_server /mc_temp \ - && chmod 777 -R /mc_server /mc_temp \ - && chown 99:100 -R /mc_server /mc_temp +RUN mkdir -p /mcserver /mctemp \ + && chmod 777 -R /mcserver /mctemp \ + && chown 99:100 -R /mcserver /mctemp # Main script -RUN wget "$INSTALL_SCRIPT" -O /mc_temp/install_script.sh \ - && chmod +x /mc_temp/install_script.sh +RUN wget "$INSTALL_SCRIPT" -O /mctemp/install_script.sh \ + && chmod +x /mctemp/install_script.sh # Directory where data is stored -VOLUME /mc_server +VOLUME /mcserver # Run command -CMD [ "/bin/bash", "./mc_temp/install_script.sh" ] \ No newline at end of file +CMD [ "/bin/bash", "./mctemp/install_script.sh" ] \ No newline at end of file diff --git a/testing/install_script.sh b/testing/install_script.sh index e4bd138..d1820e0 100644 --- a/testing/install_script.sh +++ b/testing/install_script.sh @@ -4,8 +4,8 @@ DEBIAN_VERSION=13 -MC_DIR_OLD=/MCserver -MC_DIR=/mc_server +MC_DIR_OLD=/mc_server +MC_DIR=/mcserver if [ -d "$MC_DIR_OLD" ]; then mkdir -p "$MC_DIR"