feat: support Purpur and Pufferfish config repos & optimize server.properties handling#3914
Merged
Conversation
Introduce `PURPUR_CONFIG_REPO` and `PUFFERFISH_CONFIG_REPO` for downloading configurations. Ensure automatic fetching of `bukkit.yml`, `spigot.yml`, `purpur.yml`, and `pufferfish.yml`. Allow optional download of `server.properties` from a specified repository URL. Update Docker Compose and README files to reflect these changes.
itzg
requested changes
Feb 8, 2026
itzg
left a comment
Owner
There was a problem hiding this comment.
Thanks! Just a minor tweak.
It would be great to also add a few docs here https://github.com/itzg/docker-minecraft-server/blob/41e50d3e9fbdb4897c27ae679f3814472ced9659/docs/types-and-platforms/server-types/paper.md, but I can do that separately.
Comment on lines
+141
to
+142
| # shellcheck source=start-utils | ||
| . "$(dirname "$0")/start-utils" |
Owner
There was a problem hiding this comment.
Please remove. This is already at the top of the file
docker-minecraft-server/scripts/start-setupServerProperties
Lines 3 to 4 in 81cbc72
Contributor
Author
|
I can do it |
Update the Paper server type documentation to improve clarity and detail. Include new sections on configuration repositories and server properties, providing comprehensive guidance on automatic file downloads and setting repository URLs. refactor: remove unused source command in setup script Remove the unused `source` command for `start-utils` in `start-setupServerProperties` script. This refactor simplifies the script by eliminating unnecessary code.
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.
Summary
Building on the work from PR #3076 (adding
PAPER_CONFIG_REPO), this PR extends the optimized configuration support to Purpur and Pufferfish server types and significantly improves howserver.propertiesis handled.Changes
PURPUR_CONFIG_REPOandPUFFERFISH_CONFIG_REPOto automatically download optimized configurations (purpur.yml,pufferfish.yml, etc.) for these server types.start-setupServerProperties:server.propertiesdownload logic (previously scattered in deploy scripts).SERVER_PROPERTIES_REPO_URL:/${VERSION}/server.properties..properties) is provided, it uses it directly.server.propertiesexists before downloading, preventing it from checking/overwriting on every restart if the file is already present.examples/optimized-paper-configtoexamples/optimized-server-configand updated the README with examples for Paper, Purpur, and Pufferfish.Motivation
This allows users to maintain a centralized configuration repository for multiple server types (Paper, Purpur, Pufferfish) and version-control their
server.propertiesbase, while still allowing the Docker container to apply necessary environment variable overrides (like RCON, MOTD, etc.) at runtime.