* also moved EULA check before download to fail-fast

This commit is contained in:
Geoff Bourne
2015-01-01 16:01:15 +00:00
parent 44c0eee0f9
commit 7e847829ee
3 changed files with 47 additions and 45 deletions
-1
View File
@@ -13,7 +13,6 @@ RUN useradd -M -s /bin/false minecraft \
EXPOSE 25565 EXPOSE 25565
ADD start.sh /start
ADD start-minecraft.sh /start-minecraft ADD start-minecraft.sh /start-minecraft
USER minecraft USER minecraft
+46 -43
View File
@@ -1,5 +1,20 @@
#!/bin/bash #!/bin/bash
if [ ! -e /data/eula.txt ]; then
if [ "$EULA" != "" ]; then
echo "# Generated via Docker on $(date)" > eula.txt
echo "eula=$EULA" >> eula.txt
else
echo ""
echo "Please accept the Minecraft EULA at"
echo " https://account.mojang.com/documents/minecraft_eula"
echo "by adding the following immediately after 'docker run':"
echo " -e EULA=TRUE"
echo ""
exit 1
fi
fi
case $VERSION in case $VERSION in
LATEST) LATEST)
export VERSION=`wget -O - https://s3.amazonaws.com/Minecraft.Download/versions/versions.json | jsawk -n 'out(this.latest.release)'` export VERSION=`wget -O - https://s3.amazonaws.com/Minecraft.Download/versions/versions.json | jsawk -n 'out(this.latest.release)'`
@@ -19,43 +34,45 @@ fi
if [ ! -e server.properties ]; then if [ ! -e server.properties ]; then
cp /tmp/server.properties . cp /tmp/server.properties .
fi
if [ -n "$MOTD" ]; then if [ -n "$MOTD" ]; then
sed -i "/motd\s*=/ c motd=$MOTD" /data/server.properties sed -i "/motd\s*=/ c motd=$MOTD" /data/server.properties
fi fi
if [ -n "$LEVEL" ]; then if [ -n "$LEVEL" ]; then
sed -i "/level-name\s*=/ c level-name=$LEVEL" /data/server.properties sed -i "/level-name\s*=/ c level-name=$LEVEL" /data/server.properties
fi fi
if [ -n "$SEED" ]; then if [ -n "$SEED" ]; then
sed -i "/level-seed\s*=/ c level-seed=$SEED" /data/server.properties sed -i "/level-seed\s*=/ c level-seed=$SEED" /data/server.properties
fi fi
if [ -n "$MODE" ]; then if [ -n "$MODE" ]; then
case ${MODE,,?} in case ${MODE,,?} in
0|1|2|3) 0|1|2|3)
;; ;;
s*) s*)
MODE=0 MODE=0
;; ;;
c*) c*)
MODE=1 MODE=1
;; ;;
*) *)
echo "ERROR: Invalid game mode: $MODE" echo "ERROR: Invalid game mode: $MODE"
exit 1 exit 1
;; ;;
esac esac
sed -i "/gamemode\s*=/ c gamemode=$MODE" /data/server.properties sed -i "/gamemode\s*=/ c gamemode=$MODE" /data/server.properties
fi
fi fi
if [ -n "$OPS" ]; then
if [ -n "$OPS" -a ! -e ops.txt.converted ]; then
echo $OPS | awk -v RS=, '{print}' >> ops.txt echo $OPS | awk -v RS=, '{print}' >> ops.txt
fi fi
if [ -n "$ICON" ]; then
if [ -n "$ICON" -a ! -e server-icon.png ]; then
echo "Using server icon from $ICON..." echo "Using server icon from $ICON..."
# Not sure what it is yet...call it "img" # Not sure what it is yet...call it "img"
wget -q -O /tmp/icon.img $ICON wget -q -O /tmp/icon.img $ICON
@@ -68,19 +85,5 @@ if [ -n "$ICON" ]; then
fi fi
fi fi
if [ ! -e /data/eula.txt ]; then
if [ "$EULA" != "" ]; then
echo "# Generated via Docker on $(date)" > eula.txt
echo "eula=$EULA" >> eula.txt
else
echo ""
echo "Please accept the Minecraft EULA at"
echo " https://account.mojang.com/documents/minecraft_eula"
echo "by adding the following immediately after 'docker run':"
echo " -e EULA=TRUE"
echo ""
exit 1
fi
fi
java $JVM_OPTS -jar minecraft_server.$VERSION.jar java $JVM_OPTS -jar minecraft_server.$VERSION.jar
+1 -1
View File
@@ -1,4 +1,4 @@
#!/bin/sh #!/bin/sh
set -e set -e
chown -R minecraft:minecraft /data chown -R minecraft:minecraft /data /start-minecraft
exec su -s /bin/bash -c /start-minecraft minecraft exec su -s /bin/bash -c /start-minecraft minecraft