From b86370295c6c2a93d2d05a508d5a05b4cb4764b2 Mon Sep 17 00:00:00 2001 From: Tim Visher Date: Wed, 10 Jun 2015 14:13:36 -0400 Subject: [PATCH 1/4] Add difficulty knob. --- minecraft-server/Dockerfile | 2 +- minecraft-server/start-minecraft.sh | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/minecraft-server/Dockerfile b/minecraft-server/Dockerfile index 05ff0d6879d..2a88f0c9f9d 100644 --- a/minecraft-server/Dockerfile +++ b/minecraft-server/Dockerfile @@ -31,4 +31,4 @@ ENV MC_IMAGE=YES ENV UID=1000 ENV MOTD A Minecraft Server Powered by Docker ENV JVM_OPTS -Xmx1024M -Xms1024M -ENV TYPE=VANILLA VERSION=LATEST LEVEL=world PVP=true +ENV TYPE=VANILLA VERSION=LATEST LEVEL=world PVP=true DIFFICULTY=hard diff --git a/minecraft-server/start-minecraft.sh b/minecraft-server/start-minecraft.sh index 0b0cc95db11..8be2a26b3e0 100755 --- a/minecraft-server/start-minecraft.sh +++ b/minecraft-server/start-minecraft.sh @@ -97,6 +97,28 @@ if [ ! -e server.properties ]; then sed -i "/pvp\s*=/ c pvp=$PVP" /data/server.properties fi + if [ -n "$DIFFICULTY" ]; then + case $DIFFICULTY in + peaceful) + DIFFICULTY=0 + ;; + easy) + DIFFICULTY=1 + ;; + normal) + DIFFICULTY=2 + ;; + hard) + DIFFICULTY=3 + ;; + *) + echo "DIFFICULTY must by peaceful, easy, normal, or hard." + exit 1 + ;; + esac + sed -i "/difficulty\s*=/ c difficulty=$DIFFICULTY" /data/server.properties + fi + if [ -n "$MODE" ]; then case ${MODE,,?} in 0|1|2|3) From ebc0405e721f34b8e538bda45adc7f2fc0bab674 Mon Sep 17 00:00:00 2001 From: Tim Visher Date: Wed, 10 Jun 2015 14:14:31 -0400 Subject: [PATCH 2/4] typo. --- minecraft-server/start-minecraft.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minecraft-server/start-minecraft.sh b/minecraft-server/start-minecraft.sh index 8be2a26b3e0..0608dc8a0be 100755 --- a/minecraft-server/start-minecraft.sh +++ b/minecraft-server/start-minecraft.sh @@ -112,7 +112,7 @@ if [ ! -e server.properties ]; then DIFFICULTY=3 ;; *) - echo "DIFFICULTY must by peaceful, easy, normal, or hard." + echo "DIFFICULTY must be peaceful, easy, normal, or hard." exit 1 ;; esac From 99b884f18a0f8d8dcb502b1fcb6d5b27d58f322f Mon Sep 17 00:00:00 2001 From: Tim Visher Date: Wed, 10 Jun 2015 15:00:53 -0400 Subject: [PATCH 3/4] Add note to README about setting world difficulty. --- minecraft-server/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/minecraft-server/README.md b/minecraft-server/README.md index c490bde9973..f4961f6a624 100644 --- a/minecraft-server/README.md +++ b/minecraft-server/README.md @@ -128,6 +128,16 @@ up: ## Server configuration +### Difficulty + +The difficulty level (default: hard) can be set like: + + docker run -d -e DIFFICULTY=peaceful + +Valid values are: `peaceful`, `easy`, `normal`, and `hard`, and an +error message will be output in the logs if it's not one of these +values. + ### Op/Administrator Players To add more "op" (aka adminstrator) users to your Minecraft server, pass the Minecraft usernames separated by commas via the `OPS` environment variable, such as From 53a0d0cf7ad32f7cdeee00d2d7f22b5b09775d81 Mon Sep 17 00:00:00 2001 From: Tim Visher Date: Wed, 10 Jun 2015 15:12:05 -0400 Subject: [PATCH 4/4] Default to easy. --- minecraft-server/Dockerfile | 2 +- minecraft-server/README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/minecraft-server/Dockerfile b/minecraft-server/Dockerfile index 2a88f0c9f9d..6cb49bb9abf 100644 --- a/minecraft-server/Dockerfile +++ b/minecraft-server/Dockerfile @@ -31,4 +31,4 @@ ENV MC_IMAGE=YES ENV UID=1000 ENV MOTD A Minecraft Server Powered by Docker ENV JVM_OPTS -Xmx1024M -Xms1024M -ENV TYPE=VANILLA VERSION=LATEST LEVEL=world PVP=true DIFFICULTY=hard +ENV TYPE=VANILLA VERSION=LATEST LEVEL=world PVP=true DIFFICULTY=easy diff --git a/minecraft-server/README.md b/minecraft-server/README.md index f4961f6a624..dd3ea6b1b70 100644 --- a/minecraft-server/README.md +++ b/minecraft-server/README.md @@ -130,9 +130,9 @@ up: ### Difficulty -The difficulty level (default: hard) can be set like: +The difficulty level (default: `easy`) can be set like: - docker run -d -e DIFFICULTY=peaceful + docker run -d -e DIFFICULTY=hard Valid values are: `peaceful`, `easy`, `normal`, and `hard`, and an error message will be output in the logs if it's not one of these