Updated the install.sh script
This commit is contained in:
parent
56499c24cd
commit
be8ed39e84
84
install.sh
84
install.sh
@ -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}"
|
Reference in New Issue
Block a user