Compare commits

..

57 Commits

Author SHA1 Message Date
Geoff Bourne
30fd8eae94 Auto-merging via docker-versions-create 2021-08-01 12:16:32 -05:00
Geoff Bourne
a97bedc849 Auto-merging via docker-versions-create 2021-07-31 09:30:28 -05:00
Geoff Bourne
76777fcfd3 Auto-merging via docker-versions-create 2021-07-26 19:38:24 -05:00
Geoff Bourne
f668df9b8a Auto-merging via docker-versions-create 2021-07-25 18:28:54 -05:00
Geoff Bourne
1e05f6176a Auto-merging via docker-versions-create 2021-07-25 09:40:17 -05:00
Geoff Bourne
0b2b854400 Auto-merging via docker-versions-create 2021-07-23 21:30:20 -05:00
Geoff Bourne
df22793f6c Auto-merging via docker-versions-create 2021-07-17 21:17:20 -05:00
Geoff Bourne
34e26ebf72 Auto-merging via docker-versions-create 2021-07-17 21:00:07 -05:00
Geoff Bourne
ed47657b0e Auto-merging via docker-versions-create 2021-07-17 18:07:28 -05:00
Geoff Bourne
895e3d2cef Auto-merging via docker-versions-create 2021-07-14 18:43:39 -05:00
Geoff Bourne
d4435007a8 Auto-merging via docker-versions-create 2021-07-12 19:12:21 -05:00
Geoff Bourne
aac7b952e7 Auto-merging via docker-versions-create 2021-07-09 20:01:02 -05:00
Geoff Bourne
8a7d9b42f4 Auto-merging via docker-versions-create 2021-07-08 18:02:27 -05:00
Geoff Bourne
cd228f7b88 Auto-merging via docker-versions-create 2021-07-08 08:06:42 -05:00
itzg
2eef9c00bc Auto-merging via docker-versions-create 2021-07-08 12:56:15 +00:00
Geoff Bourne
99a470f81b Auto-merging via docker-versions-create 2021-07-08 07:43:27 -05:00
itzg
837f6701d4 Auto-merging via docker-versions-create 2021-07-04 19:54:13 +00:00
Geoff Bourne
3b7427722d Auto-merging from master 2021-07-03 14:31:16 -05:00
Geoff Bourne
ca0d8ecc42 ci: auto-merge from master 2021-07-02 16:20:46 -05:00
itzg
6580a6f980 Auto-merging via docker-versions-create 2021-07-02 16:56:10 +00:00
itzg
cbd1960788 Auto-merging via docker-versions-create 2021-06-28 12:14:20 +00:00
itzg
c1c0082650 Auto-merging via docker-versions-create 2021-06-27 13:13:25 +00:00
itzg
09d48be128 Auto-merging via docker-versions-create 2021-06-24 12:47:19 +00:00
Geoff Bourne
5569c1b245 Auto-merging via docker-versions-create 2021-06-23 22:36:42 -05:00
Geoff Bourne
c2a7a7b9c4 Auto-merging via docker-versions-create 2021-06-20 12:52:11 -05:00
Geoff Bourne
441625654b Auto-merging via docker-versions-create 2021-06-05 17:56:21 -05:00
Geoff Bourne
9ced589f54 Auto-merging via docker-versions-create 2021-05-24 20:53:42 -05:00
Geoff Bourne
b49bb85483 Merge branch 'master' into multiarch-latest 2021-05-23 12:27:43 -05:00
Geoff Bourne
c2e9fe7847 Merge from master 2021-05-22 13:48:08 -05:00
Geoff Bourne
05e6db5a4e Auto-merging via docker-versions-create 2021-05-21 23:04:38 -05:00
Geoff Bourne
04e8d07bcf Auto-merging via docker-versions-create 2021-05-21 22:54:00 -05:00
Geoff Bourne
25d12d9b2c ci: introduced CACHE_NAME 2021-05-21 22:09:49 -05:00
Geoff Bourne
07e9d59f50 Auto-merging via docker-versions-create 2021-05-19 20:32:29 -05:00
Geoff Bourne
8ace9969af Auto-merging via docker-versions-create 2021-05-15 12:44:54 -05:00
Geoff Bourne
2dbda0bed4 Merge branch 'multiarch' into multiarch-latest
# Conflicts:
#	.github/workflows/build-multiarch.yml
#	Dockerfile
2021-05-14 18:06:10 -05:00
Geoff Bourne
6ac97c41a5 Auto-merging via docker-versions-create 2021-05-06 20:18:38 -05:00
Geoff Bourne
a46dfa0a16 Auto-merging via docker-versions-create 2021-04-30 14:31:22 -05:00
Geoff Bourne
98989471f9 Auto-merging via docker-versions-create 2021-04-30 11:15:27 -05:00
Geoff Bourne
1aefe31c1c Auto-merging via docker-versions-create 2021-04-28 16:56:40 -05:00
Geoff Bourne
07b90ec1f4 Auto-merging via docker-versions-create 2021-04-26 08:24:13 -05:00
Geoff Bourne
11c7e64566 Auto-merging via docker-versions-create 2021-04-24 13:45:50 -05:00
Geoff Bourne
2becc9e25e Auto-merging via docker-versions-create 2021-04-23 21:06:52 -05:00
Geoff Bourne
a941ee8093 Auto-merging via docker-versions-create 2021-04-18 13:33:58 -05:00
Geoff Bourne
635a17949d Auto-merging via docker-versions-create 2021-04-11 10:13:08 -05:00
Geoff Bourne
c42d9b6170 Merged latest from master 2021-04-08 19:35:00 -05:00
Geoff Bourne
f6ce093a9f Auto-merging via docker-versions-create 2021-04-01 16:41:19 -05:00
Geoff Bourne
b754ce7ed4 Added git
#819
2021-04-01 16:29:22 -05:00
Geoff Bourne
26e75f29ba Merge branch 'master' into multiarch-latest 2021-03-06 16:28:10 -06:00
Geoff Bourne
43b090019d Shifted PATH-fix earlier in startup 2021-03-06 16:07:04 -06:00
Geoff Bourne
a9fec728e1 Ensure FTBA version.json is readable
#784
2021-03-06 11:44:05 -06:00
Geoff Bourne
e22dfa898d Auto-merging via docker-versions-create 2021-02-27 20:56:33 -06:00
Geoff Bourne
c353752c0c Merge branch 'master' into multiarch-latest 2021-02-10 14:59:41 -06:00
Geoff Bourne
b566c82892 Auto-merging via docker-versions-create 2021-02-10 14:09:30 -06:00
Geoff Bourne
a4abb22690 Merge branch 'master' into multiarch-latest
# Conflicts:
#	start-configuration
2021-02-08 21:28:46 -06:00
Geoff Bourne
6a9551fafe Auto-merging via docker-versions-create
CONFLICT (content): Merge conflict in Dockerfile
2021-02-07 18:23:57 -06:00
Geoff Bourne
e8061c08f7 Auto-merging docker-versions-create.sh
CONFLICT (content): Merge conflict in Dockerfile
2021-02-07 09:18:13 -06:00
Geoff Bourne
2e085f174c Merge branch 'master' into multiarch-latest 2021-02-06 14:52:49 -06:00
13 changed files with 18 additions and 177 deletions

5
.github/FUNDING.yml vendored
View File

@@ -1,5 +0,0 @@
#github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
custom:
- https://www.buymeacoffee.com/itzg
- https://paypal.me/itzg

View File

@@ -63,7 +63,7 @@ jobs:
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2.7.0
uses: docker/build-push-action@v2.6.1
with:
context: .
platforms: linux/amd64,linux/arm/v7,linux/arm64

View File

@@ -16,6 +16,6 @@ jobs:
curl https://raw.githubusercontent.com/ekalinin/github-markdown-toc/master/gh-md-toc -o gh-md-toc
chmod a+x gh-md-toc
./gh-md-toc --insert --no-backup README.md
- uses: stefanzweifel/git-auto-commit-action@v4.12.0
- uses: stefanzweifel/git-auto-commit-action@v4.11.0
with:
commit_message: "docs: Auto update markdown TOC"

View File

@@ -70,7 +70,7 @@ jobs:
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2.7.0
uses: docker/build-push-action@v2.6.1
with:
context: .
file: ./Dockerfile

View File

@@ -1,4 +1,4 @@
FROM adoptopenjdk:16-jre
FROM adoptopenjdk:latest
LABEL org.opencontainers.image.authors="Geoff Bourne <itzgeoff@gmail.com>"
@@ -9,7 +9,6 @@ RUN apt-get update \
gosu \
sudo \
net-tools \
iputils-ping \
curl wget \
git \
jq \
@@ -53,17 +52,13 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=1.7.0 --var app=mc-server-runner --file {{.app}} \
--var version=1.6.0 --var app=mc-server-runner --file {{.app}} \
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=0.1.1 --var app=maven-metadata-release --file {{.app}} \
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
ARG ASCIIFY_VERSION=1.0.1
ADD https://jitpack.io/com/github/itzg/asciify/${ASCIIFY_VERSION}/asciify-${ASCIIFY_VERSION}.jar /usr/share/asciify/asciify.jar
RUN chmod -R a+r /usr/share/asciify
COPY mcstatus /usr/local/bin
VOLUME ["/data"]

View File

@@ -38,7 +38,6 @@ By default, the container will download the latest version of the "vanilla" [Min
* [Examples](#examples)
* [Amazon Web Services (AWS) Deployment](#amazon-web-services-aws-deployment)
* [Using Docker Compose](#using-docker-compose)
* [Troubleshooting](#troubleshooting)
* [Server types](#server-types)
* [Running a Forge Server](#running-a-forge-server)
* [Running a Bukkit/Spigot server](#running-a-bukkitspigot-server)
@@ -53,7 +52,6 @@ By default, the container will download the latest version of the "vanilla" [Min
* [Running an Canyon server](#running-an-canyon-server)
* [Running a SpongeVanilla server](#running-a-spongevanilla-server)
* [Running a Fabric Server](#running-a-fabric-server)
* [Running a Limbo server](#running-a-limbo-server)
* [Running a server with a Feed the Beast modpack](#running-a-server-with-a-feed-the-beast-modpack)
* [Environment Variables:](#environment-variables)
* [Upgrading](#upgrading)
@@ -117,20 +115,19 @@ By default, the container will download the latest version of the "vanilla" [Min
* [Server Shutdown Options](#server-shutdown-options)
* [OpenJ9 Specific Options](#openj9-specific-options)
* [Enabling rolling logs](#enabling-rolling-logs)
* [Timezone Configuration](#timezone-configuration)
* [Timezone Configuration](#timezone-configuration)
* [Enable Remote JMX for Profiling](#enable-remote-jmx-for-profiling)
* [Enable Aikar's Flags](#enable-aikars-flags)
* [HTTP Proxy](#http-proxy)
* [Using "noconsole" option](#using-noconsole-option)
* [Explicitly disable GUI](#explicitly-disable-gui)
* [Stop Duration](#stop-duration)
* [Setup only](#setup-only)
* [Autopause](#autopause)
* [Description](#description)
* [Enabling Autopause](#enabling-autopause)
* [Running on RaspberryPi](#running-on-raspberrypi)
<!-- Added by: runner, at: Thu Sep 16 01:45:44 UTC 2021 -->
<!-- Added by: runner, at: Sun Aug 1 17:09:36 UTC 2021 -->
<!--te-->
@@ -272,9 +269,9 @@ To use a different version of Java, please use a docker tag to run your Minecraf
| java16-openj9 | 16 | Debian | OpenJ9 | amd64 |
| multiarch-latest | 15+ | Debian | Hotspot | amd64,arm64,armv7 |
For example, to use Java version 16 on any supported architecture:
For example, to use Java version 15 on any supported architecture:
docker run --name mc itzg/minecraft-server:java16
docker run --name mc itzg/minecraft-server:java15
> Keep in mind that some versions of Minecraft server can't work on the newest versions of Java. Also, FORGE doesn't support openj9 JVM implementation.
@@ -352,14 +349,6 @@ and in the same directory as that file run
Now, go play...or adjust the `environment` section to configure
this server instance.
## Troubleshooting
To troubleshoot the container initialization, such as when server files are pre-downloaded, set the environment variable `DEBUG` to `true`. The container logs will include **much more** output, and it is highly recommended including that output when reporting any [issues](https://github.com/itzg/docker-minecraft-server/issues).
To troubleshoot just the command-line used to start the Minecraft server, set the environment variable `DEBUG_EXEC` to `true`.
To troubleshoot any issues with memory allocation reported by the JVM, set the environment variable `DEBUG_MEMORY` to `true`.
## Server types
### Running a Forge Server
@@ -564,20 +553,6 @@ docker run -d -v /path/on/host:/data ... \
In order to add mods, you have two options:
### Running a Limbo server
A [Limbo](https://github.com/LOOHP/Limbo) server can be run by setting `TYPE` to `LIMBO`.
Configuration options with defaults:
- `LIMBO_BUILD`=LATEST
The `VERSION` will be ignored so locate the appropriate value from [here](https://ci.loohpjames.com/job/Limbo/) to match the version expected by clients.
- `FORCE_REDOWNLOAD`=false
- `LIMBO_SCHEMA_FILENAME`=default.schem
- `LEVEL`="Default;${LIMBO_SCHEMA_FILENAME}"
## Running a server with a Feed the Beast modpack
> **NOTE** requires one of the Debian based images listed in [the Java versions section](#running-minecraft-server-on-different-java-version).
@@ -746,10 +721,6 @@ read-only volume attachment to ensure the clone source remains pristine.
docker run ... -v $HOME/worlds:/worlds:ro -e WORLD=/worlds/basic
```
The following diagram shows how this option can be used in a compose deployment with a relative directory:
![](docs/world-copy-compose-project.drawio.png)
### Overwrite world on start
The world will only be downloaded or copied if it doesn't exist already. Set `FORCE_WORLD_COPY=TRUE` to force overwrite the world on every server start.
@@ -828,7 +799,7 @@ The server icon which has been set doesn't get overridden by default. It can be
### Rcon
To use rcon use the `ENABLE_RCON` and `RCON_PASSWORD` variables.
To use rcon use the `ENABLE_RCON` and `RCON_PASSORD` variables.
By default rcon port will be `25575` but can easily be changed with the `RCON_PORT` variable.
docker run -d -e ENABLE_RCON=true -e RCON_PASSWORD=testing
@@ -973,7 +944,7 @@ For example:
### Message of the Day
The message of the day, shown below each server entry in the client UI, can be changed with the `MOTD` environment variable, such as
The message of the day, shown below each server entry in the UI, can be changed with the `MOTD` environment variable, such as
-e MOTD="My Server"
@@ -983,14 +954,6 @@ If you leave it off, a default is computed from the server type and version, suc
That way you can easily differentiate between several servers you may have started.
The section symbol (§) and other unicode characters are automatically converted to allow [formatting codes](https://minecraft.fandom.com/wiki/Formatting_codes) to be used consistently with all server versions. For example,
-e MOTD="A §l§cMinecraft§r §nserver"
renders
![](docs/motd-example.png)
### PVP Mode
By default, servers are created with player-vs-player (PVP) mode enabled. You can disable this with the `PVP`
@@ -1022,10 +985,6 @@ For example (just the `-e` bits):
-e LEVEL_TYPE=flat -e 'GENERATOR_SETTINGS=3;minecraft:bedrock,3*minecraft:stone,52*minecraft:sandstone;2;'
In Minecraft 1.13+ you need to pass json ([generator site](https://misode.github.io/world/)) like this (details see [here](https://github.com/itzg/docker-minecraft-server/issues/999#issuecomment-907849644)):
-e LEVEL_TYPE=flat -e 'GENERATOR_SETTINGS={"biome":"minecraft:the_void","layers":[{"block":"minecraft:bedrock","height":1},{"block":"minecraft:stone","height":10},{"block":"minecraft:dirt","height":1}],"structures":{"structures":{}}}'
### Custom Server Resource Pack
You can set a link to a custom resource pack and set it's checksum using the `RESOURCE_PACK` and `RESOURCE_PACK_SHA1` options respectively, the default is blank:
@@ -1277,7 +1236,7 @@ By default the vanilla log file will grow without limit. The logger can be recon
> **NOTE** this will interfere with interactive/color consoles [as described in the section above](#interactive-and-color-console)
### Timezone Configuration
## Timezone Configuration
You can configure the timezone to match yours by setting the `TZ` environment variable:
@@ -1336,10 +1295,6 @@ disable that by passing `-e GUI=FALSE`.
When the container is signalled to stop, the Minecraft process wrapper will attempt to send a "stop" command via RCON or console and waits for the process to gracefully finish. By default it waits 60 seconds, but that duration can be configured by setting the environment variable `STOP_DURATION` to the number of seconds.
### Setup only
If you are using a host-attached data directory, then you can have the image setup the Minecraft server files and stop prior to launching the server process by setting `SETUP_ONLY` to `true`.
## Autopause
### Description

Binary file not shown.

Before

Width:  |  Height:  |  Size: 985 B

View File

@@ -1,27 +0,0 @@
version: '3.8'
services:
rlcraft:
image: itzg/minecraft-server:java8
container_name: rlcraft
volumes:
- rlcraft-modpack:/modpacks:ro
- rlcraft-data:/data
environment:
EULA: "true"
TYPE: "FORGE"
VERSION: "1.12.2"
FORGEVERSION: "14.23.5.2855"
DIFFICULTY: "hard"
MAX_TICK_TIME: "-1"
VIEW_DISTANCE: "6"
ALLOW_FLIGHT: "true"
MEMORY: "4G"
GENERIC_PACK: "/modpacks/RLCraft_Server_Pack_1.12.2_Beta_v2.8.2.zip"
ports:
- 25565:25565
restart: unless-stopped
volumes:
rlcraft-data:
rlcraft-modpack:

View File

@@ -100,7 +100,7 @@ case "${TYPE^^}" in
FORGE)
if versionLessThan 1.17; then
log "**********************************************************************"
log "WARNING: The image tag itzg/minecraft-server:java8 is recommended"
log "WARNING: The image tag itzg/minecraft-server:java8-multiarch is recommended"
log " since some mods require Java 8"
log " Exception traces reporting ClassCastException: class jdk.internal.loader.ClassLoaders\$AppClassLoader"
log " can be fixed with java8"
@@ -119,7 +119,7 @@ case "${TYPE^^}" in
FTB|CURSEFORGE)
log "**********************************************************************"
log "WARNING: The image tag itzg/minecraft-server:java8 is recommended"
log "WARNING: The image tag itzg/minecraft-server:java8-multiarch is recommended"
log " since some mods require Java 8"
log " Exception traces reporting ClassCastException: class jdk.internal.loader.ClassLoaders\$AppClassLoader"
log " can be fixed with java8"
@@ -171,15 +171,11 @@ case "${TYPE^^}" in
exec ${SCRIPTS:-/}start-deployCanyon "$@"
;;
LIMBO)
exec ${SCRIPTS:-/}start-deployLimbo "$@"
;;
*)
log "Invalid type: '$TYPE'"
log "Must be: VANILLA, FORGE, BUKKIT, SPIGOT, PAPER, FTBA (multiarch-only),"
log " CURSE_INSTANCE, CURSEFORGE, SPONGEVANILLA, TUINITY, PURPUR"
log " CUSTOM, MAGMA, MOHIST, CATSERVER, YATOPIA, AIRPLANE, CANYON, LIMBO"
log " CUSTOM, MAGMA, MOHIST, CATSERVER, YATOPIA, AIRPLANE, CANYON"
exit 1
;;

View File

@@ -30,13 +30,7 @@ if ! [ -f "${ftbInstallMarker}" ] || [ $(cat "${ftbInstallMarker}") != "${FTB_MO
ftbInstaller=/data/ftb-installer
if ! [[ -f "${ftbInstaller}" ]]; then
log "Downloading FTB installer"
if [ "$(uname -m)" == "aarch64" ]; then
log "Downloading ARM installer"
curl -fsSL https://api.modpacks.ch/public/modpack/1/1/server/arm/linux -o "${ftbInstaller}"
else
log "Downloading x86 installer"
curl -fsSL https://api.modpacks.ch/public/modpack/1/1/server/linux -o "${ftbInstaller}"
fi
curl -fsSL https://api.modpacks.ch/public/modpack/1/1/server/linux -o "${ftbInstaller}"
chmod +x "${ftbInstaller}"
fi

View File

@@ -1,64 +0,0 @@
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
. ${SCRIPTS:-/}start-utils
isDebugging && set -x
: ${LIMBO_BUILD:=LATEST}
: ${FORCE_REDOWNLOAD:=false}
: ${LIMBO_SCHEMA_FILENAME:=default.schem}
: ${LEVEL:=Default;${LIMBO_SCHEMA_FILENAME}}
# defaults to localhost, if this is not set
: ${SERVER_IP:=0.0.0.0}
export LEVEL SERVER_IP
if [[ ${LIMBO_BUILD^^} == LATEST ]]; then
LIMBO_BUILD=lastStableBuild
fi
baseUrl="https://ci.loohpjames.com/job/Limbo/${LIMBO_BUILD}"
buildInfoUrl="${baseUrl}/api/json"
buildJson=$(curl -fsSL "${buildInfoUrl}")
if [ $? != 0 ]; then
log "ERROR failed to get build info from ${buildInfoUrl} (status=$?)"
exit 1
fi
if [[ ${LIMBO_BUILD} = lastStableBuild ]]; then
LIMBO_BUILD=$(jq -r '.number' <<<${buildJson})
log "Resolved latest Limbo build to ${LIMBO_BUILD}"
fi
artifactPath=$(jq -r '.artifacts[] | select(.fileName|test("^Limbo-")) | .relativePath' <<<${buildJson})
defaultSchemaPath=$(jq -r '.artifacts[] | select(.fileName|test(".*\\.schem")) | .relativePath' <<<${buildJson})
export SERVER="limbo-${LIMBO_BUILD}.jar"
if [ ! -f "$SERVER" ] || isTrue "$FORCE_REDOWNLOAD"; then
downloadUrl="${baseUrl}/artifact/${artifactPath}"
log "Downloading Limbo from $downloadUrl ..."
if ! curl -fsSL -o "$SERVER" "$downloadUrl"; then
log "ERROR: failed to download from $downloadUrl (status=$?)"
exit 3
fi
fi
if [ ! -f "${LIMBO_SCHEMA_FILENAME}" ]; then
log "Downloading default schem file"
if ! curl -o "${LIMBO_SCHEMA_FILENAME}" -fsSL "${baseUrl}/artifact/${defaultSchemaPath}"; then
log "ERROR: failed to download schema file $baseUrl (status=$?)"
exit 3
fi
fi
if [[ ${LEVEL} != *\;* ]]; then
LEVEL="${LEVEL};${LIMBO_SCHEMA_FILENAME}"
fi
export LEVEL
export SKIP_LOG4J_CONFIG=true
# Continue to Final Setup
exec ${SCRIPTS:-/}start-finalSetupWorld $@

View File

@@ -154,10 +154,7 @@ fi
if [[ "${GENERIC_PACK}" ]]; then
if isURL "${GENERIC_PACK}"; then
log "Downloading generic pack ..."
if ! curl -fsSL -o /tmp/generic_pack.zip "${GENERIC_PACK}"; then
log "ERROR: failed to download ${GENERIC_PACK}"
exit 2
fi
curl -fsSL -o /tmp/generic_pack.zip "${GENERIC_PACK}"
GENERIC_PACK=/tmp/generic_pack.zip
fi

View File

@@ -56,7 +56,7 @@ function customizeServerProps {
setServerProp "server-name" "$SERVER_NAME"
setServerProp "server-ip" "$SERVER_IP"
setServerProp "server-port" "$SERVER_PORT"
setServerProp "motd" "$(echo $MOTD | java -jar /usr/share/asciify/asciify.jar)"
setServerProp "motd" "$MOTD"
setServerProp "allow-nether" "$ALLOW_NETHER"
setServerProp "announce-player-achievements" "$ANNOUNCE_PLAYER_ACHIEVEMENTS"
setServerProp "enable-command-block" "$ENABLE_COMMAND_BLOCK"