Minecraft (Vanilla)
The official Minecraft Java Edition server from Mojang. Choose a version, or "latest".
| Download | install script |
|---|---|
| Architectures | any |
| Ports | game TCP 25565 · rcon TCP 25575 |
| Recommended | 1536 MB memory + 32 MB per player · 2 cores · 4 GB disk |
| Player count | minecraft |
| RCON | source |
| Version | a1d4e883115c |
Settings
- RCON password — Turns RCON on, for tools and integrations. Empty keeps it off.
- Minecraft version — "latest", or a version like 1.21.4. Reinstall to change it (worlds are kept).
- Max players
- Server list description
Template
minecraft-vanilla.yaml · import it in the panel or add it from the catalogue.
# Minecraft Java Edition, the official server from Mojang.
id: minecraft-vanilla
name: Minecraft (Vanilla)
description: The official Minecraft Java Edition server from Mojang. Choose a version, or "latest".
images:
- label: Java 25 (Minecraft 26.x and newer)
image: registry.audifire.ch/hosting-panel/runtime-images/java:25
- label: Java 21 (Minecraft 1.20.5 – 1.21)
image: registry.audifire.ch/hosting-panel/runtime-images/java:21
- label: Java 17 (Minecraft 1.18 – 1.20.4)
image: registry.audifire.ch/hosting-panel/runtime-images/java:17
- label: Java 8 (Minecraft 1.16 and older)
image: registry.audifire.ch/hosting-panel/runtime-images/java:8
startupMode: shell
startup: java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}} nogui
stop:
command: stop
timeoutSeconds: 60
readyPattern: ")! For help, type"
ports:
- role: game
protocol: tcp
default: 25565
- role: rcon
protocol: tcp
default: 25575
variable: RCON_PORT
# players, MOTD and version from the Server List Ping (as in the game's server list)
query:
protocol: minecraft
# Source RCON for integrations (e.g. whitelists); on when an RCON password is set
rcon:
protocol: source
password: "{{env.RCON_PASSWORD}}"
# starting points for the limits when creating a server; memory grows with the player slots
resources:
memoryMb: 1536
memoryPerPlayerMb: 32
playersVariable: MAX_PLAYERS
cpuPercent: 200
diskMb: 4096
variables:
- key: RCON_PASSWORD
name: RCON password
description: Turns RCON on, for tools and integrations. Empty keeps it off.
visibility: secret
rules: nullable|string|max:64
- key: MINECRAFT_VERSION
name: Minecraft version
description: '"latest", or a version like 1.21.4. Reinstall to change it (worlds are kept).'
default: latest
rules: required|string|max:20
- key: SERVER_JARFILE
name: Server jar
default: server.jar
visibility: admin
rules: required|regex:/^[\w.-]+\.jar$/
- key: MAX_PLAYERS
name: Max players
default: "20"
rules: required|integer|between:1,500
- key: MOTD
name: Server list description
default: A Minecraft Server
rules: required|string|max:59
configFiles:
- path: server.properties
parser: properties
values:
- key: server-port
value: "{{server.build.default.port}}"
- key: server-ip
value: ""
- key: max-players
value: "{{env.MAX_PLAYERS}}"
- key: motd
value: "{{env.MOTD}}"
- key: enable-rcon
value: "true"
- key: rcon.port
value: "{{env.RCON_PORT}}"
- key: rcon.password
value: "{{env.RCON_PASSWORD}}"
- key: enable-query
value: "false"
prompts:
- id: eula
when: You need to agree to the EULA
title: The server needs the Minecraft EULA accepted
message: By accepting you agree to the Minecraft End User License Agreement.
link:
label: Minecraft EULA
url: https://aka.ms/MinecraftEULA
action: Accept and start
writeFiles:
- path: eula.txt
content: "eula=true\n"
then: start
install:
image: alpine:3.22
entrypoint: sh
script: |
set -e
apk add --no-cache curl jq >/dev/null
cd /mnt/server
manifest=$(curl -fsSL https://piston-meta.mojang.com/mc/game/version_manifest_v2.json)
version="${MINECRAFT_VERSION}"
[ "$version" = "latest" ] && version=$(echo "$manifest" | jq -r .latest.release)
url=$(echo "$manifest" | jq -r --arg v "$version" '.versions[] | select(.id == $v) | .url')
if [ -z "$url" ]; then echo "Minecraft $version doesn't exist."; exit 1; fi
echo "Downloading Minecraft $version…"
curl -fsSL -o "${SERVER_JARFILE}" "$(curl -fsSL "$url" | jq -r .downloads.server.url)"
[ -f server.properties ] || printf 'server-port=25565\n' > server.properties
echo "Minecraft $version installed."