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.
		
		
		
		
		
			
		
			
				
	
	
		
			101 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Bash
		
	
#!/bin/bash
 | 
						|
 | 
						|
##
 | 
						|
## Config
 | 
						|
##
 | 
						|
 | 
						|
MCPIL_VERSION='0.1.7'
 | 
						|
 | 
						|
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 minecraft-pi-native mcpil mcpil-r minecraft-pi-reborn-native || :
 | 
						|
 | 
						|
# Debian Buster Support
 | 
						|
if [[ "$(lsb_release -cs)" = "buster" ]]; then
 | 
						|
  # Uninstall Old Docker
 | 
						|
  sudo apt-get remove -y docker.io
 | 
						|
  # Install Docker
 | 
						|
  if [ ! command -v docker &>/dev/null ];then
 | 
						|
    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
 | 
						|
  
 | 
						|
  # Setup Backports Repo On Buster
 | 
						|
  if ! grep -q '^deb http://deb.debian.org/debian buster-backports main$' /etc/apt/sources.list; then
 | 
						|
    # Install Backports Key
 | 
						|
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
 | 
						|
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
 | 
						|
    # Install Backports Repository
 | 
						|
    echo 'deb http://deb.debian.org/debian buster-backports main' | sudo tee -a /etc/apt/sources.list
 | 
						|
    # Update APT Index
 | 
						|
    sudo apt-get update
 | 
						|
    # Install Updated libseccomp2
 | 
						|
    sudo apt-get install --no-install-recommends -y -t buster-backports libseccomp2
 | 
						|
  fi
 | 
						|
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'
 | 
						|
 | 
						|
# Unzip DEBs
 | 
						|
unzip "${STORAGE}/mcpi-reborn/deb.zip" -d "${STORAGE}/mcpi-reborn" || error 'Unable to extract deb.zip!'
 | 
						|
 | 
						|
# 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 usermod -aG docker "$(id -un)"
 |