Fix NanoLimbo port not applying to an existing settings.yml - #4201
Merged
Conversation
itzg
approved these changes
Jul 31, 2026
itzg
left a comment
Owner
There was a problem hiding this comment.
Thanks! I really appreciate you providing the abbreviated version...and the detail.
That reminds me that I really want to improve that patch operation to be tolerant of either format.
gabrielcosi
pushed a commit
to gabrielcosi/home-ops
that referenced
this pull request
Aug 4, 2026
… ➔ 2026.8.0) (#267) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/itzg/minecraft-server](https://github.com/itzg/docker-minecraft-server) | minor | `2026.7.2-java25` → `2026.8.0-java25` | --- >⚠️ **Warning** > > Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/2) for more information. --- ### Release Notes <details> <summary>itzg/docker-minecraft-server (ghcr.io/itzg/minecraft-server)</summary> ### [`v2026.8.0`](https://github.com/itzg/docker-minecraft-server/releases/tag/2026.8.0) [Compare Source](itzg/docker-minecraft-server@2026.7.2...2026.8.0) <!-- Release notes generated using configuration in .github/release.yml at 1e2d375dba72a0730365c29dd5f1990f9764da5a --> ##### What's Changed ##### Enhancements - Implement GTNH daily build support by [@​SgtMate](https://github.com/SgtMate) in [#​4190](itzg/docker-minecraft-server#4190) ##### Bug Fixes - Update dependency itzg/mc-image-helper to v1.63.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​4189](itzg/docker-minecraft-server#4189) - Move knockd config out of /tmp by [@​itzg](https://github.com/itzg) in [#​4193](itzg/docker-minecraft-server#4193) - Use Metalcape knockd by default for java25 by [@​itzg](https://github.com/itzg) in [#​4194](itzg/docker-minecraft-server#4194) - Fix NanoLimbo port not applying to an existing settings.yml by [@​OowhitecatoO](https://github.com/OowhitecatoO) in [#​4201](itzg/docker-minecraft-server#4201) - Ensure debugging starts after loading CF\_API\_KEY\_FILE by [@​itzg](https://github.com/itzg) in [#​4208](itzg/docker-minecraft-server#4208) ##### Documentation - build(deps): bump the patches group in /docs with 2 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​4187](itzg/docker-minecraft-server#4187) - Add daily build options to gtnh example by [@​SgtMate](https://github.com/SgtMate) in [#​4191](itzg/docker-minecraft-server#4191) - docs: add seedloaf sponsor by [@​jasperchess](https://github.com/jasperchess) in [#​4197](itzg/docker-minecraft-server#4197) - Enhance SECURITY.md with automated scan information by [@​itzg](https://github.com/itzg) in [#​4212](itzg/docker-minecraft-server#4212) ##### Other Changes - Update dependency itzg/mc-image-helper to v1.63.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​4184](itzg/docker-minecraft-server#4184) - build(deps): bump actions/stale from 10 to 11 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​4196](itzg/docker-minecraft-server#4196) - build(deps): bump docker/login-action from 4.4.0 to 4.5.2 in the updates group by [@​dependabot](https://github.com/dependabot)\[bot] in [#​4195](itzg/docker-minecraft-server#4195) - Update dependency itzg/mc-image-helper to v1.63.2 by [@​renovate](https://github.com/renovate)\[bot] in [#​4198](itzg/docker-minecraft-server#4198) - Fix build workflow conditionals that always evaluated true by [@​OowhitecatoO](https://github.com/OowhitecatoO) in [#​4203](itzg/docker-minecraft-server#4203) - Update dependency itzg/mc-image-helper to v1.64.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​4202](itzg/docker-minecraft-server#4202) - Fix GraalVM flag selection when USE\_MEOWICE\_FLAGS is not set by [@​OowhitecatoO](https://github.com/OowhitecatoO) in [#​4204](itzg/docker-minecraft-server#4204) - Add SECURITY.md for security policy and reporting by [@​itzg](https://github.com/itzg) in [#​4207](itzg/docker-minecraft-server#4207) - Restore the GraalVM image variants by [@​OowhitecatoO](https://github.com/OowhitecatoO) in [#​4205](itzg/docker-minecraft-server#4205) - Update dependency itzg/mc-monitor to v0.17.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​4209](itzg/docker-minecraft-server#4209) - Enable compact object headers on Java 24+ by [@​OowhitecatoO](https://github.com/OowhitecatoO) in [#​4211](itzg/docker-minecraft-server#4211) - Update dependency itzg/mc-image-helper to v1.64.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​4213](itzg/docker-minecraft-server#4213) ##### New Contributors - [@​OowhitecatoO](https://github.com/OowhitecatoO) made their first contribution in [#​4201](itzg/docker-minecraft-server#4201) **Full Changelog**: <itzg/docker-minecraft-server@2026.7.2...2026.8.0> </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41LjMiLCJ1cGRhdGVkSW5WZXIiOiI0NC41LjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvbWlub3IiXX0=--> Reviewed-on: https://git.xcd.dev/gabrielcosi/home-ops/pulls/267
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Short version first; the collapsed section below has the detail if it is useful.
Impact:
SERVER_PORTis ignored forTYPE=NANOLIMBOwhen/data/settings.ymlalready exists. NanoLimbo keeps binding the old port, which then no longer matches the published port or the health check.When: changing
SERVER_PORTon a limbo server that has been started before. A fresh/datais unaffected — the generated template already carries the port.Cause:
nanolimbo-settings-patch.jsonis a patch definition, butmc-image-helper patchis given it as a single file, where a patch set is expected. Loading fails with exit 2 on every start, and the script has noerrexit, so nothing acts on it.After this change: an existing
settings.ymlgets the port, and the error leaves the startup log. The patch is now skipped for a fresh/data, where the template has already interpolatedSERVER_PORT.Test: a new setup-only scenario seeds a
settings.ymlbefore the server starts and asserts the port is applied; it fails on currentmasterand passes with this change.Details, if useful
Why it cannot load.
mc-image-helper patchaccepts either form, but not interchangeably:PatchDefinitionper*.json—{"file": …, "ops": […]}PatchSet—{"patches": [ … ]}The file is in the first form and is passed in the second position, so every start logs:
Wrapping the existing definition in
patchesis the whole fix; the invocation is unchanged.Why it went unnoticed. The patch arrived with the
if [ ! -f ]guard in #3799. The exit code is discarded because the script has noerrexit, and a fresh/datanever needs the patch, since the template interpolatesSERVER_PORTdirectly. The existingnanolimboscenario always starts from an empty/data, so nothing covered this path.Verified against
itzg/minecraft-server:java21(build8fde0ca) withSETUP_ONLY=trueandSERVER_PORT=25599, mounting the changed script and patch file:settings.ymlat 25565/data