mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-02-17 15:13:55 +00:00
Compare commits
8 Commits
2021.16.0-
...
java15
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68ccc1c36d | ||
|
|
3aa3e77c27 | ||
|
|
5d162d6c19 | ||
|
|
cf6829001e | ||
|
|
af77b29509 | ||
|
|
521099b733 | ||
|
|
f297654bb6 | ||
|
|
01bd8f5860 |
10
.github/workflows/build-multiarch.yml
vendored
10
.github/workflows/build-multiarch.yml
vendored
@@ -7,6 +7,7 @@ on:
|
|||||||
- "multiarch*"
|
- "multiarch*"
|
||||||
- java8-openj9
|
- java8-openj9
|
||||||
- java11*
|
- java11*
|
||||||
|
- java15*
|
||||||
- java16*
|
- java16*
|
||||||
- test/multiarch/*
|
- test/multiarch/*
|
||||||
tags:
|
tags:
|
||||||
@@ -15,6 +16,7 @@ on:
|
|||||||
- "[0-9]+.[0-9]+.[0-9]+-*multiarch"
|
- "[0-9]+.[0-9]+.[0-9]+-*multiarch"
|
||||||
- "[0-9]+.[0-9]+.[0-9]+-java8-openj9"
|
- "[0-9]+.[0-9]+.[0-9]+-java8-openj9"
|
||||||
- "[0-9]+.[0-9]+.[0-9]+-java11*"
|
- "[0-9]+.[0-9]+.[0-9]+-java11*"
|
||||||
|
- "[0-9]+.[0-9]+.[0-9]+-java15"
|
||||||
- "[0-9]+.[0-9]+.[0-9]+-java16*"
|
- "[0-9]+.[0-9]+.[0-9]+-java16*"
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- "*.md"
|
- "*.md"
|
||||||
@@ -25,7 +27,7 @@ jobs:
|
|||||||
docker-buildx:
|
docker-buildx:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
env:
|
env:
|
||||||
CACHE_NAME: java16
|
CACHE_NAME: java15
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v2.3.4
|
||||||
@@ -47,7 +49,7 @@ jobs:
|
|||||||
uses: docker/setup-buildx-action@v1
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
- name: Cache Docker layers
|
- name: Cache Docker layers
|
||||||
uses: actions/cache@v2.1.6
|
uses: actions/cache@v2.1.5
|
||||||
with:
|
with:
|
||||||
path: /tmp/.buildx-cache
|
path: /tmp/.buildx-cache
|
||||||
key: ${{ runner.os }}-buildx-${{ env.CACHE_NAME }}-${{ github.sha }}
|
key: ${{ runner.os }}-buildx-${{ env.CACHE_NAME }}-${{ github.sha }}
|
||||||
@@ -56,7 +58,7 @@ jobs:
|
|||||||
${{ runner.os }}-buildx-
|
${{ runner.os }}-buildx-
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v1.2.0
|
uses: docker/setup-qemu-action@v1.1.0
|
||||||
|
|
||||||
- name: Login to DockerHub
|
- name: Login to DockerHub
|
||||||
uses: docker/login-action@v1
|
uses: docker/login-action@v1
|
||||||
@@ -66,7 +68,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
id: docker_build
|
id: docker_build
|
||||||
uses: docker/build-push-action@v2.5.0
|
uses: docker/build-push-action@v2.4.0
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
platforms: linux/amd64,linux/arm/v7,linux/arm64
|
platforms: linux/amd64,linux/arm/v7,linux/arm64
|
||||||
|
|||||||
6
.github/workflows/main.yml
vendored
6
.github/workflows/main.yml
vendored
@@ -30,7 +30,7 @@ jobs:
|
|||||||
- test
|
- test
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
env:
|
env:
|
||||||
CACHE_NAME: java16
|
CACHE_NAME: java15
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2.3.4
|
- uses: actions/checkout@v2.3.4
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
uses: docker/setup-buildx-action@v1
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
- name: Cache Docker layers
|
- name: Cache Docker layers
|
||||||
uses: actions/cache@v2.1.6
|
uses: actions/cache@v2.1.5
|
||||||
with:
|
with:
|
||||||
path: /tmp/.buildx-cache
|
path: /tmp/.buildx-cache
|
||||||
key: ${{ runner.os }}-buildx-${{ env.CACHE_NAME }}-${{ github.sha }}
|
key: ${{ runner.os }}-buildx-${{ env.CACHE_NAME }}-${{ github.sha }}
|
||||||
@@ -75,7 +75,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
id: docker_build
|
id: docker_build
|
||||||
uses: docker/build-push-action@v2.5.0
|
uses: docker/build-push-action@v2.4.0
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM adoptopenjdk:16-jre
|
FROM adoptopenjdk:15-jre
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="Geoff Bourne <itzgeoff@gmail.com>"
|
LABEL org.opencontainers.image.authors="Geoff Bourne <itzgeoff@gmail.com>"
|
||||||
|
|
||||||
|
|||||||
@@ -145,7 +145,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: Wed Jun 9 12:35:18 UTC 2021 -->
|
<!-- Added by: runner, at: Sat May 22 13:59:04 UTC 2021 -->
|
||||||
|
|
||||||
<!--te-->
|
<!--te-->
|
||||||
|
|
||||||
@@ -275,11 +275,13 @@ To use a different version of Java, please use a docker tag to run your Minecraf
|
|||||||
| Tag name | Java version | Linux | JVM Type | Architecture |
|
| Tag name | Java version | Linux | JVM Type | Architecture |
|
||||||
| -------------- | -------------|--------|----------|-------------------|
|
| -------------- | -------------|--------|----------|-------------------|
|
||||||
| latest | 16 | Debian | Hotspot | amd64,arm64,armv7 |
|
| latest | 16 | Debian | Hotspot | amd64,arm64,armv7 |
|
||||||
|
| edge | 16 | Debian | Hotspot | amd64,arm64,armv7 |
|
||||||
| java8 | 8 | Alpine | Hotspot | amd64 |
|
| java8 | 8 | Alpine | Hotspot | amd64 |
|
||||||
| java8-multiarch | 8 | Debian | Hotspot | amd64,arm64,armv7 |
|
| java8-multiarch | 8 | Debian | Hotspot | amd64,arm64,armv7 |
|
||||||
| java8-openj9 | 8 | Debian | OpenJ9 | amd64 |
|
| java8-openj9 | 8 | Debian | OpenJ9 | amd64 |
|
||||||
| java11 | 11 | Debian | Hotspot | amd64,arm64,armv7 |
|
| java11 | 11 | Debian | Hotspot | amd64,arm64,armv7 |
|
||||||
| java11-openj9 | 11 | Debian | OpenJ9 | amd64 |
|
| java11-openj9 | 11 | Debian | OpenJ9 | amd64 |
|
||||||
|
| java15 | 15 | Debian | Hotspot | amd64,arm64,armv7 |
|
||||||
| java16 | 16 | Debian | Hotspot | amd64,arm64,armv7 |
|
| java16 | 16 | Debian | Hotspot | amd64,arm64,armv7 |
|
||||||
| java16-openj9 | 16 | Debian | OpenJ9 | amd64 |
|
| java16-openj9 | 16 | Debian | OpenJ9 | amd64 |
|
||||||
| multiarch-latest | 15+ | Debian | Hotspot | amd64,arm64,armv7 |
|
| multiarch-latest | 15+ | Debian | Hotspot | amd64,arm64,armv7 |
|
||||||
@@ -452,13 +454,15 @@ An [Airplane](https://github.com/TECHNOVE/Airplane) server, which is a fork of T
|
|||||||
|
|
||||||
> **NOTE** only `VERSION=LATEST` is supported
|
> **NOTE** only `VERSION=LATEST` is supported
|
||||||
|
|
||||||
|
> **NOTE** only Java 8 and 11 are supported
|
||||||
|
|
||||||
Extra variables:
|
Extra variables:
|
||||||
- `FORCE_REDOWNLOAD=false` : set to true to force the located server jar to be re-downloaded
|
- `FORCE_REDOWNLOAD=false` : set to true to force the located server jar to be re-downloaded
|
||||||
- `USE_FLARE_FLAGS=false` : set to true to add appropriate flags for the [Flare](https://blog.airplane.gg/flare) profiler
|
- `USE_FLARE_FLAGS=false` : set to true to add appropriate flags for the [Flare](https://blog.airplane.gg/flare) profiler
|
||||||
|
|
||||||
### Running a Purpur server
|
### Running a Purpur server
|
||||||
|
|
||||||
A [Purpur](https://purpur.pl3x.net/) server, which is "a drop-in replacement for Paper servers designed for configurability, new fun and exciting gameplay features, and high performance built on top of Tuinity.".
|
A [Purpur](https://purpur.pl3x.net/) server, which is "a fork of Paper, Tuinity, Airplane with the goal of providing new and interesting configuration options".
|
||||||
|
|
||||||
-e TYPE=PURPUR
|
-e TYPE=PURPUR
|
||||||
|
|
||||||
@@ -467,6 +471,7 @@ A [Purpur](https://purpur.pl3x.net/) server, which is "a drop-in replacement for
|
|||||||
Extra variables:
|
Extra variables:
|
||||||
- `PURPUR_BUILD=LATEST` : set a specific Purpur build to use
|
- `PURPUR_BUILD=LATEST` : set a specific Purpur build to use
|
||||||
- `FORCE_REDOWNLOAD=false` : set to true to force the located server jar to be re-downloaded
|
- `FORCE_REDOWNLOAD=false` : set to true to force the located server jar to be re-downloaded
|
||||||
|
- `USE_FLARE_FLAGS=false` : set to true to add appropriate flags for the [Flare](https://blog.airplane.gg/flare) profiler
|
||||||
|
|
||||||
### Running a Yatopia server
|
### Running a Yatopia server
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ branches_list=(
|
|||||||
'java8-openj9'
|
'java8-openj9'
|
||||||
'java11'
|
'java11'
|
||||||
'java11-openj9'
|
'java11-openj9'
|
||||||
|
'java15'
|
||||||
'java16'
|
'java16'
|
||||||
'java16-openj9'
|
'java16-openj9'
|
||||||
'multiarch-latest'
|
'multiarch-latest'
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
Place server [modpacks downloaded from CurseForge](https://www.curseforge.com/minecraft/modpacks) in this directory.
|
Place server [modpacks downloaded from CurseForge](https://www.curseforge.com/minecraft/modpacks) in this directory.
|
||||||
|
|
||||||
The example [`docker-compose-curseforge.yml`](../docker-compose-curseforge.yml) references a modpack downloaded from <https://www.curseforge.com/minecraft/modpacks/skyfactory-4/files/3012800>.
|
The example [`docker-compose-curseforge.yml`](../docker-compose-curseforge.yml) references a modpack downloaded from <https://www.curseforge.com/minecraft/modpacks/skyfactory-4/files/2787018>.
|
||||||
|
|||||||
@@ -7,10 +7,9 @@ isDebugging && set -x
|
|||||||
|
|
||||||
JAVA_VER=$(java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1)
|
JAVA_VER=$(java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1)
|
||||||
|
|
||||||
if [ "${JAVA_VER}" = "8" ]; then
|
if [ "${JAVA_VER}" != "8" ] && [ "${JAVA_VER}" != "11" ]; then
|
||||||
JDK=8
|
log "ERROR: Airplane server type only supports Java versions 8 and 11"
|
||||||
else
|
exit 1
|
||||||
JDK=11
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${VERSION}" != "LATEST" ]; then
|
if [ "${VERSION}" != "LATEST" ]; then
|
||||||
@@ -18,10 +17,10 @@ if [ "${VERSION}" != "LATEST" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export SERVER=airplane-${VANILLA_VERSION}-jdk${JDK}.jar
|
export SERVER=airplane-${VANILLA_VERSION}-jdk${JAVA_VER}.jar
|
||||||
|
|
||||||
if [ ! -f "$SERVER" ] || isTrue "$FORCE_REDOWNLOAD"; then
|
if [ ! -f "$SERVER" ] || isTrue "$FORCE_REDOWNLOAD"; then
|
||||||
downloadUrl="https://dl.airplane.gg/latest/Airplane-JDK${JDK}/launcher-airplane.jar"
|
downloadUrl="https://dl.airplane.gg/latest/Airplane-JDK${JAVA_VER}/launcher-airplane.jar"
|
||||||
log "Downloading Airplane from $downloadUrl ..."
|
log "Downloading Airplane from $downloadUrl ..."
|
||||||
curl -fsSL -o "$SERVER" "$downloadUrl"
|
curl -fsSL -o "$SERVER" "$downloadUrl"
|
||||||
if [ ! -f "$SERVER" ]; then
|
if [ ! -f "$SERVER" ]; then
|
||||||
|
|||||||
@@ -85,14 +85,13 @@ if ! isTrue ${USE_MODPACK_START_SCRIPT:-true}; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
log "Installing forge server"
|
log "Installing forge server"
|
||||||
dirOfInstaller=$(dirname "${forgeInstallerJar}")
|
(cd $(dirname "${forgeInstallerJar}"); java -jar $(basename "${forgeInstallerJar}") --installServer)
|
||||||
(cd "${dirOfInstaller}"; java -jar $(basename "${forgeInstallerJar}") --installServer)
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "${FTB_SERVER_MOD}" > $installMarker
|
echo "${FTB_SERVER_MOD}" > $installMarker
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export SERVER=$(find ${FTB_BASE_DIR} -type f \( -path "/libraries/*" -o -path "/mods/*" \) -prune -o -name "forge*.jar" -not -name "forge*installer.jar" -maxdepth 2 -print)
|
export SERVER=$(find ${FTB_BASE_DIR} -type f \( -path "*/libraries/*" -o -path "*/mods/*" \) -prune -o -name "forge*.jar" -not -name "forge*installer.jar" -print)
|
||||||
if [[ -z "${SERVER}" || ! -f "${SERVER}" ]]; then
|
if [[ -z "${SERVER}" || ! -f "${SERVER}" ]]; then
|
||||||
log "ERROR unable to locate installed forge server jar"
|
log "ERROR unable to locate installed forge server jar"
|
||||||
isDebugging && find ${FTB_BASE_DIR} -name "forge*.jar"
|
isDebugging && find ${FTB_BASE_DIR} -name "forge*.jar"
|
||||||
@@ -185,7 +184,7 @@ if [[ $(find ${FTB_BASE_DIR} $entryScriptExpr | wc -l) = 0 ]]; then
|
|||||||
|
|
||||||
# Allow up to 2 levels since some modpacks have a top-level directory named
|
# Allow up to 2 levels since some modpacks have a top-level directory named
|
||||||
# for the modpack
|
# for the modpack
|
||||||
forgeJar=$(find ${FTB_BASE_DIR} -type f \( -path "/libraries/*" -o -path "/mods/*" \) -prune -o -name "forge*.jar" -not -name "forge*installer.jar" -maxdepth 2 -print)
|
forgeJar=$(find ${FTB_BASE_DIR} -maxdepth 2 -name 'forge*.jar' -a -not -name 'forge*installer')
|
||||||
if [[ "$forgeJar" ]]; then
|
if [[ "$forgeJar" ]]; then
|
||||||
export FTB_BASE_DIR=$(dirname "${forgeJar}")
|
export FTB_BASE_DIR=$(dirname "${forgeJar}")
|
||||||
log "No entry script found, so building one for ${forgeJar}"
|
log "No entry script found, so building one for ${forgeJar}"
|
||||||
|
|||||||
@@ -52,14 +52,12 @@ fi
|
|||||||
|
|
||||||
isDebugging && cat version.json
|
isDebugging && cat version.json
|
||||||
forgeVersion=$(jq -r '.targets|unique[] | select(.name == "forge") | .version' version.json)
|
forgeVersion=$(jq -r '.targets|unique[] | select(.name == "forge") | .version' version.json)
|
||||||
fabricVersion=$(jq -r '.targets|unique[] | select(.name == "fabric") | .version' version.json)
|
|
||||||
mcVersion=$(jq -r '.targets|unique[] | select(.name == "minecraft") | .version' version.json)
|
mcVersion=$(jq -r '.targets|unique[] | select(.name == "minecraft") | .version' version.json)
|
||||||
|
|
||||||
variants=(
|
variants=(
|
||||||
forge-${mcVersion}-${forgeVersion}.jar
|
forge-${mcVersion}-${forgeVersion}.jar
|
||||||
forge-${mcVersion}-${forgeVersion}-universal.jar
|
forge-${mcVersion}-${forgeVersion}-universal.jar
|
||||||
forge-${mcVersion}-${forgeVersion}-${mcVersion}-universal.jar
|
forge-${mcVersion}-${forgeVersion}-${mcVersion}-universal.jar
|
||||||
fabric-${mcVersion}-${fabricVersion}-server-launch.jar
|
|
||||||
)
|
)
|
||||||
for f in ${variants[@]}; do
|
for f in ${variants[@]}; do
|
||||||
if [ -f $f ]; then
|
if [ -f $f ]; then
|
||||||
@@ -68,7 +66,7 @@ for f in ${variants[@]}; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if ! [ -v SERVER ]; then
|
if ! [ -v SERVER ]; then
|
||||||
log "ERROR unable to locate the installed FTB server jar"
|
log "ERROR unable to locate the installed forge server jar"
|
||||||
ls *.jar
|
ls *.jar
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ if [ ! -e $installMarker ]; then
|
|||||||
log "Unable to compute URL for $normForgeVersion"
|
log "Unable to compute URL for $normForgeVersion"
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
downloadUrl=https://maven.minecraftforge.net/net/minecraftforge/forge/$fn
|
downloadUrl=http://files.minecraftforge.net/maven/net/minecraftforge/forge/$fn
|
||||||
log "...trying $downloadUrl"
|
log "...trying $downloadUrl"
|
||||||
if curl -o $FORGE_INSTALLER -fsSL $downloadUrl; then
|
if curl -o $FORGE_INSTALLER -fsSL $downloadUrl; then
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ IFS=$'\n\t'
|
|||||||
isDebugging && set -x
|
isDebugging && set -x
|
||||||
|
|
||||||
: ${VANILLA_VERSION:?}
|
: ${VANILLA_VERSION:?}
|
||||||
: ${RELEASE:=latest}
|
: ${RELEASE:=stable}
|
||||||
: ${FORCE_REDOWNLOAD:=false}
|
: ${FORCE_REDOWNLOAD:=false}
|
||||||
|
|
||||||
requireEnum RELEASE stable latest
|
requireEnum RELEASE stable latest
|
||||||
|
|||||||
@@ -212,11 +212,6 @@ EOF
|
|||||||
"${FTB_SERVER_START}"
|
"${FTB_SERVER_START}"
|
||||||
)
|
)
|
||||||
|
|
||||||
if isTrue ${SETUP_ONLY:=false}; then
|
|
||||||
echo "SETUP_ONLY: ${finalArgs[@]}"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if isTrue ${DEBUG_EXEC}; then
|
if isTrue ${DEBUG_EXEC}; then
|
||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
@@ -241,11 +236,6 @@ else
|
|||||||
"$@" $EXTRA_ARGS
|
"$@" $EXTRA_ARGS
|
||||||
)
|
)
|
||||||
|
|
||||||
if isTrue ${SETUP_ONLY:=false}; then
|
|
||||||
echo "SETUP_ONLY: java ${finalArgs[@]}"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if isTrue ${DEBUG_EXEC}; then
|
if isTrue ${DEBUG_EXEC}; then
|
||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user