You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Botspot-Pi-Apps/apps/Minecraft Pi (Modded)/install

111 lines
3.2 KiB
Bash

#!/bin/bash
##
## Config
##
# Used To Trigger Updates
MCPI_REBORN_VERSION='build_37'
# 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)"