From be8ed39e84120a55d78540492d1f7f4bede0a7e1 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Thu, 15 Feb 2024 20:40:54 +0100 Subject: [PATCH] Updated the install.sh script --- install.sh | 84 +++++++++++++++++++++++------------------------------- 1 file changed, 35 insertions(+), 49 deletions(-) diff --git a/install.sh b/install.sh index 44d1b4f..4193cc9 100644 --- a/install.sh +++ b/install.sh @@ -1,89 +1,77 @@ #!/bin/bash + +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' + export DEBIAN_FRONTEND=noninteractive export JAVA_VERSION="11" export SERVER_ROOT="/opt/mcserver" -export JAVA_ROOT=${SERVER_ROOT}/java +export JAVA_ROOT="${SERVER_ROOT}/java" -function quit() { - say "Error: $1" +function error() { + echo -e "${RED}Error: $1${NC}" exit 1 } function download() { - if wget -S --spider "$1" 2>&1 | grep -q 'HTTP/1.1 200 OK'; then - wget -qO "$2" "$1" - fi + if wget -S --spider "$1" 2>&1 | grep -q 'HTTP/1.1 200 OK'; then + wget -qO "$2" "$1" + fi } -# Install dependencies - -echo "Installing dependencies" +echo -e "${GREEN}Installing dependencies${NC}" 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 - quit "Unable to install wget" -fi +for cmd in wget curl tar; do + if ! command -v $cmd &> /dev/null; then + error "Unable to install $cmd" + fi +done -if [ ! -x "$(command -v curl)" ]; then - quit "Unable to install curl" -fi +echo -e "${GREEN}Installing Java${NC}" -if [ ! -x "$(command -v tar)" ]; then - quit "Unable to install tar" -fi +mkdir -p "${JAVA_ROOT}" || error "Unable to create java directory" +cd "${JAVA_ROOT}" || error "Unable to change directory" -# Install Java -echo "Installing Java" - -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" +ARCH=$(uname -m) +if [ "${ARCH}" == "x86_64" ]; then + ARCH="x64" else - ARCH="x32" + ARCH="x32" fi 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 - quit "Unable to download java" + error "Unable to download Java" fi tar -xzf java.tar.gz rm java.tar.gz -mv jdk*/* . -rm -rf jdk* - if [ ! -f "bin/java" ]; then - quit "Unable to find java" + error "Unable to find java" 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 - quit "Unable to download server" + error "Unable to download server" fi -# Create user - -echo "Creating user" +echo -e "${GREEN}Creating user${NC}" useradd -r -m -d "${SERVER_ROOT}" -s /bin/bash mcdash chown -R mcdash:mcdash "${SERVER_ROOT}" -# Create unit file - -echo "Creating service" +echo -e "${GREEN}Creating service${NC}" cat > /etc/systemd/system/mcdash.service <