#!/bin/bash ## ## Config ## # Used To Trigger Updates MCPI_REBORN_VERSION='build_48' # MCPIL Version MCPIL_VERSION='0.1.9' set -e DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")" STORAGE="$(dirname "$0")" function error { echo -e "\\e[91m$1\\e[39m" exit 1 } function install_deb { echo "Installing $1..." sudo dpkg -i "$1" || : # Expected To Fail sudo apt-get --fix-broken install --no-install-recommends -y || error 'Unable To Complete Install' } ## ## Install mcpi-reborn ## if [[ "$(lsb_release -cs)" != "buster" && "$(lsb_release -cs)" != "bullseye" && "$(lsb_release -cs)" != "sid" ]]; then error 'Unsupported Debian Version' fi # Remove Old Minecraft Pi sudo apt-get remove -y minecraft-pi &>/dev/null || true sudo apt-get remove -y minecraft-pi-native &>/dev/null || true sudo apt-get remove -y mcpil-r &>/dev/null || true # Debian Buster Support if [[ "$(lsb_release -cs)" = "buster" ]]; then # Uninstall Old Docker sudo apt-get remove -y docker.io >/dev/null # Setup Backports Repo On Buster if ! grep -q '^deb http://deb.debian.org/debian buster-backports main$' /etc/apt/sources.list; then # Install Backports Repository echo 'deb http://deb.debian.org/debian buster-backports main' | sudo tee -a /etc/apt/sources.list # Sign backports repo sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 04EE7237B7D453EC sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 648ACFD622F3D138 # Update APT Index sudo apt-get update # Install Updated libseccomp2 sudo apt-get install --no-install-recommends -y -t buster-backports libseccomp2 fi fi # Install Docker if command -v docker &>/dev/null ;then echo "Docker is installed at $(command -v docker)" else echo "Docker is not installed. Running Docker install script..." curl -fsSL https://get.docker.com -o "${STORAGE}/get-docker.sh" || error 'Unable To Download Docker Install Script' sudo sh "${STORAGE}/get-docker.sh" || error 'Unable To Install Docker' rm "${STORAGE}/get-docker.sh" fi # Prepare rm -rf "${STORAGE}/mcpi-reborn" mkdir "${STORAGE}/mcpi-reborn" # Download DEBs wget -O "${STORAGE}/mcpi-reborn/deb.zip" https://jenkins.thebrokenrail.com/job/minecraft-pi-reborn/job/master/lastSuccessfulBuild/artifact/out/deb/*zip*/deb.zip || error 'Unable To Download deb.zip! Check your internet connection and try again.' # Unzip DEBs unzip "${STORAGE}/mcpi-reborn/deb.zip" -d "${STORAGE}/mcpi-reborn" || error 'Unable to extract deb.zip! Check your internet connection and try again.' # Find DEB MCPI_DOCKER_DEB="$(find "${STORAGE}/mcpi-reborn/deb" -name 'minecraft-pi-reborn-native*.deb')" # Install DEB install_deb "${MCPI_DOCKER_DEB}" # Clean Up rm -rf "${STORAGE}/mcpi-reborn" ## ## Install MCPIL ## MCPIL_URL="https://github.com/MCPI-Revival/MCPIL/releases/download/${MCPIL_VERSION}/mcpil_${MCPIL_VERSION}_all.deb" # Prepare rm -rf "${STORAGE}/mcpil" mkdir "${STORAGE}/mcpil" # Download DEB wget -O "${STORAGE}/mcpil/mcpil.deb" "${MCPIL_URL}" # Install DEB install_deb "${STORAGE}/mcpil/mcpil.deb" # Clean Up rm -rf "${STORAGE}/mcpil" # Update Docker Permissions sudo groupadd -f docker sudo usermod -aG docker "$(id -un)"