Added support adding 'op' users

* Non-destructive MOTD setting
This commit is contained in:
Geoff Bourne 2014-09-20 14:10:48 +00:00
parent 716ff66b1b
commit 77541a9689
4 changed files with 55 additions and 32 deletions

1
minecraft-server/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/data/

View file

@ -1,42 +1,57 @@
This docker image provides a Minecraft Server that will automatically download the latest stable, latest snapshot, or any specific server version.
This docker image provides a Minecraft Server that will automatically download the latest stable, latest snapshot, or any specif
To simply use the latest stable version, run
docker run -d -p 25565:25565 itzg/minecraft-server
where the default server port, 25565, will be exposed on your host machine.
## EULA Support
Mojang now requires accepting the [Minecraft EULA](https://account.mojang.com/documents/minecraft_eula). To accept add
-e EULA=TRUE
such as
docker run -e EULA=TRUE -d -p 25565:25565 itzg/minecraft-server
In order to persist the Minecraft data, which you *probably want to do for a real server setup*, use the `-v` argument to map a local path to the `/data' path in the container,
-e EULA=TRUE
such as
docker run -e EULA=TRUE -d -p 25565:25565 itzg/minecraft-server
## Attaching data directory to host filesystem
In order to persist the Minecraft data, which you *probably want to do for a real server setup*, use the `-v` argument to map a
docker run -d -v /path/on/host:/data -p 25565:25565 itzg/minecraft-server
docker run -d -v /path/on/host:/data -p 25565:25565 itzg/minecraft-server
When attached in this way you can stop the server, edit the configuration under your attached `/path/on/host` and start the server again with `docker start CONTAINERID` to pick up the new configuration.
## Versions
To use a different Minecraft version, pass the `VERSION` environment variable, which can have the value
* LATEST
* LATEST
* SNAPSHOT
* (or a specific version, such as "1.7.9")
For example, to use the latest snapshot:
docker run -d -e VERSION=SNAPSHOT ...
or a specific version:
* (or a specific version, such as "1.7.9")
For example, to use the latest snapshot:
docker run -d -e VERSION=SNAPSHOT ...
docker run -d -e VERSION=1.7.9 ...
or a specific version:
docker run -d -e VERSION=1.7.9 ...
## Server configuration
The message of the day, shown below each server entry in the UI, can be changed with the `MOTD` environment variable, such as
docker run -d -e 'MOTD=My Server' ...
The Java memory limit can be adjusted using the `JVM_OPTS` environment variable, where the default is
docker run -d -e 'MOTD=My Server' ...
If you leave it off, the last used or default message will be used.
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
docker run -d -e OPS=user1,user2 ...
The Java memory limit can be adjusted using the `JVM_OPTS` environment variable, where the default is
the setting shown in the example (max and min at 1024 MB):
docker run -e 'JVM_OPTS=-Xmx1024M -Xms1024M' ...

View file

@ -29,5 +29,5 @@ spawn-monsters=true
generate-structures=true
view-distance=10
spawn-protection=16
motd=A Minecraft Server
motd=A Minecraft Server powered by Docker

View file

@ -21,8 +21,15 @@ 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
if [ -n "$MOTD" ]; then
sed -i "/motd\s*=/ c motd=$MOTD" /data/server.properties
fi
if [ -n "$LEVEL" ]; then
sed -i "/level-name\s*=/ c level-name=$LEVEL" /data/server.properties
fi
if [ -n "$OPS" ]; then
echo $OPS | awk -v RS=, '{print}' >> ops.txt
fi
if [ ! -e /data/eula.txt ]; then
if [ "$EULA" != "" ]; then