mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-08-28 17:57:34 +00:00
* also moved EULA check before download to fail-fast
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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,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
|
||||||
|
|||||||
Reference in New Issue
Block a user