give it a try

This commit is contained in:
CerberusV1
2024-10-12 14:42:38 +02:00
parent 1b75f44a2b
commit 433e78f045

117
deploy.sh
View File

@@ -25,69 +25,69 @@ EOF
echo "Checking dependencies..." echo "Checking dependencies..."
sleep 2 sleep 2
# Function to check if a program is installed # Function to check if a program is installed
check_installed() { # check_installed() {
if ! which "$1" > /dev/null 2>&1; then # if ! which "$1" > /dev/null 2>&1; then
echo "$1 will be installed..." # echo "$1 will be installed..."
return 1 # return 1
else # else
echo "$1 is already installed." # echo "$1 is already installed."
return 0 # return 0
fi # fi
} # }
# Check if Java is installed # # Check if Java is installed
check_installed java # check_installed java
java_installed=$? # java_installed=$?
# Check if Tmux is installed # # Check if Tmux is installed
check_installed tmux # check_installed tmux
tmux_installed=$? # tmux_installed=$?
# Function to check if /etc/rc.local already contains the required lines # # Function to check if /etc/rc.local already contains the required lines
check_rc_local() { # check_rc_local() {
if grep -q "exec 1>/tmp/rc.local.log 2>&1" /etc/rc.local && grep -q "set -x" /etc/rc.local; then # if grep -q "exec 1>/tmp/rc.local.log 2>&1" /etc/rc.local && grep -q "set -x" /etc/rc.local; then
echo "rc.local is already configured" # echo "rc.local is already configured"
return 0 # return 0
else # else
echo "rc.local not configured" # echo "rc.local not configured"
return 1 # return 1
fi # fi
} # }
# Check if the changes in rc.local are already applied # # Check if the changes in rc.local are already applied
check_rc_local # check_rc_local
rc_local_modified=$? # rc_local_modified=$?
# If Java or Tmux is not installed, or rc.local is not modified, install/modify # # If Java or Tmux is not installed, or rc.local is not modified, install/modify
if [[ $java_installed -ne 0 || $tmux_installed -ne 0 || $rc_local_modified -ne 0 ]]; then # if [[ $java_installed -ne 0 || $tmux_installed -ne 0 || $rc_local_modified -ne 0 ]]; then
echo "Some required programs or rc.local modifications are missing. Installing..." # echo "Some required programs or rc.local modifications are missing. Installing..."
# Update and install the necessary packages # # Update and install the necessary packages
sudo apt update && sudo apt upgrade -y # sudo apt update && sudo apt upgrade -y
if [[ $java_installed -ne 0 ]]; then # if [[ $java_installed -ne 0 ]]; then
sudo apt install -y openjdk-17-jdk openjdk-17-jre-headless # sudo apt install -y openjdk-17-jdk openjdk-17-jre-headless
fi # fi
if [[ $tmux_installed -ne 0 ]]; then # if [[ $tmux_installed -ne 0 ]]; then
sudo apt install -y tmux # sudo apt install -y tmux
fi # fi
# Only append to rc.local if changes are missing # # Only append to rc.local if changes are missing
if [[ $rc_local_modified -ne 0 ]]; then # if [[ $rc_local_modified -ne 0 ]]; then
sudo tee -a /etc/rc.local > /dev/null <<EOL # sudo tee -a /etc/rc.local > /dev/null <<EOL
#!/bin/bash # #!/bin/bash
exec 1>/tmp/rc.local.log 2>&1 # exec 1>/tmp/rc.local.log 2>&1
set -x # set -x
EOL # EOL
# Make /etc/rc.local executable # # Make /etc/rc.local executable
sudo chmod +x /etc/rc.local # sudo chmod +x /etc/rc.local
fi # fi
else # else
echo "All required programs are already installed and rc.local is configured. Proceeding with installation..." # echo "All required programs are already installed and rc.local is configured. Proceeding with installation..."
fi # fi
sleep 2 # sleep 2
# -------------------------------------------------------- # --------------------------------------------------------
@@ -157,7 +157,7 @@ URL="https://maven.minecraftforge.net/net/minecraftforge/forge/${version}/forge-
# -------------------------------------------------------- # --------------------------------------------------------
echo "Downloading Installer..." echo "Downloading Installer..."
wget -P $server_dir "$URL" > /dev/null 2>&1 & # no output for wget wget -P $server_dir "$URL" -o "$management_logs/wget.log" & # no output for wget
PID=$! PID=$!
( (
while kill -0 $PID 2> /dev/null; do while kill -0 $PID 2> /dev/null; do
@@ -166,15 +166,16 @@ PID=$!
done done
echo "Download finished." echo "Download finished."
) & ) &
wait $PID
sleep 2
# -------------------------------------------------------- # --------------------------------------------------------
# Installing Server # Installing Server
# -------------------------------------------------------- # --------------------------------------------------------
echo "Installing Server" echo "Installing Server"
cd ${server_dir} cd "${server_dir}"
sleep 1 sleep 1
java -jar forge-${mc_forge_version}-installer.jar --installServer > /dev/null 2>&1 & java -jar forge-${version}-installer.jar --installServer > /dev/null 2>&1 &
# Store the PID of the installer process # Store the PID of the installer process
PID=$! PID=$!
@@ -189,4 +190,4 @@ PID=$!
) )
echo "Removing Installer" echo "Removing Installer"
rm "forge-${mc_forge_version}-installer.jar" # rm "forge-${version}-installer.jar"