Compare commits

...

6 Commits

Author SHA1 Message Date
dependabot[bot]
8c04dfd882 build(deps): bump the updates group with 2 updates (#3510) 2025-06-23 06:48:49 -05:00
fireph
d8075916e3 Add support for Modrinth projects file (#3506) 2025-06-22 08:02:13 -05:00
Geoff Bourne
1cf2783daf Updated notes diagram for docker run to compose (#3507) 2025-06-19 12:37:27 -05:00
Geoff Bourne
a5643cdeac Upgrade tools to Go 1.24.4 (#3502) 2025-06-17 07:48:07 -05:00
Geoff Bourne
12816373ea Fixed handling of results output when using custom paper URL (#3501) 2025-06-14 17:06:12 -05:00
Geoff Bourne
2eb66042ec Fix Spigot/Bukkit downloads (#3500) 2025-06-13 22:38:14 -05:00
7 changed files with 37 additions and 54 deletions

View File

@@ -143,7 +143,7 @@ jobs:
org.opencontainers.image.authors=Geoff Bourne <itzgeoff@gmail.com>
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3.10.0
uses: docker/setup-buildx-action@v3.11.1
- name: Set up QEMU
uses: docker/setup-qemu-action@v3.6.0

View File

@@ -19,7 +19,7 @@ jobs:
steps:
- name: on-publish
if: github.event_name == 'release' && github.event.action == 'published'
uses: SethCohen/github-releases-to-discord@v1.16.2
uses: SethCohen/github-releases-to-discord@v1.19.0
with:
webhook_url: ${{ secrets.DISCORD_WEBHOOK }}
- name: on-success

View File

@@ -55,7 +55,7 @@ jobs:
fetch-depth: 0
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3.10.0
uses: docker/setup-buildx-action@v3.11.1
- name: Confirm multi-arch build
uses: docker/build-push-action@v6.18.0

View File

@@ -24,31 +24,31 @@ EXPOSE 25565
ARG APPS_REV=1
ARG GITHUB_BASEURL=https://github.com
ARG EASY_ADD_VERSION=0.8.10
ARG EASY_ADD_VERSION=0.8.11
ADD ${GITHUB_BASEURL}/itzg/easy-add/releases/download/${EASY_ADD_VERSION}/easy-add_${TARGETOS}_${TARGETARCH}${TARGETVARIANT} /usr/bin/easy-add
RUN chmod +x /usr/bin/easy-add
ARG RESTIFY_VERSION=1.7.9
ARG RESTIFY_VERSION=1.7.10
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.7.0
ARG RCON_CLI_VERSION=1.7.1
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
ARG MC_MONITOR_VERSION=0.15.5
ARG MC_MONITOR_VERSION=0.15.6
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
ARG MC_SERVER_RUNNER_VERSION=1.12.6
ARG MC_SERVER_RUNNER_VERSION=1.13.1
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.42.3
ARG MC_HELPER_VERSION=1.45.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

View File

@@ -12,6 +12,8 @@
Also, a specific version (or release type) can be declared adding a colon and then the version id, version number/name, or release type after the project slug. The version ID or number can be found in the 'Metadata' section. Valid release types are `release`, `beta`, `alpha`.
To select a datapack from a Modrinth project, prefix the entry with "datapack:". When running a vanilla server, this is optional since only datapacks will be available for vanilla servers to select.
You can also reference a file containing project entries by prefixing the **container path** path with `@`.
| Description | Example projects entry |
|---------------------------------|-------------------------------------------------------|
@@ -21,6 +23,24 @@
| Latest version using project ID | `P7dR8mSH` |
| Latest version of datapack | `datapack:terralith` |
| Specific version of datapack | `datapack:terralith:2.5.5` |
| Projects Listing File | `@/path/to/modrinth-mods.txt` |
!!! info "More about listing files"
Each line in the listing file is processed as one of the references above; however, blank lines and comments that start with `#` are ignored.
Make sure to place the listing file in a mounted directory/volume or declare an appropriate mount for it.
For example, `MODRINTH_PROJECTS` can be set to "@/extras/modrinth-mods.txt", assuming "/extras" has been added to `volumes` section, where the container file `/extras/modrinth-mods.txt` contains
```text
# This comment is ignored
fabric-api
# This and previous blank line are ignore
cloth-config
datapack:terralith
```
## Extra options

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -70,38 +70,19 @@ function downloadSpigot {
esac
if [[ ${VERSION^^} = LATEST ]]; then
if ! VERSION=$(restify ${getBukkitSpigotUrl} --attribute='property=og:title' | jq -r '.[0] | .attributes | select(.property == "og:title") | .content | split(" ") | .[-1]'); then
if ! downloadUrl=$(restify "${getBukkitBaseUrl}/${getbukkitFlavor}" --id='downloadr' | jq -r '.[0] | .href '); then
logError "Failed to retrieve latest version from ${getBukkitSpigotUrl} -- site might be down"
exit 1
fi
fi
if [[ -z $downloadUrl ]]; then
downloadBaseUrl="https://"
downloadSuffixUrl=".getbukkit.org/${getbukkitFlavor}/${getbukkitFlavor}-${VERSION}.jar"
if versionLessThan 1.16.5 || { [[ ${getbukkitFlavor} = "craftbukkit" ]] && [[ ${VERSION} = "1.16.5" ]] ; }; then
downloadBaseUrl+="cdn"
else
downloadBaseUrl+="download"
fi
downloadUrl="${downloadBaseUrl}${downloadSuffixUrl}"
downloadUrl="https://cdn.getbukkit.org/${getbukkitFlavor}/${getbukkitFlavor}-${VERSION}.jar"
fi
setServerVar
curlArgs=()
if [ -f "$SERVER" ] && ! isTrue "$FORCE_REDOWNLOAD"; then
# tell curl to only download when newer
curlArgs+=(-z "$SERVER")
fi
if isDebugging; then
curlArgs+=(-v)
fi
log "Downloading $match from $downloadUrl ..."
log "Downloading $match from $downloadUrl if missing ..."
tempFile="$SERVER.$$"
# HTTP error or download site responded with an HTML error page
if ! curl -fsSL -o "$tempFile" "${curlArgs[@]}" "$downloadUrl" || ( [ -f "$tempFile" ] && grep -iq "doctype html" "$tempFile" ); then
if ! SERVER=$(get -o /data --skip-existing --output-filename "$downloadUrl"); then
cat <<EOF
@@ -111,29 +92,9 @@ ERROR: failed to download from $downloadUrl
Click into the version entry to find the **exact** version.
EOF
if isDebugging && grep -iq "doctype html" "$tempFile"; then
cat "$tempFile"
exit 1
fi
if [ -f "$SERVER" ]; then
log "Continuing with existing $SERVER file"
else
# remove invalid download
rm "$tempFile"
exit 3
fi
else
if [ -f "$tempFile" ]; then
mv "$tempFile" "$SERVER"
fi
fi
JVM_OPTS="${JVM_OPTS} -DIReallyKnowWhatIAmDoingISwear"
export JVM_OPTS
export SERVER
}
function setServerVar {
@@ -157,6 +118,8 @@ else
downloadSpigot
fi
JVM_OPTS="${JVM_OPTS} -DIReallyKnowWhatIAmDoingISwear"
export JVM_OPTS
# Normalize on Spigot for operations below
export FAMILY=SPIGOT