41 lines
1.4 KiB
Bash
Executable File
41 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# Ensure Features Are Selected
|
|
if [ -z "${MCPI_SUBSHELL}" ]; then
|
|
MCPI_FEATURES="$(zenity --class 'Minecraft - Pi edition' --list --checklist --column 'Enabled' --column 'Feature' TRUE 'Touch GUI' FALSE 'Survival Mode' TRUE 'Fix Bow & Arrow' TRUE 'Fix Attacking' TRUE 'Mob Spawning' TRUE 'Fancy Graphics' TRUE 'Disable Autojump By Default' TRUE 'Fix Sign Placement' TRUE 'Show Block Outlines')"
|
|
MCPI_USERNAME="$(zenity --class 'Minecraft - Pi edition' --entry --text 'Minecraft Username:' --entry-text 'StevePi')"
|
|
fi
|
|
export MCPI_FEATURES
|
|
export MCPI_USERNAME
|
|
|
|
# Start VirGL
|
|
virgl_test_server &
|
|
VIRGL_PID="$!"
|
|
|
|
# Ensure Groups Are Correct
|
|
if [ -z "${MCPI_SUBSHELL}" ]; then
|
|
if ! id -Gn "$(whoami)" | grep '\bdocker\b' > /dev/null; then
|
|
if ! command -v adduser &> /dev/null
|
|
then
|
|
pkexec usermod -aG "$(whoami)" docker
|
|
else
|
|
pkexec adduser "$(whoami)" docker
|
|
fi
|
|
fi
|
|
exec sg docker "env MCPI_SUBSHELL=1 \"$(realpath -e "$0")\""
|
|
fi
|
|
|
|
# Allow X11 Connections From Root
|
|
xhost local:root
|
|
|
|
# Launch Minecraft
|
|
DOCKER_COMPOSE="docker-compose -f /usr/share/minecraft-pi/docker-compose.yml"
|
|
${DOCKER_COMPOSE} pull | zenity --class 'Minecraft - Pi edition' --progress --pulsate --no-cancel --auto-close --text 'Updating Minecraft...'
|
|
${DOCKER_COMPOSE} up
|
|
${DOCKER_COMPOSE} down
|
|
|
|
# Kill VirGL
|
|
kill "${VIRGL_PID}"
|