From a1d922057a0fbc8c1c179253dd41cb83ed95ae4e Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Mon, 2 Jun 2014 02:38:32 +0000 Subject: [PATCH] Adding minecraft server image --- minecraft-server/Dockerfile | 25 ++++++++++++++++++++++ minecraft-server/run.sh | 26 +++++++++++++++++++++++ minecraft-server/server.properties | 33 ++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 minecraft-server/Dockerfile create mode 100755 minecraft-server/run.sh create mode 100644 minecraft-server/server.properties diff --git a/minecraft-server/Dockerfile b/minecraft-server/Dockerfile new file mode 100644 index 00000000..2f32340a --- /dev/null +++ b/minecraft-server/Dockerfile @@ -0,0 +1,25 @@ +FROM itzg/ubuntu-openjdk-7 + +MAINTAINER itzg + +RUN apt-get update +RUN apt-get install -y wget libmozjs-24-bin +RUN update-alternatives --install /usr/bin/js js /usr/bin/js24 100 + +RUN wget -O /usr/bin/jsawk https://github.com/micha/jsawk/raw/master/jsawk +RUN chmod +x /usr/bin/jsawk + +EXPOSE 25565 + +ADD run.sh /run + +VOLUME ['/data'] +ADD server.properties /tmp/server.properties +WORKDIR /data + +ENTRYPOINT /run + +ENV MOTD A Minecraft Server Powered by Docker +ENV LEVEL world +ENV JVM_OPTS -Xmx512M -Xms512M +ENV VERSION 1.7.9 diff --git a/minecraft-server/run.sh b/minecraft-server/run.sh new file mode 100755 index 00000000..f5f98a28 --- /dev/null +++ b/minecraft-server/run.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +case $VERSION in + LATEST) + export VERSION=`wget -O - https://s3.amazonaws.com/Minecraft.Download/versions/versions.json | jsawk -n 'out(this.latest.release)'` + ;; + + SNAPSHOT) + export VERSION=`wget -O - https://s3.amazonaws.com/Minecraft.Download/versions/versions.json | jsawk -n 'out(this.latest.snapshot)'` + ;; +esac + +cd /data + +if [ ! -e minecraft_server.$VERSION.jar ]; then + wget https://s3.amazonaws.com/Minecraft.Download/versions/$VERSION/minecraft_server.$VERSION.jar +fi + +if [ ! -e server.properties ]; then + cp /tmp/server.properties . +fi + +sed -i "/motd\s*=/ c motd=$MOTD" /data/server.properties +sed -i "/level-name\s*=/ c level-name=$LEVEL" /data/server.properties + +java $JVM_OPTS -jar minecraft_server.$VERSION.jar diff --git a/minecraft-server/server.properties b/minecraft-server/server.properties new file mode 100644 index 00000000..571d1160 --- /dev/null +++ b/minecraft-server/server.properties @@ -0,0 +1,33 @@ +op-permission-level=4 +allow-nether=true +level-name=world +enable-query=false +allow-flight=false +announce-player-achievements=true +server-port=25565 +level-type=DEFAULT +enable-rcon=false +force-gamemode=false +level-seed= +server-ip= +max-build-height=256 +spawn-npcs=true +white-list=false +spawn-animals=true +hardcore=false +snooper-enabled=true +texture-pack= +online-mode=true +resource-pack= +pvp=true +difficulty=1 +enable-command-block=false +player-idle-timeout=0 +gamemode=0 +max-players=20 +spawn-monsters=true +generate-structures=true +view-distance=10 +spawn-protection=16 +motd=Welcome Nate and Alex +