Compare commits

...
Author SHA1 Message Date
Aleksei Potsetsuev ebcf1153a5 Force-include SDM UI Lib and GeckolibBetterFPS for CurseForge packs (#4385) 2026-11-09 07:31:06 -06:00
renovate[bot] e48813eeea Update all non-major dependencies (#4383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-09 06:56:20 -06:00
Geoff Bourne a25bb2aeaf pumpkin: Alpine/musl is no longer supported upstream (#4384) 2026-11-08 16:19:47 -06:00
spa77k e894a1d394 Add USE_MEOWICE_ZGC_FLAGS to use the ZGC version of MeowIce's flags (#4382) 2026-11-06 07:16:30 -06:00
renovate[bot] 31ab4db856 Update dependency itzg/mc-image-helper to v1.76.0 (#4381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-04 21:08:44 -06:00
spa77k 67e4e8bb72 Document actual defaults of REMOVE_OLD_MODS_INCLUDE and REMOVE_OLD_MODS_DEPTH (#4375) 2026-11-04 07:10:07 -06:00
9 changed files with 60 additions and 12 deletions

No files matched your search

+2 -2
View File
@@ -45,7 +45,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
# renovate: datasource=github-releases packageName=itzg/mc-monitor
ARG MC_MONITOR_VERSION=1.18.3
ARG MC_MONITOR_VERSION=1.19.0
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=${MC_MONITOR_VERSION} --var app=mc-monitor --file {{.app}} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
@@ -57,7 +57,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
# renovate: datasource=github-releases packageName=itzg/mc-image-helper versioning=loose
ARG MC_HELPER_VERSION=1.75.0
ARG MC_HELPER_VERSION=1.76.1
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
View File
@@ -158,3 +158,5 @@ When `MEMORY` is greater than or equal to 12G, then the Aikar flags will be adju
[MeowIce has created an updated set of JVM flags](https://github.com/MeowIce/meowice-flags?tab=readme-ov-file#why-would-i-have-to-switch-) based on Aikar's flags but with support for optimizations for Java 17 and above
The set of flags documented there can be added by setting the environment variable `USE_MEOWICE_FLAGS` to `true`. There is an optional `USE_MEOWICE_GRAALVM_FLAGS` variable to enable GraalVM specific optimizations, defaults to `FALSE`.
MeowIce's flags use the G1 garbage collector by default. MeowIce also provides a [ZGC version of the flags](https://github.com/MeowIce/meowice-flags#zgc-version-for-large-servers-with-32gb-allocated-heap), which is recommended for servers with 32GB or more of allocated memory and many CPU cores. To use it instead, also set `USE_MEOWICE_ZGC_FLAGS` to `true`. When `MAX_MEMORY` (or `MEMORY`) is larger than 2GB, the soft max heap size is set to 2GB below it, as in MeowIce's flags.
+3 -3
View File
@@ -60,9 +60,9 @@ There are optional volume paths that can be attached to supply content to be cop
By default, the [environment variable processing](../configuration/interpolating.md) is performed on synchronized files that match the expected suffixes in `REPLACE_ENV_SUFFIXES` (by default "yml,yaml,txt,cfg,conf,properties,hjson,json,tml,toml") and are not excluded by `REPLACE_ENV_VARIABLES_EXCLUDES` and `REPLACE_ENV_VARIABLES_EXCLUDE_PATHS`. This processing can be disabled by setting `REPLACE_ENV_DURING_SYNC` to `false`.
If you want old mods/plugins to be removed before the content is brought over from those attach points, then add `-e REMOVE_OLD_MODS=TRUE`. You can fine tune the removal process by specifying the `REMOVE_OLD_MODS_INCLUDE` and `REMOVE_OLD_MODS_EXCLUDE` variables, which are comma separated lists of file glob patterns. If a directory is excluded, then it and all of its contents are excluded. By default, only jars are removed.
If you want old mods/plugins to be removed before the content is brought over from those attach points, then add `-e REMOVE_OLD_MODS=TRUE`. You can fine tune the removal process by specifying the `REMOVE_OLD_MODS_INCLUDE` and `REMOVE_OLD_MODS_EXCLUDE` variables, which are comma separated lists of file glob patterns. If a directory is excluded, then it and all of its contents are excluded. By default, `REMOVE_OLD_MODS_INCLUDE` is `*.jar,*-version.json`, so jars and the `*-version.json` files are removed.
You can also specify the `REMOVE_OLD_MODS_DEPTH` (default is 16) variable to only delete files up to a certain level.
You can also specify the `REMOVE_OLD_MODS_DEPTH` (default is 1) variable to only delete files up to a certain level. With the default, only files directly inside the `plugins/` or `mods/` directory are removed.
For example: `-e REMOVE_OLD_MODS=TRUE -e REMOVE_OLD_MODS_INCLUDE="*.jar" -e REMOVE_OLD_MODS_DEPTH=1` will remove all old jar files that are directly inside the `plugins/` or `mods/` directory.
@@ -301,4 +301,4 @@ docker run -d -e REMOVE_OLD_MODS=TRUE -e MODPACK=http://www.example.com/mods/mod
!!! danger
All content of the `mods` or `plugins` directory will be deleted before unpacking new content from the MODPACK or MODS.
Files in the `mods` and `plugins` directories that match `REMOVE_OLD_MODS_INCLUDE` (by default, jars and `*-version.json` files directly inside them) will be deleted before unpacking new content from the MODPACK or MODS.
+6
View File
@@ -129,6 +129,12 @@ alternatively, you can mount: <code>/etc/localtime:/etc/localtime:ro
<td><code>true</code></td>
<td>⬜️</td>
</tr>
<tr>
<td><code>USE_MEOWICE_ZGC_FLAGS</code></td>
<td>uses the ZGC version of MeowIce's flags instead of the G1 version when USE_MEOWICE_FLAGS is also TRUE</td>
<td><code>false</code></td>
<td>⬜️</td>
</tr>
<tr>
<td><code>JVM_OPTS</code></td>
<td>General JVM options can be passed to the Minecraft Server invocation by passing a <code>JVM_OPTS</code> environment variable. The JVM requires -XX options to precede -X options, so those can be declared in <code>JVM_XX_OPTS</code>. Both variables are space-delimited, raw JVM arguments</td>
+5 -1
View File
@@ -176,7 +176,11 @@
"yungs-menu-tweaks",
"zume"
],
"globalForceIncludes": ["simply-tooltips"],
"globalForceIncludes": [
"simply-tooltips",
"sdm-ui-lib",
"geckolibbetterfps"
],
"modpacks": {
"all-of-fabric-6": {
"forceIncludes": ["revelationary"]
+3 -2
View File
@@ -21,9 +21,10 @@ case "$(uname -m)" in
esac
pumpkinAsset="pumpkin-${pumpkinArch}-Linux"
# The Alpine based image needs the musl linked build
if [[ $(getDistro) == alpine ]]; then
pumpkinAsset+="-musl"
# https://github.com/Pumpkin-MC/Pumpkin/issues/4518#issuecomment-6719704189
logError "PumpkinMC is no longer supported for Alpine/musl"
exit 1
fi
pumpkinReleasesUrl=https://github.com/Pumpkin-MC/Pumpkin/releases
+35 -4
View File
@@ -3,6 +3,7 @@
: "${USE_AIKAR_FLAGS:=false}"
: "${USE_MEOWICE_FLAGS:=false}"
: "${USE_MEOWICE_GRAALVM_FLAGS:=false}"
: "${USE_MEOWICE_ZGC_FLAGS:=false}"
if isTrue "${USE_MEOWICE_FLAGS}" || isTrue "${USE_MEOWICE_GRAALVM_FLAGS}"; then
java_major_version=$(mc-image-helper java-release)
@@ -18,7 +19,29 @@ if isTrue "${USE_MEOWICE_FLAGS}"; then
fi
fi
if isTrue "${USE_AIKAR_FLAGS}" || isTrue "${USE_MEOWICE_FLAGS}"; then
use_meowice_zgc=false
if isTrue "${USE_MEOWICE_FLAGS}" && isTrue "${USE_MEOWICE_ZGC_FLAGS}"; then
use_meowice_zgc=true
fi
if isTrue "${use_meowice_zgc}"; then
log "Using MeowIce's ZGC flags"
JVM_XX_OPTS="${JVM_XX_OPTS}
-XX:+UseZGC
-XX:-ZProactive
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-XX:+PerfDisableSharedMem
"
# MeowIce sets the soft max heap size to 2GB below the max heap size
if [[ $MAX_MEMORY ]] && max_memory_bytes=$(normalizeMemSize "${MAX_MEMORY}") \
&& (( max_memory_bytes > $(normalizeMemSize 2048m) )); then
JVM_XX_OPTS="${JVM_XX_OPTS}
-XX:SoftMaxHeapSize=$(( max_memory_bytes / 1048576 - 2048 ))M
"
fi
elif isTrue "${USE_AIKAR_FLAGS}" || isTrue "${USE_MEOWICE_FLAGS}"; then
# From https://mcflags.emc.gs/
if isTrue "${USE_MEOWICE_FLAGS}"; then
log "Using MeowIce's flags"
@@ -81,8 +104,6 @@ if isTrue "${USE_MEOWICE_FLAGS}"; then
JVM_XX_OPTS="${JVM_XX_OPTS}
-XX:+UnlockDiagnosticVMOptions
-XX:+UnlockExperimentalVMOptions
-XX:G1SATBBufferEnqueueingThresholdPercent=30
-XX:G1ConcMarkStepDurationMillis=5
-XX:+UseNUMA
-XX:-DontCompileHugeMethods
-XX:MaxNodeLimit=240000
@@ -94,7 +115,6 @@ if isTrue "${USE_MEOWICE_FLAGS}"; then
-XX:NmethodSweepActivity=1
-XX:+UseFastUnorderedTimeStamps
-XX:+UseCriticalJavaThreadPriority
-XX:AllocatePrefetchStyle=3
-XX:+AlwaysActAsServerClassMachine
-XX:+UseTransparentHugePages
-XX:LargePageSizeInBytes=2M
@@ -124,6 +144,17 @@ if isTrue "${USE_MEOWICE_FLAGS}"; then
-XX:+UseCopySignIntrinsic
-XX:+UseVectorStubs
"
if isTrue "${use_meowice_zgc}"; then
JVM_XX_OPTS="${JVM_XX_OPTS}
-XX:AllocatePrefetchStyle=1
"
else
JVM_XX_OPTS="${JVM_XX_OPTS}
-XX:G1SATBBufferEnqueueingThresholdPercent=30
-XX:G1ConcMarkStepDurationMillis=5
-XX:AllocatePrefetchStyle=3
"
fi
if [[ $(arch) == "x86_64" ]]; then
JVM_XX_OPTS="${JVM_XX_OPTS}
-XX:+UseFastStosb
@@ -0,0 +1,2 @@
# PumpkinMC is no longer supported for Alpine/musl
[[ "$VARIANT" != *-alpine ]]
+2
View File
@@ -0,0 +1,2 @@
# PumpkinMC is no longer supported for Alpine/musl
[[ "$VARIANT" != *-alpine ]]