
Minecraft Java Edition Server with automatic version management and easy configuration

itzg/minecraft-server)This image supports automatic mapping: any key in server.properties can be used as an environment variable by converting it to UPPERCASE and replacing hyphens - with underscores _.
These variables control how the server starts, version downloads, and memory allocation.
| Variable | Values / Examples | Description |
|---|---|---|
EULA | TRUE | Required. Accept End User License Agreement. |
TYPE | VANILLA, PAPER, FORGE, CURSEFORGE etc. | Server type. See below for full list. |
VERSION | LATEST, SNAPSHOT, 1.20.1 | Game version. |
INIT_MEMORY | 1G, 512M | JVM initial heap memory (Xms). |
MEMORY | 2G, 4096M | JVM maximum heap memory (Xmx). |
JVM_OPTS | -XX:+UseG1GC | Custom Java startup parameters. |
UID / GID | 1000 | Specify user ID/group ID. |
TZ | Asia/Shanghai | Container timezone. |
Supported Server Types Detail:
| Type | Category | Description |
|---|---|---|
VANILLA | Official | Standard Minecraft server provided by Mojang. |
PAPER | Plugin Server | High-performance fork of Spigot, recommended for most servers. |
PURPUR | Plugin Server | Fork of Paper with extensive configuration options for gameplay features. |
FOLIA | Plugin Server | Experimental Paper fork with regionized multithreading for high player counts. |
FORGE | Mod Server | The classic, heavy-duty mod loader for deep modifications. |
NEOFORGE | Mod Server | Modern fork of Forge (1.20.2+) with improved performance. |
FABRIC | Mod Server | Lightweight, modular mod loader known for fast updates. |
QUILT | Mod Server | Community-driven open-source fork of Fabric. |
MOHIST | Hybrid | Allows running Forge mods and Bukkit/Spigot plugins simultaneously. |
WATERFALL | Proxy | (Legacy) BungeeCord fork for connecting multiple servers. |
VELOCITY | Proxy | Modern, high-performance proxy server (recommended over Waterfall). |
CURSEFORGE | Modpack | Downloads a specific modpack from CurseForge (requires API Key). |
AUTO_CURSEFORGE | Modpack | Automatically finds and downloads a CurseForge modpack. |
MODRINTH | Modpack | Downloads a modpack from the Modrinth platform. |
| Variable | Example | Description |
|---|---|---|
PLUGINS | http://.../p1.jar,\nhttp://.../p2.jar | Comma or newline separated URLs for automatic plugin download. |
MODS | http://.../m1.jar | Comma or newline separated URLs for automatic mod download. |
REMOVE_OLD_MODS | TRUE, FALSE | Remove old mods on startup (recommended for sync). |
REMOVE_OLD_MODS_DEPTH | 1 | Directory depth for old mod removal. |
EXCLUDE_MODS | optifine | Exclude mods from list (regex match). |
MODPACK | http://.../pack.zip | Generic modpack download link. |
| Variable | Description |
|---|---|
CF_API_KEY | Required. CurseForge Core API Key (must apply separately). |
CF_SLUG | Pack name from CF URL (e.g., rlcraft). |
CF_FILE_ID | Specific file ID (leave empty for latest). |
MODRINTH_SLUG | Modrinth platform modpack ID. |
MODRINTH_VERSION_ID | Modrinth specific version ID. |
server.properties Mapping (Common Complete Set)These variables directly modify server.properties. If not listed, use the "UPPERCASE+underscore" rule.
| Environment Variable | server.properties | Values | Description |
|---|---|---|---|
MOTD | motd | String | Server title message. |
LEVEL_NAME | level-name | String | World folder name. |
LEVEL_SEED | level-seed | Random string | Map seed. |
DIFFICULTY | difficulty | peaceful, easy, normal, hard | Difficulty level. |
GAMEMODE | gamemode | survival, creative, adventure, spectator | Default game mode. |
PVP | pvp | true, false | Allow player vs player combat. |
MAX_PLAYERS | max-players | 20 | Maximum player count. |
ONLINE_MODE | online-mode | true, false | Online authentication (false = offline mode). |
VIEW_DISTANCE | view-distance | 10 | View distance (chunks). |
SIMULATION_DISTANCE | simulation-distance | 10 | Simulation distance (1.18+). |
ALLOW_FLIGHT | allow-flight | true, false | Allow flight (anti-cheat). |
ALLOW_NETHER | allow-nether | true, false | Enable Nether dimension. |
WHITE_LIST | white-list | true, false | Enable whitelist. |
ENFORCE_WHITELIST | enforce-whitelist | true, false | Force online players to be whitelisted. |
GENERATE_STRUCTURES | generate-structures | true, false | Generate villages/dungeons. |
HARDCORE | hardcore | true, false | Hardcore mode (ban on death). |
SNOOPER_ENABLED | snooper-enabled | true, false | Data collection. |
ENABLE_COMMAND_BLOCK | enable-command-block | true, false | Enable command blocks. |
SPAWN_PROTECTION | spawn-protection | 16 | Spawn point protection radius. |
FORCE_GAMEMODE | force-gamemode | true, false | Force reset mode on player rejoin. |
RCON is enabled by default in this image with a randomly generated password for security. You can execute Minecraft commands directly through the built-in RCON client without exposing external ports.
How to use:
rcon-cli and press Enter to start an interactive RCON sessionlist — Show online playerswhitelist add <player> — Add player to whitelisttime set day — Set time to daytimeop <player> — Grant operator privilegesNote: To exit RCON, type quit or press Ctrl+C. Do not expose RCON port 25575 externally unless you have set a secure RCON_PASSWORD.
If you need to use Zeabur's file manager to modify configurations or upload files without launching the Minecraft server, you can keep the container running idle.
How to configure:
sleep infinity (or sleep 365d if your environment requires a specific duration)/data via the file managerImportant: After finishing file operations, remember to clear or restore the default startup command so the server can launch normally on next restart.
