Compare commits

..

42 Commits

Author SHA1 Message Date
Geoff Bourne
19c5626085 Auto-merging via docker-versions-create 2021-08-30 21:39:28 -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
03cbbd465a Auto-merging via docker-versions-create 2021-08-10 12:57:46 -05:00
Geoff Bourne
592f18358a Auto-merging via docker-versions-create 2021-08-01 12:15:02 -05:00
Geoff Bourne
905906fa6c Auto-merging via docker-versions-create 2021-07-31 09:29:16 -05:00
Geoff Bourne
c862745534 Auto-merging via docker-versions-create 2021-07-26 19:37:13 -05:00
Geoff Bourne
ead8543b48 Merge branch 'master' into java16 2021-07-25 18:21:54 -05:00
Geoff Bourne
d34ae9d57d Auto-merging via docker-versions-create 2021-07-25 09:38:47 -05:00
Geoff Bourne
b6e53249f9 Auto-merging via docker-versions-create 2021-07-23 21:29:14 -05:00
Geoff Bourne
8020f83c3d Auto-merging via docker-versions-create 2021-07-17 21:16:18 -05:00
Geoff Bourne
fe01df78c4 Auto-merging via docker-versions-create 2021-07-17 20:59:03 -05:00
Geoff Bourne
afd0865d33 Auto-merging via docker-versions-create 2021-07-17 18:06:02 -05:00
Geoff Bourne
bcf408fb44 Auto-merging via docker-versions-create 2021-07-14 18:43:28 -05:00
Geoff Bourne
37f59eecd9 Auto-merging via docker-versions-create 2021-07-12 19:11:17 -05:00
Geoff Bourne
4ae2e5592f Auto-merging via docker-versions-create 2021-07-09 20:00:00 -05:00
Geoff Bourne
8fc44e0071 Auto-merging via docker-versions-create 2021-07-08 18:01:28 -05:00
Geoff Bourne
f3fa90b700 Auto-merging via docker-versions-create 2021-07-08 08:05:30 -05:00
itzg
c1322a23ea Auto-merging via docker-versions-create 2021-07-08 12:56:09 +00:00
Geoff Bourne
4cbf481441 Auto-merging via docker-versions-create 2021-07-08 07:40:33 -05:00
itzg
1cd8ec83ef Auto-merging via docker-versions-create 2021-07-04 19:54:08 +00:00
Geoff Bourne
9778bddd4f Auto-merging from master 2021-07-03 14:27:40 -05:00
Geoff Bourne
a03a1a8eff ci: auto-merge from master 2021-07-02 16:03:37 -05:00
itzg
408af32fbe Auto-merging via docker-versions-create 2021-07-02 16:56:04 +00:00
itzg
141d6c7125 Auto-merging via docker-versions-create 2021-06-28 12:14:14 +00:00
itzg
ddd4712ea0 Auto-merging via docker-versions-create 2021-06-27 13:13:19 +00:00
itzg
680987a385 Auto-merging via docker-versions-create 2021-06-24 12:47:13 +00:00
Geoff Bourne
655ae04abb Auto-merging via docker-versions-create 2021-06-23 22:35:33 -05:00
Geoff Bourne
f62dd55300 Auto-merging via docker-versions-create 2021-06-20 12:50:41 -05:00
Geoff Bourne
b5877f6208 Auto-merging via docker-versions-create 2021-06-05 17:54:18 -05:00
Geoff Bourne
d561c026c6 Auto-merging via docker-versions-create 2021-05-24 20:52:34 -05:00
Geoff Bourne
3cd3ca9d88 Merge branch 'master' into java16 2021-05-23 12:27:27 -05:00
Geoff Bourne
b9ef9a46b6 Merge from master 2021-05-22 13:47:15 -05:00
Geoff Bourne
275863f04c Auto-merging via docker-versions-create 2021-05-21 23:03:45 -05:00
Geoff Bourne
ae94a6be3a Auto-merging via docker-versions-create 2021-05-21 22:52:46 -05:00
Geoff Bourne
d08c6e2c46 ci: updated CACHE_NAME 2021-05-21 22:13:59 -05:00
6 changed files with 34 additions and 47 deletions

View File

@@ -5,7 +5,6 @@ on:
- master - master
- "*-multiarch" - "*-multiarch"
- "multiarch*" - "multiarch*"
- java7
- java8-openj9 - java8-openj9
- java11* - java11*
- java16* - java16*
@@ -64,10 +63,10 @@ jobs:
- name: Build and push - name: Build and push
id: docker_build id: docker_build
uses: docker/build-push-action@v2.6.1 uses: docker/build-push-action@v2.7.0
with: with:
context: . context: .
platforms: linux/amd64,linux/arm/v7 platforms: linux/amd64,linux/arm/v7,linux/arm64
push: ${{ github.event_name != 'pull_request' }} push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
# ensure latest base image is used # ensure latest base image is used

View File

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

View File

@@ -1,4 +1,4 @@
FROM openjdk:7-jre FROM adoptopenjdk:16-jre
LABEL org.opencontainers.image.authors="Geoff Bourne <itzgeoff@gmail.com>" LABEL org.opencontainers.image.authors="Geoff Bourne <itzgeoff@gmail.com>"
@@ -6,6 +6,7 @@ RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive \ && DEBIAN_FRONTEND=noninteractive \
apt-get install -y \ apt-get install -y \
imagemagick \ imagemagick \
gosu \
sudo \ sudo \
net-tools \ net-tools \
curl wget \ curl wget \
@@ -21,42 +22,6 @@ RUN apt-get update \
ttf-dejavu \ ttf-dejavu \
&& apt-get clean && apt-get clean
# Procedure from https://github.com/tianon/gosu/blob/master/INSTALL.md#from-debian
ENV GOSU_VERSION 1.14
RUN set -eux; \
# save list of currently installed packages for later so we can clean up
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends ca-certificates wget; \
if ! command -v gpg; then \
apt-get install -y --no-install-recommends gnupg2 dirmngr; \
elif gpg --version | grep -q '^gpg (GnuPG) 1\.'; then \
# "This package provides support for HKPS keyservers." (GnuPG 1.x only)
apt-get install -y --no-install-recommends gnupg-curl; \
fi; \
rm -rf /var/lib/apt/lists/*; \
\
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
\
# verify the signature
export GNUPGHOME="$(mktemp -d)"; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
command -v gpgconf && gpgconf --kill all || :; \
rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
\
# clean up fetch dependencies
apt-mark auto '.*' > /dev/null; \
[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
\
chmod +x /usr/local/bin/gosu; \
# verify that the binary works
gosu --version; \
gosu nobody true
RUN addgroup --gid 1000 minecraft \ RUN addgroup --gid 1000 minecraft \
&& adduser --system --shell /bin/false --uid 1000 --ingroup minecraft --home /data minecraft && adduser --system --shell /bin/false --uid 1000 --ingroup minecraft --home /data minecraft
@@ -87,7 +52,7 @@ 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 --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} \ 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 --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} \ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \

View File

@@ -38,6 +38,7 @@ By default, the container will download the latest version of the "vanilla" [Min
* [Examples](#examples) * [Examples](#examples)
* [Amazon Web Services (AWS) Deployment](#amazon-web-services-aws-deployment) * [Amazon Web Services (AWS) Deployment](#amazon-web-services-aws-deployment)
* [Using Docker Compose](#using-docker-compose) * [Using Docker Compose](#using-docker-compose)
* [Troubleshooting](#troubleshooting)
* [Server types](#server-types) * [Server types](#server-types)
* [Running a Forge Server](#running-a-forge-server) * [Running a Forge Server](#running-a-forge-server)
* [Running a Bukkit/Spigot server](#running-a-bukkitspigot-server) * [Running a Bukkit/Spigot server](#running-a-bukkitspigot-server)
@@ -128,7 +129,7 @@ By default, the container will download the latest version of the "vanilla" [Min
* [Enabling Autopause](#enabling-autopause) * [Enabling Autopause](#enabling-autopause)
* [Running on RaspberryPi](#running-on-raspberrypi) * [Running on RaspberryPi](#running-on-raspberrypi)
<!-- Added by: runner, at: Sun Aug 15 17:44:45 UTC 2021 --> <!-- Added by: runner, at: Sun Aug 29 21:26:46 UTC 2021 -->
<!--te--> <!--te-->
@@ -350,6 +351,14 @@ and in the same directory as that file run
Now, go play...or adjust the `environment` section to configure Now, go play...or adjust the `environment` section to configure
this server instance. 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 ## Server types
### Running a Forge Server ### Running a Forge Server
@@ -1000,6 +1009,10 @@ For example (just the `-e` bits):
-e LEVEL_TYPE=flat -e 'GENERATOR_SETTINGS=3;minecraft:bedrock,3*minecraft:stone,52*minecraft:sandstone;2;' -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 ### 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: 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:

View File

@@ -9,6 +9,10 @@ isDebugging && set -x
: ${FORCE_REDOWNLOAD:=false} : ${FORCE_REDOWNLOAD:=false}
: ${LIMBO_SCHEMA_FILENAME:=default.schem} : ${LIMBO_SCHEMA_FILENAME:=default.schem}
: ${LEVEL:=Default;${LIMBO_SCHEMA_FILENAME}} : ${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 if [[ ${LIMBO_BUILD^^} == LATEST ]]; then
LIMBO_BUILD=lastStableBuild LIMBO_BUILD=lastStableBuild
@@ -22,11 +26,14 @@ if [ $? != 0 ]; then
exit 1 exit 1
fi 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}) artifactPath=$(jq -r '.artifacts[] | select(.fileName|test("^Limbo-")) | .relativePath' <<<${buildJson})
defaultSchemaPath=$(jq -r '.artifacts[] | select(.fileName|test(".*\\.schem")) | .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 if [ ! -f "$SERVER" ] || isTrue "$FORCE_REDOWNLOAD"; then
downloadUrl="${baseUrl}/artifact/${artifactPath}" downloadUrl="${baseUrl}/artifact/${artifactPath}"
@@ -46,7 +53,7 @@ if [ ! -f "${LIMBO_SCHEMA_FILENAME}" ]; then
fi fi
fi fi
if [[ ${LEVEL} != "*;*" ]]; then if [[ ${LEVEL} != *\;* ]]; then
LEVEL="${LEVEL};${LIMBO_SCHEMA_FILENAME}" LEVEL="${LEVEL};${LIMBO_SCHEMA_FILENAME}"
fi fi
export LEVEL export LEVEL

View File

@@ -154,7 +154,10 @@ fi
if [[ "${GENERIC_PACK}" ]]; then if [[ "${GENERIC_PACK}" ]]; then
if isURL "${GENERIC_PACK}"; then if isURL "${GENERIC_PACK}"; then
log "Downloading generic pack ..." 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 GENERIC_PACK=/tmp/generic_pack.zip
fi fi