Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: itzg/docker-minecraft-server
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2025.2.1
Choose a base ref
...
head repository: itzg/docker-minecraft-server
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2025.3.0
Choose a head ref
  • 12 commits
  • 32 files changed
  • 6 contributors

Commits on Feb 16, 2025

  1. Copy the full SHA
    3a678a6 View commit details

Commits on Feb 17, 2025

  1. Added USES_PLUGINS to allows /plugins use with hybrid mods (#3320)

    itzg authored Feb 17, 2025
    Copy the full SHA
    dcdbb85 View commit details

Commits on Feb 22, 2025

  1. fabric: skip web API access when all versions match installed (#3332)

    itzg authored Feb 22, 2025
    Copy the full SHA
    beb3b4a View commit details

Commits on Feb 24, 2025

  1. 1863: use SLP for pre-1.7 servers. (#3336)

    jackguy80 authored Feb 24, 2025
    Copy the full SHA
    fcfb1cd View commit details

Commits on Feb 25, 2025

  1. build(deps): bump docker/build-push-action from 6.13.0 to 6.14.0 in t…

    …he updates group (#3337)
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Feb 25, 2025
    Copy the full SHA
    8bb7ea9 View commit details

Commits on Feb 26, 2025

  1. Copy the full SHA
    4eedde8 View commit details
  2. Upgrade helper to 1.41.2 (#3343)

    itzg authored Feb 26, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    6f190a6 View commit details

Commits on Feb 27, 2025

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    73cb633 View commit details

Commits on Mar 3, 2025

  1. Fix log4j2 warning / Remove package scanning (#3347)

    litetex authored Mar 3, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    73e402b View commit details

Commits on Mar 6, 2025

  1. add sound to excluded mods as it crashes server on load. (#3350)

    EmilyxFox authored Mar 6, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    a7b35d9 View commit details

Commits on Mar 9, 2025

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    5fd2522 View commit details
  2. rcon-cli upgraded to support command history (#3354)

    itzg authored Mar 9, 2025
    Copy the full SHA
    f22d291 View commit details
Showing with 153 additions and 77 deletions.
  1. +2 −2 .github/workflows/build-multiarch.yml
  2. +2 −2 .github/workflows/verify-pr.yml
  3. +2 −2 Dockerfile
  4. +1 −1 docs/mods-and-plugins/index.md
  5. +5 −1 docs/types-and-platforms/mod-platforms/auto-curseforge.md
  6. +4 −1 examples/aof7/docker-compose.yml
  7. +4 −1 examples/atm10/docker-compose.yml
  8. +4 −1 examples/atm8/docker-compose.yml
  9. +4 −1 examples/atm9/docker-compose.yml
  10. +4 −1 examples/auto-cf/modpack-manifest/docker-compose.yml
  11. +4 −32 examples/auto-cf/using-excludes/docker-compose.yml
  12. +1 −0 examples/autopause/compose.yml
  13. +4 −1 examples/bettermc/docker-compose.yml
  14. +5 −1 examples/craftoria/docker-compose.yml
  15. +4 −1 examples/curseforge-files/docker-compose.yml
  16. +4 −1 examples/docker-compose-rconcmd.yml
  17. +20 −0 examples/fabric-cardboard/compose.yml
  18. +3 −0 examples/{docker-compose-fabric.yml → fabric/compose.yml}
  19. +4 −0 examples/ftb-evolution/compose.yaml
  20. +4 −0 examples/ketting/docker-compose.yml
  21. +4 −1 examples/one-block-modded/docker-compose.yml
  22. +5 −1 examples/pixelmon/docker-compose.yml
  23. +4 −1 examples/prominence2/docker-compose.yml
  24. +4 −4 examples/rad2/compose.yaml
  25. +4 −1 examples/rlcraft/docker-compose.yml
  26. +4 −1 examples/skyfactory5/compose.yml
  27. +5 −1 examples/valhesia5/docker-compose.yml
  28. +4 −3 examples/vault-hunters-1-18-2/docker-compose.yml
  29. +9 −3 files/auto/autopause-fcns.sh
  30. +1 −0 files/cf-exclude-include.json
  31. +2 −2 files/log4j2.xml
  32. +22 −10 scripts/start-utils
4 changes: 2 additions & 2 deletions .github/workflows/build-multiarch.yml
Original file line number Diff line number Diff line change
@@ -145,7 +145,7 @@ jobs:
uses: docker/setup-qemu-action@v3.4.0

- name: Build for test
uses: docker/build-push-action@v6.13.0
uses: docker/build-push-action@v6.14.0
with:
platforms: linux/amd64
tags: ${{ env.IMAGE_TO_TEST }}
@@ -183,7 +183,7 @@ jobs:
password: ${{ github.token }}

- name: Build and push
uses: docker/build-push-action@v6.13.0
uses: docker/build-push-action@v6.14.0
if: github.actor == github.repository_owner
with:
platforms: ${{ matrix.platforms }}
4 changes: 2 additions & 2 deletions .github/workflows/verify-pr.yml
Original file line number Diff line number Diff line change
@@ -56,7 +56,7 @@ jobs:
uses: docker/setup-buildx-action@v3.9.0

- name: Confirm multi-arch build
uses: docker/build-push-action@v6.13.0
uses: docker/build-push-action@v6.14.0
with:
platforms: ${{ matrix.platforms }}
# ensure latest base image is used
@@ -66,7 +66,7 @@ jobs:
cache-from: type=gha,scope=${{ matrix.variant }}

- name: Build for test
uses: docker/build-push-action@v6.13.0
uses: docker/build-push-action@v6.14.0
with:
# Only build single platform since loading multi-arch image into daemon fails with
# "docker exporter does not currently support exporting manifest lists"
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -35,7 +35,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=${RESTIFY_VERSION} --var app=restify --file {{.app}} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz

ARG RCON_CLI_VERSION=1.6.11
ARG RCON_CLI_VERSION=1.7.0
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=${RCON_CLI_VERSION} --var app=rcon-cli --file {{.app}} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
@@ -50,7 +50,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.40.13
ARG MC_HELPER_VERSION=1.41.2
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
2 changes: 1 addition & 1 deletion docs/mods-and-plugins/index.md
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ The terms "mods" and "plugins" can be quite confusing. Generally, the rule of th
There are optional volume paths that can be attached to supply content to be copied into the data area:

`/plugins`
: content in this directory is synchronized into `/data/plugins` for server types that use plugins, [as described above](#mods-vs-plugins). For special cases, the source can be changed by setting `COPY_PLUGINS_SRC` and destination by setting `COPY_PLUGINS_DEST`.
: content in this directory is synchronized into `/data/plugins` for server types that use plugins, [as described above](#mods-vs-plugins). For special cases, the source can be changed by setting `COPY_PLUGINS_SRC` and destination by setting `COPY_PLUGINS_DEST`. If using a mod-based loader, such as Forge or Fabric, but a hybrid mod like [Cardboard](https://modrinth.com/mod/cardboard), then set `USES_PLUGINS` to have the automation utilize `/plugins` mount.

`/mods`
: content in this directory is synchronized into `/data/mods` for server types that use mods, [as described above](#mods-vs-plugins). For special cases, the source can be changed by setting `COPY_MODS_SRC` and destination by setting `COPY_MODS_DEST`.
6 changes: 5 additions & 1 deletion docs/types-and-platforms/mod-platforms/auto-curseforge.md
Original file line number Diff line number Diff line change
@@ -56,7 +56,9 @@ For example:
-e TYPE=AUTO_CURSEFORGE -e CF_SLUG=all-the-mods-8
```

The latest file will be located and used by default, but if a specific version is desired you can use one of the following options. With any of these options **do not select a server file** -- they lack the required manifest and defeat the ability to consistently automate startup.
### Pinning modpack and mod loader versions

The latest modpack file and its associated mod loader will be located and installed by default on startup (including automatic upgrading of both on subsequent startups, if a later version is found on CurseForge). If a specific version is desired instead, you can use one of the following options. With any of these options **do not select a server file** -- they lack the required manifest and defeat the ability to consistently automate startup.

- Use `CF_PAGE_URL`, but include the full URL to a specific file
- Set `CF_FILE_ID` to the numerical file ID
@@ -82,6 +84,8 @@ The following examples all refer to version 1.0.7 of ATM8:
CF_FILENAME_MATCHER: 1.0.7
```
Pinning modpack version also pins the mod loader (to the version specified by the modpack). Mod loader version cannot be pinned independently of the modpack.
## Manual Downloads
For mod, modpacks, and world files that are not allowed for automated download, the container path `/downloads` can be attached and matching files will be retrieved from there. The subdirectories `mods`, `modpacks`, and `worlds` will also be checked accordingly. To change the source location of downloaded files, set `CF_DOWNLOADS_REPO` to an existing container path. To disable this feature, set `CF_DOWNLOADS_REPO` to an empty string.
5 changes: 4 additions & 1 deletion examples/aof7/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,10 @@ services:
environment:
EULA: true
MODPACK_PLATFORM: AUTO_CURSEFORGE
# from .env
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/all-of-fabric-7
# CF_FILENAME_MATCHER: 1.2.2
5 changes: 4 additions & 1 deletion examples/atm10/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -8,7 +8,10 @@ services:
environment:
EULA: true
MOD_PLATFORM: AUTO_CURSEFORGE
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_SLUG: all-the-mods-10
# Optional: select a specific version/file
5 changes: 4 additions & 1 deletion examples/atm8/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -6,7 +6,10 @@ services:
environment:
EULA: "true"
MODPACK_PLATFORM: AUTO_CURSEFORGE
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/all-the-mods-8
# CF_FILENAME_MATCHER: "1.1.0"
5 changes: 4 additions & 1 deletion examples/atm9/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -6,7 +6,10 @@ services:
environment:
EULA: "true"
MODPACK_PLATFORM: AUTO_CURSEFORGE
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/all-the-mods-9
# Optional: select a specific version/file
5 changes: 4 additions & 1 deletion examples/auto-cf/modpack-manifest/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,10 @@ services:
environment:
EULA: true
MODPACK_PLATFORM: AUTO_CURSEFORGE
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_MODPACK_MANIFEST: /manifests/manifest.json
CF_SLUG: "custom"
36 changes: 4 additions & 32 deletions examples/auto-cf/using-excludes/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -6,40 +6,12 @@ services:
environment:
EULA: "true"
MODPACK_PLATFORM: AUTO_CURSEFORGE
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/minecraft-eternal/files/4102634
CF_EXCLUDE_MODS: |
cherished-worlds
controlling
ctm
custom-main-menu
ding
minecraft-rich-presence
enchantment-descriptions
just-enough-harvestcraft
just-enough-resources-jer
menumobs
more-overlays
mouse-tweaks
oldjavawarning
overloaded-armor-bar
reauth
thaumic-jei
tips
armor-toughness-bar
waila-harvestability
ambientsounds
biomeinfo
block-drops-jei-addon
loot-capacitor-tooltips
no-recipe-book
packmodemenu
resource-reloader
# blockdrops

CF_FORCE_SYNCHRONIZE: "true"
MEMORY: 4G
volumes:
- mc-data:/data
1 change: 1 addition & 0 deletions examples/autopause/compose.yml
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ services:
- "mc:/data"
environment:
EULA: "TRUE"
TYPE: PAPER
ENABLE_AUTOPAUSE: "TRUE"
MAX_TICK_TIME: "-1"
# More aggressive settings for demo purposes
5 changes: 4 additions & 1 deletion examples/bettermc/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,10 @@ services:
environment:
EULA: true
MODPACK_PLATFORM: AUTO_CURSEFORGE
# Set CF_API_KEY=... in a .env file next to this compose file and don't source control that file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_SLUG: better-mc-fabric-bmc1
# CF_FILENAME_MATCHER: v18.5
6 changes: 5 additions & 1 deletion examples/craftoria/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -9,10 +9,14 @@ services:
EULA: true
ALLOW_FLIGHT: true
MOD_PLATFORM: AUTO_CURSEFORGE
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_SLUG: craftoria
MEMORY: 8G
# TODO: replace with slugs and see if already excluded by cf-exclude-include.json
CF_EXCLUDE_MODS: |
737481
363363
5 changes: 4 additions & 1 deletion examples/curseforge-files/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,10 @@ services:
environment:
EULA: true
TYPE: FORGE
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
VERSION: 1.19.2
CURSEFORGE_FILES: |
5 changes: 4 additions & 1 deletion examples/docker-compose-rconcmd.yml
Original file line number Diff line number Diff line change
@@ -12,7 +12,10 @@ services:
CURSEFORGE_FILES: |
fabric-api
chunky-pregenerator
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
# YAML Heredoc, be sure to use '|-' this will remove the first newline and final new line.
# This is versus '|' that will leaving with two empty strings at top and bottom.
20 changes: 20 additions & 0 deletions examples/fabric-cardboard/compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
services:
mc:
image: itzg/minecraft-server:latest
tty: true
stdin_open: true
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: "FABRIC"
MEMORY: 4G
MODRINTH_PROJECTS: |
fabric-api
cardboard:beta
USES_PLUGINS: true
volumes:
- mc-data:/data
- ./plugins:/plugins:ro
volumes:
mc-data:
Original file line number Diff line number Diff line change
@@ -4,6 +4,9 @@ services:
environment:
EULA: "true"
TYPE: FABRIC
# VERSION: 1.21.4
# FABRIC_INSTALLER_VERSION: 1.0.1
# FABRIC_LOADER_VERSION: 0.16.10
ports:
- "25565:25565"
volumes:
4 changes: 4 additions & 0 deletions examples/ftb-evolution/compose.yaml
Original file line number Diff line number Diff line change
@@ -9,6 +9,10 @@ services:
environment:
EULA: "TRUE"
TYPE: AUTO_CURSEFORGE
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/ftb-evolution
# This modpack includes an override client-side only mod that will prevent the server from starting.
4 changes: 4 additions & 0 deletions examples/ketting/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -5,6 +5,10 @@ services:
EULA: true
TYPE: KETTING
VERSION: 1.20.1
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: "${CF_API_KEY}"
CURSEFORGE_FILES: https://www.curseforge.com/minecraft/mc-mods/aquaculture
ports:
5 changes: 4 additions & 1 deletion examples/one-block-modded/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -6,7 +6,10 @@ services:
environment:
EULA: "true"
MODPACK_PLATFORM: AUTO_CURSEFORGE
# CF_API_KEY=... must be set in .env file or as environment variable
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_SLUG: one-block-modded
# Modpack client zip must be manually downloaded from
6 changes: 5 additions & 1 deletion examples/pixelmon/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -6,7 +6,11 @@ services:
environment:
EULA: "true"
MODPACK_PLATFORM: AUTO_CURSEFORGE
CF_API_KEY: # allocate from https://console.curseforge.com/
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_SLUG: the-pixelmon-modpack
CF_FILENAME_MATCHER: "9.1.2"
MEMORY: 4G
5 changes: 4 additions & 1 deletion examples/prominence2/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -6,7 +6,10 @@ services:
environment:
EULA: "true"
MODPACK_PLATFORM: AUTO_CURSEFORGE
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/prominence-2-rpg
CF_FILENAME_MATCHER: "2.8.7"
8 changes: 4 additions & 4 deletions examples/rad2/compose.yaml
Original file line number Diff line number Diff line change
@@ -7,20 +7,20 @@ services:
environment:
EULA: "true"
MODPACK_PLATFORM: AUTO_CURSEFORGE
# allocate from https://console.curseforge.com/ and set in .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/roguelike-adventures-and-dungeons-2
# Optional: select a specific version/file
#CF_FILENAME_MATCHER: "0.2.34"
CF_EXCLUDE_MODS: |
controlling
creative-core
default-options
itemphysic-lite
konkrete
oauth
sound-filters
toast-control
CF_FORCE_SYNCHRONIZE: "true"
MEMORY: 4G
volumes:
5 changes: 4 additions & 1 deletion examples/rlcraft/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,10 @@ services:
environment:
EULA: true
MODPACK_PLATFORM: AUTO_CURSEFORGE
# Set CF_API_KEY=... in a .env file next to this compose file and don't source control that file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_SLUG: rlcraft
CF_FILENAME_MATCHER: 2.9.3
5 changes: 4 additions & 1 deletion examples/skyfactory5/compose.yml
Original file line number Diff line number Diff line change
@@ -8,7 +8,10 @@ services:
# CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/skyfactory-5/files/6044634
CF_SLUG: skyfactory-5
CF_FILENAME_MATCHER: 5.0.2
# Loads from .env file
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
MEMORY: 4G
ports:
6 changes: 5 additions & 1 deletion examples/valhesia5/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -6,7 +6,11 @@ services:
environment:
EULA: "true"
MODPACK_PLATFORM: AUTO_CURSEFORGE
CF_API_KEY: # allocate from https://console.curseforge.com/
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_FORCE_SYNCHRONIZE: "true"
CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/valhelsia-5/files/4429560
MEMORY: 4G
7 changes: 4 additions & 3 deletions examples/vault-hunters-1-18-2/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -6,13 +6,14 @@ services:
environment:
EULA: "true"
MODPACK_PLATFORM: AUTO_CURSEFORGE
# allocate from https://console.curseforge.com/
# Allocate API key from https://console.curseforge.com/
# and set in .env file making sure to double up dollar signs, such as
# CF_API_KEY=$$2a$$10$$....
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
CF_API_KEY: ${CF_API_KEY}
CF_SLUG: vault-hunters-1-18-2
MOTD: "§4----- §2 Vault Hunters: 1.18.2 §4 -----§r\\n §4------ §e vaulthunters.gg §4------"
MEMORY: 6G # 4G for base server + 2G per player
CF_EXCLUDE_MODS: |
reauth
ALLOW_FLIGHT: true
ENABLE_COMMAND_BLOCK: true
DIFFICULTY: hard
12 changes: 9 additions & 3 deletions files/auto/autopause-fcns.sh
Original file line number Diff line number Diff line change
@@ -24,14 +24,20 @@ use_proxy() {
fi
}

use_server_list_ping() {
if versionLessThan 1.7; then
echo "--use-server-list-ping"
fi
}

mc_server_listening() {
mc-monitor status $(use_proxy) --host "${SERVER_HOST:-localhost}" --port "$SERVER_PORT" --timeout 10s >&/dev/null
mc-monitor status $(use_proxy) --host "${SERVER_HOST:-localhost}" --port "$SERVER_PORT" $(use_server_list_ping) --timeout 10s >&/dev/null
}

java_clients_connections() {
local connections
if java_running; then
if ! connections=$(mc-monitor status $(use_proxy) --host "${SERVER_HOST:-localhost}" --port "$SERVER_PORT" --show-player-count); then
if ! connections=$(mc-monitor status $(use_proxy) --host "${SERVER_HOST:-localhost}" --port "$SERVER_PORT" $(use_server_list_ping) --show-player-count); then
# consider it a non-zero player count if the ping fails
# otherwise a laggy server with players connected could get paused
connections=1
@@ -44,4 +50,4 @@ java_clients_connections() {

java_clients_connected() {
(( $(java_clients_connections) > 0 ))
}
}
1 change: 1 addition & 0 deletions files/cf-exclude-include.json
Original file line number Diff line number Diff line change
@@ -113,6 +113,7 @@
"sodium-extra",
"sodium-options-api",
"sodium-rubidium-occlusion-culling-fix",
"sound",
"sound-reloader",
"sound-filters",
"sound-physics-remastered",
4 changes: 2 additions & 2 deletions files/log4j2.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" packages="com.mojang.util">
<Configuration status="WARN">
<Appenders>
<Console name="SysOut" target="SYSTEM_OUT">
<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg%n" />
@@ -34,4 +34,4 @@
<AppenderRef ref="TerminalConsole"/>
</Root>
</Loggers>
</Configuration>
</Configuration>
32 changes: 22 additions & 10 deletions scripts/start-utils
Original file line number Diff line number Diff line change
@@ -464,21 +464,33 @@ function checkSum() {
}

function usesMods() {
case "$FAMILY" in
FORGE | FABRIC | HYBRID | SPONGE)
if isTrue "${USES_MODS:-}"; then
return 0
;;
esac
return 1

else
case "$FAMILY" in
FORGE | FABRIC | HYBRID | SPONGE)
return 0
;;
esac
return 1

fi
}

function usesPlugins() {
case "$FAMILY" in
SPIGOT | HYBRID)
if isTrue "${USES_PLUGINS:-}"; then
return 0
;;
esac
return 1

else
case "$FAMILY" in
SPIGOT | HYBRID)
return 0
;;
esac
return 1

fi
}

function resolveVersion() {