Updated the install.sh script

This commit is contained in:
Mathias Wagner 2024-02-15 20:40:54 +01:00
parent 56499c24cd
commit be8ed39e84
Signed by: Mathias
GPG Key ID: B8DC354B0A1F5B44

View File

@ -1,89 +1,77 @@
#!/bin/bash #!/bin/bash
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
export JAVA_VERSION="11" export JAVA_VERSION="11"
export SERVER_ROOT="/opt/mcserver" export SERVER_ROOT="/opt/mcserver"
export JAVA_ROOT=${SERVER_ROOT}/java export JAVA_ROOT="${SERVER_ROOT}/java"
function quit() { function error() {
say "Error: $1" echo -e "${RED}Error: $1${NC}"
exit 1 exit 1
} }
function download() { function download() {
if wget -S --spider "$1" 2>&1 | grep -q 'HTTP/1.1 200 OK'; then if wget -S --spider "$1" 2>&1 | grep -q 'HTTP/1.1 200 OK'; then
wget -qO "$2" "$1" wget -qO "$2" "$1"
fi fi
} }
# Install dependencies echo -e "${GREEN}Installing dependencies${NC}"
echo "Installing dependencies"
apt-get update apt-get update
apt-get install -y wget curl tar apt-get install -y wget curl tar || error "Failed to install dependencies"
if [ ! -x "$(command -v wget)" ]; then for cmd in wget curl tar; do
quit "Unable to install wget" if ! command -v $cmd &> /dev/null; then
fi error "Unable to install $cmd"
fi
done
if [ ! -x "$(command -v curl)" ]; then echo -e "${GREEN}Installing Java${NC}"
quit "Unable to install curl"
fi
if [ ! -x "$(command -v tar)" ]; then mkdir -p "${JAVA_ROOT}" || error "Unable to create java directory"
quit "Unable to install tar" cd "${JAVA_ROOT}" || error "Unable to change directory"
fi
# Install Java ARCH=$(uname -m)
echo "Installing Java" if [ "${ARCH}" == "x86_64" ]; then
ARCH="x64"
mkdir -p "${JAVA_ROOT}" || quit "Unable to create java directory"
cd "${JAVA_ROOT}" || quit "Unable to change directory"
if [ "$(uname -m)" == "x86_64" ]; then
ARCH="x64"
else else
ARCH="x32" ARCH="x32"
fi fi
download "https://api.adoptium.net/v3/binary/latest/${JAVA_VERSION}/ga/linux/${ARCH}/jre/hotspot/normal/adoptium" "java.tar.gz" download "https://api.adoptium.net/v3/binary/latest/${JAVA_VERSION}/ga/linux/${ARCH}/jre/hotspot/normal/adoptium" "java.tar.gz"
if [ ! -f "java.tar.gz" ]; then if [ ! -f "java.tar.gz" ]; then
quit "Unable to download java" error "Unable to download Java"
fi fi
tar -xzf java.tar.gz tar -xzf java.tar.gz
rm java.tar.gz rm java.tar.gz
mv jdk*/* .
rm -rf jdk*
if [ ! -f "bin/java" ]; then if [ ! -f "bin/java" ]; then
quit "Unable to find java" error "Unable to find java"
fi fi
# Install MCDashWrapper echo -e "${GREEN}Installing wrapper${NC}"
echo "Installing wrapper" mkdir -p "${SERVER_ROOT}" || error "Unable to create server directory"
mkdir -p "${SERVER_ROOT}" || quit "Unable to create server directory" wget -q --show-progress -O "${SERVER_ROOT}/server.jar" $(curl -s https://api.github.com/repos/gnmyt/MCDashWrapper/releases/latest | grep "browser_download_url.*\.jar" | cut -d : -f 2,3 | tr -d \")
wget -q --show-progress -O ${SERVER_ROOT}/server.jar $(curl -s https://api.github.com/repos/gnmyt/MCDashWrapper/releases/latest | grep "browser_download_url.*\.jar" | cut -d : -f 2,3 | tr -d \")
if [ ! -f "${SERVER_ROOT}/server.jar" ]; then if [ ! -f "${SERVER_ROOT}/server.jar" ]; then
quit "Unable to download server" error "Unable to download server"
fi fi
# Create user echo -e "${GREEN}Creating user${NC}"
echo "Creating user"
useradd -r -m -d "${SERVER_ROOT}" -s /bin/bash mcdash useradd -r -m -d "${SERVER_ROOT}" -s /bin/bash mcdash
chown -R mcdash:mcdash "${SERVER_ROOT}" chown -R mcdash:mcdash "${SERVER_ROOT}"
# Create unit file echo -e "${GREEN}Creating service${NC}"
echo "Creating service"
cat > /etc/systemd/system/mcdash.service <<EOF cat > /etc/systemd/system/mcdash.service <<EOF
[Unit] [Unit]
@ -101,11 +89,9 @@ Restart=on-failure
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
# Enable and start service echo -e "${GREEN}Starting service${NC}"
echo "Starting service"
systemctl enable mcdash systemctl enable mcdash
systemctl start mcdash systemctl start mcdash
echo "Installation complete" echo -e "${GREEN}Installation complete${NC}"