Fix Startup Script
This commit is contained in:
parent
f2c2fdff43
commit
9198fff5b3
2
debian/DEBIAN/control
vendored
2
debian/DEBIAN/control
vendored
@ -4,4 +4,4 @@ Maintainer: TheBrokenRail <connor24nolan@live.com>
|
|||||||
Description: Fun with Blocks
|
Description: Fun with Blocks
|
||||||
Homepage: https://www.minecraft.net/en-us/edition/pi
|
Homepage: https://www.minecraft.net/en-us/edition/pi
|
||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
Depends: docker.io, docker-compose, virgl-server, zenity, policykit-1
|
Depends: docker.io, docker-compose, virgl-server, zenity, policykit-1, adduser
|
||||||
|
27
debian/usr/bin/minecraft-pi
vendored
27
debian/usr/bin/minecraft-pi
vendored
@ -2,21 +2,36 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
FEATURES="$(zenity --class minecraft-pi --list --checklist --column 'Enabled' --column 'Feature' FALSE 'Touch GUI' FALSE 'Survival Mode' FALSE 'Fix Bow & Arrow' FALSE 'Fix Attacking' FALSE 'Mob Spawning')"
|
# Ensure Features Are Selected
|
||||||
export FEATURES
|
USER_LAUNCH=1
|
||||||
|
if [ -z "${MCPI_FEATURES}" ]; then
|
||||||
|
MCPI_FEATURES="$(zenity --class minecraft-pi --list --checklist --column 'Enabled' --column 'Feature' FALSE 'Touch GUI' FALSE 'Survival Mode' FALSE 'Fix Bow & Arrow' FALSE 'Fix Attacking' FALSE 'Mob Spawning')"
|
||||||
|
else
|
||||||
|
USER_LAUNCH=0
|
||||||
|
fi
|
||||||
|
export MCPI_FEATURES
|
||||||
|
|
||||||
|
# Start VirGL
|
||||||
virgl_test_server &
|
virgl_test_server &
|
||||||
PID="$!"
|
VIRGL_PID="$!"
|
||||||
|
|
||||||
if ! id -Gn "$(whoami)" | grep '\bdocker\b' > /dev/null; then
|
# Ensure Groups Are Correct
|
||||||
|
if [ "${USER_LAUNCH}" = "1" ]; then
|
||||||
|
if ! id -Gn "$(whoami)" | grep '\bdocker\b' > /dev/null; then
|
||||||
pkexec adduser "$(whoami)" docker
|
pkexec adduser "$(whoami)" docker
|
||||||
|
fi
|
||||||
|
|
||||||
|
su -p "$(whoami)" "$(realpath -e "$0")"
|
||||||
|
exit "$?"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Allow X11 Connections From Root
|
||||||
xhost local:root
|
xhost local:root
|
||||||
|
|
||||||
|
# Launch Minecraft
|
||||||
DOCKER_COMPOSE="docker-compose -f /usr/share/minecraft-pi/docker-compose.yml"
|
DOCKER_COMPOSE="docker-compose -f /usr/share/minecraft-pi/docker-compose.yml"
|
||||||
|
|
||||||
${DOCKER_COMPOSE} up
|
${DOCKER_COMPOSE} up
|
||||||
${DOCKER_COMPOSE} down
|
${DOCKER_COMPOSE} down
|
||||||
|
|
||||||
kill "${PID}"
|
# Kill VirGL
|
||||||
|
kill "${VIRGL_PID}"
|
||||||
|
@ -9,4 +9,4 @@ services:
|
|||||||
- '~/.minecraft-pi:/root/.minecraft'
|
- '~/.minecraft-pi:/root/.minecraft'
|
||||||
environment:
|
environment:
|
||||||
- 'DISPLAY=unix${DISPLAY}'
|
- 'DISPLAY=unix${DISPLAY}'
|
||||||
- 'FEATURES=${FEATURES}'
|
- 'MCPI_FEATURES=${MCPI_FEATURES}'
|
||||||
|
@ -68,7 +68,7 @@ static void handleClick_injection(unsigned char *this, unsigned char *param_2, u
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int has_feature(const char *name) {
|
static int has_feature(const char *name) {
|
||||||
char *env = getenv("FEATURES");
|
char *env = getenv("MCPI_FEATURES");
|
||||||
char *features = strdup(env != NULL ? env : "");
|
char *features = strdup(env != NULL ? env : "");
|
||||||
char *tok = strtok(features, "|");
|
char *tok = strtok(features, "|");
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user