Compare commits

...

87 Commits

Author SHA1 Message Date
Geoff Bourne
57dab2a108 Auto-merging via docker-versions-create 2021-09-15 21:11:52 -05:00
Geoff Bourne
1f2f33d6c0 Merge branch 'master' of github.com:itzg/docker-minecraft-server 2021-09-15 21:02:05 -05:00
Geoff Bourne
1a3c454d7f Added ping
#891 #1041
2021-09-15 20:53:44 -05:00
itzg
fa11d313fb docs: Auto update markdown TOC 2021-09-16 01:45:45 +00:00
Geoff Bourne
20bc2a97d9 docs: fixed java version example 2021-09-15 20:45:27 -05:00
Geoff Bourne
3060940225 Auto-merging via docker-versions-create 2021-09-15 20:40:19 -05:00
dependabot[bot]
0cd49c4c81 build(deps): bump stefanzweifel/git-auto-commit-action (#1042) 2021-09-13 06:55:47 -05:00
Geoff Bourne
6c1cd2537d misc: created FUNDING.yml 2021-09-12 21:02:13 -05:00
brutalgg
cf31f24752 docs: Add RLCraft example (#1036) 2021-09-10 10:26:19 -05:00
itzg
27523a1c45 docs: Auto update markdown TOC 2021-09-06 15:53:03 +00:00
Geoff Bourne
e1d0fe6b92 docs: added world data diagram to README 2021-09-06 10:52:44 -05:00
itzg
d3f4a4991e docs: Auto update markdown TOC 2021-09-05 19:11:45 +00:00
Geoff Bourne
296ddbdec5 docs: described unicode conversion for MOTD 2021-09-05 14:11:26 -05:00
Geoff Bourne
f7cd34b8d8 Added unicode conversion for MOTD
#1025
2021-09-04 19:46:18 -05:00
itzg
7bafffbd06 docs: Auto update markdown TOC 2021-09-04 16:04:43 +00:00
Geoff Bourne
201ec3be5a docs: added SETUP_ONLY 2021-09-04 11:04:23 -05:00
itzg
7d1d5af097 docs: Auto update markdown TOC 2021-09-03 21:51:18 +00:00
Geoff Bourne
f9ce5bce4d docs: fixed heading level of timezone config 2021-09-03 16:51:00 -05:00
itzg
748768c771 docs: Auto update markdown TOC 2021-09-02 02:21:29 +00:00
Ross Holmberg
f307077636 Typo (#1027) 2021-09-01 21:21:11 -05:00
Geoff Bourne
c0fc0d0d2c Auto-merging via docker-versions-create 2021-08-30 21:40:49 -05:00
Geoff Bourne
179cd878a9 Added error check on download of GENERIC_PACK
#1017
2021-08-30 21:31:06 -05:00
Geoff Bourne
788548d1f4 misc: upgraded mc-server-runner to 1.7.0 2021-08-30 21:17:48 -05:00
Geoff Bourne
0ae15c2b3c Fixed binding address of Limbo server
#994
2021-08-29 17:11:29 -05:00
itzg
b5b4257032 docs: Auto update markdown TOC 2021-08-29 21:26:47 +00:00
Daniel Ramp
657db124b2 docs: generator_settings json for 1.13+ (#1020) 2021-08-29 16:26:35 -05:00
dependabot[bot]
f5ea43b3d3 build(deps): bump docker/build-push-action from 2.6.1 to 2.7.0 (#1011) 2021-08-23 07:27:58 -05:00
itzg
01747510d5 docs: Auto update markdown TOC 2021-08-21 18:52:25 +00:00
Geoff Bourne
ff8b160a2b docs: added troubleshooting section 2021-08-21 13:52:25 -05:00
Geoff Bourne
f2b090ac8e Auto-merging via docker-versions-create 2021-08-10 12:58:49 -05:00
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
12 changed files with 96 additions and 19 deletions

5
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
#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.6.1
uses: docker/build-push-action@v2.7.0
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.11.0
- uses: stefanzweifel/git-auto-commit-action@v4.12.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.6.1
uses: docker/build-push-action@v2.7.0
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,6 +9,7 @@ RUN apt-get update \
gosu \
sudo \
net-tools \
iputils-ping \
curl wget \
git \
jq \
@@ -52,13 +53,17 @@ 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.6.0 --var app=mc-server-runner --file {{.app}} \
--var version=1.7.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,6 +38,7 @@ 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)
@@ -116,19 +117,20 @@ 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: Sun Aug 15 17:44:45 UTC 2021 -->
<!-- Added by: runner, at: Thu Sep 16 01:45:44 UTC 2021 -->
<!--te-->
@@ -270,9 +272,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 15 on any supported architecture:
For example, to use Java version 16 on any supported architecture:
docker run --name mc itzg/minecraft-server:java15
docker run --name mc itzg/minecraft-server:java16
> 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.
@@ -350,6 +352,14 @@ 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
@@ -736,6 +746,10 @@ 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.
@@ -814,7 +828,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_PASSORD` variables.
To use rcon use the `ENABLE_RCON` and `RCON_PASSWORD` 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
@@ -959,7 +973,7 @@ For example:
### Message of the Day
The message of the day, shown below each server entry in the UI, can be changed with the `MOTD` environment variable, such as
The message of the day, shown below each server entry in the client UI, can be changed with the `MOTD` environment variable, such as
-e MOTD="My Server"
@@ -969,6 +983,14 @@ 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`
@@ -1000,6 +1022,10 @@ 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:
@@ -1251,7 +1277,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:
@@ -1310,6 +1336,10 @@ 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

BIN
docs/motd-example.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 B

View File

@@ -0,0 +1,27 @@
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"

View File

@@ -9,6 +9,10 @@ isDebugging && set -x
: ${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
@@ -22,11 +26,14 @@ if [ $? != 0 ]; then
exit 1
fi
PURPUR_BUILD=$(jq -r '.number' <<<${buildJson})
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="purpur-${PURPUR_BUILD}.jar"
export SERVER="limbo-${LIMBO_BUILD}.jar"
if [ ! -f "$SERVER" ] || isTrue "$FORCE_REDOWNLOAD"; then
downloadUrl="${baseUrl}/artifact/${artifactPath}"
@@ -46,7 +53,7 @@ if [ ! -f "${LIMBO_SCHEMA_FILENAME}" ]; then
fi
fi
if [[ ${LEVEL} != "*;*" ]]; then
if [[ ${LEVEL} != *\;* ]]; then
LEVEL="${LEVEL};${LIMBO_SCHEMA_FILENAME}"
fi
export LEVEL

View File

@@ -154,7 +154,10 @@ fi
if [[ "${GENERIC_PACK}" ]]; then
if isURL "${GENERIC_PACK}"; then
log "Downloading generic pack ..."
curl -fsSL -o /tmp/generic_pack.zip "${GENERIC_PACK}"
if ! curl -fsSL -o /tmp/generic_pack.zip "${GENERIC_PACK}"; then
log "ERROR: failed to download ${GENERIC_PACK}"
exit 2
fi
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" "$MOTD"
setServerProp "motd" "$(echo $MOTD | java -jar /usr/share/asciify/asciify.jar)"
setServerProp "allow-nether" "$ALLOW_NETHER"
setServerProp "announce-player-achievements" "$ANNOUNCE_PLAYER_ACHIEVEMENTS"
setServerProp "enable-command-block" "$ENABLE_COMMAND_BLOCK"