Add pumpkin (#4307)

Co-authored-by: Lucas Fabres <>
This commit is contained in:
fxwssandLucas Fabres authored and GitHub committed 2026-10-10 17:20:01 -05:00
1 parent 2d2d683ef5
commit bb27fd9fef
9 files changed
+630 -7

No files matched your search

@@ -74,3 +74,68 @@ Alternatively, the final `-jar` invocation can be replaced by setting `CUSTOM_JA
When using `docker run` make sure to quote the entire value since it has spaces in it, such as
-e CUSTOM_JAR_EXEC="-cp worldedit.jar:Carpet-Server.jar net.minecraft.server.MinecraftServer"
## Pumpkin
A [Pumpkin](https://pumpkinmc.org/) server can be run by setting `TYPE` to `PUMPKIN`.
Pumpkin is a Minecraft server written in Rust and is shipped as a single native executable instead of a Java jar. The image downloads the asset matching its architecture from the [latest release](https://github.com/Pumpkin-MC/Pumpkin/releases), so `VERSION` and the JVM memory and tuning variables do not apply.
```shell
docker run -d --pull=always -v /path/on/host:/data \
-p 25565:25565 -p 19132:19132/udp -e EULA=TRUE -e TYPE=PUMPKIN \
--name mc itzg/minecraft-server
```
Configuration options with defaults:
- `FORCE_REDOWNLOAD`=false
Set to true to re-download the executable.
Pumpkin is configured through `/data/pumpkin.toml`. The image creates that file on the first run and updates the settings below at each startup, leaving the remaining options in your file alone. Anything without a matching environment variable can be set by editing `pumpkin.toml` directly.
| Variable | Pumpkin setting |
| :-------------------------------------------------- | :--------------------------------------------------------------------------------- |
| `MOTD` | `networking.java.motd` and `networking.bedrock.motd` |
| `MAX_PLAYERS` | `networking.java.max_players` and `networking.bedrock.max_players` |
| `ONLINE_MODE` | `networking.java.online_mode` and `networking.bedrock.online_mode` |
| `SERVER_PORT` | `networking.java.address` |
| `VIEW_DISTANCE` | `networking.java.view_distance` and `networking.bedrock.view_distance` |
| `SIMULATION_DISTANCE` | `networking.java.simulation_distance` and `networking.bedrock.simulation_distance` |
| `LEVEL` | `default_level_name` |
| `SEED` | `seed` |
| `MODE` | `default_gamemode` |
| `DIFFICULTY` | `default_difficulty` |
| `HARDCORE` | `hardcore` |
| `ALLOW_NETHER` | `allow_nether` |
| `FORCE_GAMEMODE` | `force_gamemode` |
| `PVP` | `pvp.enabled` |
| `OP_PERMISSION_LEVEL` | `op_permission_level` |
| `SPAWN_PROTECTION` | `spawn_protection` |
| `ACCEPTS_TRANSFERS` | `accepts_transfers` |
| `WHITELIST`, `WHITELIST_FILE` or `ENABLE_WHITELIST` | `white_list` |
| `ENFORCE_WHITELIST` | `enforce_whitelist` |
| `ENABLE_RCON` | `networking.rcon.enabled` |
| `RCON_PORT` | `networking.rcon.address` |
| `RCON_PASSWORD` | `networking.rcon.password` |
| `ENABLE_QUERY` | `networking.query.enabled` |
| `QUERY_PORT` | `networking.query.address` |
| `PREVENT_PROXY_CONNECTIONS` | `networking.java.authentication.prevent_proxy_connections` |
| `RESOURCE_PACK` | `resource_pack.java.url` and `resource_pack.java.enabled` |
| `RESOURCE_PACK_SHA1` | `resource_pack.java.sha1` |
| `RESOURCE_PACK_PROMPT` | `resource_pack.java.prompt_message` |
| `RESOURCE_PACK_ENFORCE` | `resource_pack.java.force` |
| `LOG_LEVEL` | `logging.level` |
!!! note
The first run adds every option Pumpkin knows about to `pumpkin.toml`, since Pumpkin fills in its own defaults for the settings the image does not manage.
!!! note
Bedrock Edition players join on UDP port `19132`, which Pumpkin serves itself from the same world. That port has to be published, such as with `-p 19132:19132/udp`, since the image only declares `25565` with `EXPOSE`. See [examples/pumpkin](https://github.com/itzg/docker-minecraft-server/tree/master/examples/pumpkin) for a complete compose file.
!!! note
Pumpkin is under heavy development, as the project itself states, so configuration and world formats can change between releases. Run it on a test server and keep backups.