#!/bin/bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								##
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## Config
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								##
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								MCPIL_VERSION='0.1.8'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								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 2>&1 || :
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sudo apt-get remove -y minecraft-pi-native >/dev/null 2>&1 || :
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sudo apt-get remove -y mcpil-r >/dev/null 2>&1 || :
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# 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)"