mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-03-03 21:36:24 +00:00
Added DOWNLOAD_EXTRA_CONFIGS (#3679)
This commit is contained in:
@@ -48,7 +48,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
||||
--var version=${MC_SERVER_RUNNER_VERSION} --var app=mc-server-runner --file {{.app}} \
|
||||
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
||||
|
||||
ARG MC_HELPER_VERSION=1.48.14
|
||||
ARG MC_HELPER_VERSION=1.49.0
|
||||
ARG MC_HELPER_BASE_URL=${GITHUB_BASEURL}/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION}
|
||||
# used for cache busting local copy of mc-image-helper
|
||||
ARG MC_HELPER_REV=1
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
## Running with a custom server JAR
|
||||
|
||||
If you would like to run a custom server JAR, set `-e TYPE=CUSTOM` and pass the custom server
|
||||
@@ -142,6 +141,37 @@ To enable support for optimized SIMD operations, the JVM flag can be set with th
|
||||
|
||||
SIMD optimized operations are supported by Pufferfish and Purpur.
|
||||
|
||||
## Downloading extra configuration files
|
||||
|
||||
You can download additional configuration files or other resources before the server starts by using the `DOWNLOAD_EXTRA_CONFIGS` environment variable. This is useful for downloading configs that you want to patch or modify during the startup process.
|
||||
|
||||
The format uses a `<` separator between the destination path and the source URL:
|
||||
|
||||
```
|
||||
DOWNLOAD_EXTRA_CONFIGS=destination<source_url[,destination2<source_url2,...]
|
||||
```
|
||||
|
||||
For example, to download configuration files for plugins:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
DOWNLOAD_EXTRA_CONFIGS: |
|
||||
plugins/WorldEdit<https://raw.githubusercontent.com/EngineHub/WorldEdit/refs/heads/version/7.3.x/worldedit-bukkit/src/main/resources/defaults/config.yml
|
||||
plugins/EssentialsX<https://raw.githubusercontent.com/EssentialsX/Essentials/refs/heads/2.x/Essentials/src/main/resources/config.yml
|
||||
```
|
||||
|
||||
Or as a single line:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
DOWNLOAD_EXTRA_CONFIGS: "plugins/WorldEdit<https://example.com/worldedit.yml,config<https://example.com/another.yml"
|
||||
```
|
||||
|
||||
The files will be downloaded to `/data/` relative paths, so `plugins/WorldEdit` will be saved as `/data/plugins/WorldEdit/config.yml`.
|
||||
|
||||
!!! note
|
||||
The downloaded files can be further processed using [environment variable replacement](interpolating.md) or [patch definitions](interpolating.md#patching-existing-files)
|
||||
|
||||
## Enable timestamps in init logs
|
||||
|
||||
Before the container starts the Minecraft Server its output is prefixed with `[init]`, such as
|
||||
|
||||
@@ -17,6 +17,7 @@ handleDebugMode
|
||||
: "${DOWNLOAD_DEFAULTS:=}"
|
||||
: "${DOWNLOAD_DEFAULT_CONFIGS:=}"
|
||||
: "${SKIP_DOWNLOAD_DEFAULTS:=false}"
|
||||
: "${DOWNLOAD_EXTRA_CONFIGS:=}"
|
||||
|
||||
if isTrue "${REPLACE_ENV_IN_PLACE}"; then
|
||||
log "Replacing env variables in ${REPLACE_ENV_PATHS} that match the prefix '$REPLACE_ENV_VARIABLE_PREFIX' ..."
|
||||
@@ -54,6 +55,15 @@ if isFalse "$SKIP_DOWNLOAD_DEFAULTS"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $DOWNLOAD_EXTRA_CONFIGS ]]; then
|
||||
mc-image-helper mcopy \
|
||||
--to /data \
|
||||
--skip-existing \
|
||||
--skip-up-to-date=false \
|
||||
--quiet-when-skipped \
|
||||
"$DOWNLOAD_EXTRA_CONFIGS"
|
||||
fi
|
||||
|
||||
if [[ ${PATCH_DEFINITIONS} ]]; then
|
||||
log "Applying patch definitions from ${PATCH_DEFINITIONS}"
|
||||
mc-image-helper patch \
|
||||
|
||||
Reference in New Issue
Block a user