added forge

This commit is contained in:
fithwum
2023-03-21 06:28:43 -07:00
parent 968ea3ee5d
commit 31c3b31395
6 changed files with 165 additions and 12 deletions

View File

@@ -5,7 +5,7 @@ ENV ACCEPT_EULA="false"
ENV GAME_PORT=25565
# URL's for files
ARG INSTALL_SCRIPT=https://raw.githubusercontent.com/fithwum/minecraft/master/forge-stable/files/Install_Script.sh
ARG INSTALL_SCRIPT=https://raw.githubusercontent.com/fithwum/minecraft/master/forge/forge-1.18.2/files/Install_Script.sh
# Install java-17 & Dependencies.
RUN apt-get -y update \

View File

@@ -6,23 +6,26 @@
echo " "
echo "INFO ! Checking for latest Minecraft Server version."
MC_VERSION_OLD=
MC_VERSION=forge-1.18.2
MC_VERSION=1.18.2
MC_SERVER_FILE=https://maven.minecraftforge.net/net/minecraftforge/forge/1.18.2-40.2.0/forge-1.18.2-40.2.0-installer.jar
MC_RUN_FILE=https://raw.githubusercontent.com/fithwum/minecraft/master/forge/${MC_VERSION}/files/run.sh
# Main install (Debian).
# Check for files in /MCserver and download if needed.
if [ -e /MCserver/forge-server_${MC_VERSION}.jar ]
if [ -e /MCserver/server_forge-${MC_VERSION}.jar ]
then
echo " "
echo "INFO ! forge-server_${MC_VERSION}.jar found starting now."
echo "INFO ! server_forge-${MC_VERSION}.jar found starting now."
else
echo " "
echo "WARNING ! forge-server_${MC_VERSION}.jar is out of date/missing ... will download now."
echo "WARNING ! server_forge-${MC_VERSION}.jar is out of date/missing ... will download now."
echo " "
echo "INFO ! Cleaning old files."
mkdir /MCserver/old-server-versions/${MC_VERSION_OLD}
mv /MCserver/forge-server_${MC_VERSION_OLD}.jar /MCserver/old-server-versions/${MC_VERSION_OLD}
mv /MCserver/run_${MC_VERSION_OLD}.sh /MCserver/old-server-versions/${MC_VERSION_OLD}
wget --no-cache https://launcher.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar -O /MCserver/forge-server_${MC_VERSION}.jar
mv /MCserver/server_forge-${MC_VERSION_OLD}.jar /MCserver/old-server-versions/${MC_VERSION_OLD}
wget --no-cache ${MC_SERVER_FILE} -O /MCserver/server_forge-${MC_VERSION}.jar
/MCserver/server_forge-${MC_VERSION}.jar --installServer
fi
sleep 1
@@ -36,7 +39,7 @@ if [ -e /MCserver/run_${MC_VERSION}.sh ]
echo " "
echo "WARNING ! run_${MC_VERSION_OLD}.sh is out of date/missing ... will download now."
mv /MCserver/run_${MC_VERSION_OLD}.sh /MCserver/old-server-versions/${MC_VERSION_OLD}
wget --no-cache https://raw.githubusercontent.com/fithwum/minecraft/master/files/run.sh -O /MCserver/run_${MC_VERSION}.sh
wget --no-cache ${MC_RUN_FILE} -O /MCserver/run_${MC_VERSION}.sh
fi
sleep 1
@@ -88,7 +91,7 @@ sleep 1
chown 99:100 -R /MCserver
chmod 777 -R /MCserver
chmod +x /MCserver/run_${MC_VERSION}.sh
chmod +x /MCserver/forge-server_${MC_VERSION}.jar
chmod +x /MCserver/server_forge-${MC_VERSION}.jar
sleep 1

View File

@@ -2,10 +2,10 @@
# Copyright (c) 2022 fithwum
# All rights reserved
MC_VERSION=forge-1.18.2
MC_VERSION=1.18.2
cd /MCserver
JAR=./forge-server_${MC_VERSION}.jar
JAR=./server_forge-${MC_VERSION}.jar
while [ true ]; do
java -Xmx4G -Xms1024M -Xmn1G -jar $JAR nogui

View File

@@ -0,0 +1,32 @@
FROM fithwum/debian-base:bullseye
LABEL maintainer "fithwum"
ENV ACCEPT_EULA="false"
ENV GAME_PORT=25565
# URL's for files
ARG INSTALL_SCRIPT=https://raw.githubusercontent.com/fithwum/minecraft/master/forge/forge-1.19.3/files/Install_Script.sh
# Install java-17 & Dependencies.
RUN apt-get -y update \
&& apt-get -y --fix-broken install \
&& apt-get install -y software-properties-common openjdk-17-jdk \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates -f;
# Folder creation.
RUN mkdir -p /MCserver /MCtemp \
&& chmod 777 -R /MCserver /MCtemp \
&& chown 99:100 -R /MCserver /MCtemp
ADD "${INSTALL_SCRIPT}" /MCtemp
RUN chmod +x /MCtemp/Install_Script.sh
# Directory where data is stored
VOLUME /MCserver
# 25565 Default.
EXPOSE 25565/udp 25565/tcp
# Run command
CMD [ "/bin/bash", "./MCtemp/Install_Script.sh" ]

View File

@@ -0,0 +1,103 @@
#!/bin/bash
# Copyright (c) 2022 fithwum
# All rights reserved
# Variables.
echo " "
echo "INFO ! Checking for latest Minecraft Server version."
MC_VERSION_OLD=
MC_VERSION=1.19.3
MC_SERVER_FILE=https://maven.minecraftforge.net/net/minecraftforge/forge/1.19.3-44.1.0/forge-1.19.3-44.1.0-installer.jar
MC_RUN_FILE=https://raw.githubusercontent.com/fithwum/minecraft/master/forge/${MC_VERSION}/files/run.sh
# Main install (Debian).
# Check for files in /MCserver and download if needed.
if [ -e /MCserver/server_forge-${MC_VERSION}.jar ]
then
echo " "
echo "INFO ! server_forge-${MC_VERSION}.jar found starting now."
else
echo " "
echo "WARNING ! server_forge-${MC_VERSION}.jar is out of date/missing ... will download now."
echo " "
echo "INFO ! Cleaning old files."
mkdir /MCserver/old-server-versions/${MC_VERSION_OLD}
mv /MCserver/server_forge-${MC_VERSION_OLD}.jar /MCserver/old-server-versions/${MC_VERSION_OLD}
wget --no-cache ${MC_SERVER_FILE} -O /MCserver/server_forge-${MC_VERSION}.jar
/MCserver/server_forge-${MC_VERSION}.jar --installServer
fi
sleep 1
# Looking for run_${MC_VERSION}.sh
if [ -e /MCserver/run_${MC_VERSION}.sh ]
then
echo " "
echo "INFO ! run_${MC_VERSION}.sh found ... will use existing file."
else
echo " "
echo "WARNING ! run_${MC_VERSION_OLD}.sh is out of date/missing ... will download now."
mv /MCserver/run_${MC_VERSION_OLD}.sh /MCserver/old-server-versions/${MC_VERSION_OLD}
wget --no-cache ${MC_RUN_FILE} -O /MCserver/run_${MC_VERSION}.sh
fi
sleep 1
# Check for EULA
if [ ! -f /MCserver/eula.txt ]; then
:
else
if [ "${ACCEPT_EULA}" == "false" ]; then
if grep -rq 'eula=true' /MCserver/eula.txt; then
sed -i '/eula=true/c\eula=false' /MCserver/eula.txt
fi
echo " "
echo "WARNING ! EULA not accepted, you must accept the EULA"
echo " to start the Server, putting server in sleep mode"
sleep infinity
fi
fi
sleep 1
if [ ! -f /MCserver/eula.txt ]; then
echo " "
echo "WARNING ! EULA not found please stand by..."
sleep 5
fi
if [ "${ACCEPT_EULA}" == "true" ]; then
if grep -rq 'eula=false' /MCserver/eula.txt; then
sed -i '/eula=false/c\eula=true' /MCserver/eula.txt
echo " "
echo "INFO ! EULA accepted, server restarting, please wait..."
sleep 1
exec /MCserver/run_${MC_VERSION}.sh --dataPath=/MCserver
exit 0
fi
elif [ "${ACCEPT_EULA}" == "false" ]; then
echo " "
echo "WARNING ! EULA not accepted, you must accept the EULA"
echo " to start the Server, putting server in sleep mode"
sleep infinity
else
echo " "
echo "WARNING ! Something went wrong, please check EULA variable"
fi
sleep 1
# Set permissions.
chown 99:100 -R /MCserver
chmod 777 -R /MCserver
chmod +x /MCserver/run_${MC_VERSION}.sh
chmod +x /MCserver/server_forge-${MC_VERSION}.jar
sleep 1
# Run Minecraft server.
echo " "
echo "INFO ! Starting Minecraft Server ${MC_VERSION}"
exec /MCserver/run_${MC_VERSION}.sh --dataPath=/MCserver
exit

View File

@@ -0,0 +1,15 @@
#!/bin/bash
# Copyright (c) 2022 fithwum
# All rights reserved
MC_VERSION=1.18.2
cd /MCserver
JAR=./server_forge-${MC_VERSION}.jar
while [ true ]; do
java -Xmx4G -Xms1024M -Xmn1G -jar $JAR nogui
if [ $? -eq 0 ]; then
break
fi
done