Skip to content

Variables

Warning

The variables listed on this page are manually documented and may be out-of-date or inaccurate.

All other documentation pages are actively maintained, so please use the search box above to find the desired topic.

General options

NAME DESCRIPTION DEFAULT REQUIRED
UID The linux user id to run as 1000 ⬜️
GID The linux group id to run as 1000 ⬜️
MEMORY The image declares an initial and maximum Java memory-heap limit of 1 GB. 1G ⬜️
INIT_MEMORY Independently sets the initial heap size 1G ⬜️
MAX_MEMORY independently sets the max heap size 1G ⬜️
TZ You can configure the timezone to match yours by setting the TZ environment variable. alternatively, you can mount: /etc/localtime:/etc/localtime:ro /etc/timezone:/etc/timezone:ro UTC ⬜️
ENABLE_ROLLING_LOGS By default the vanilla log file will grow without limit. The logger can be reconfigured to use a rolling log files strategy by setting this to true false ⬜️
ENABLE_JMX To enable remote JMX, such as for profiling with VisualVM or JMC, add the environment variable ENABLE_JMX=true false ⬜️
JMX_HOST If JMX is enabled, set JMX_HOST to the IP/host running the Docker container, and add a port forwarding of TCP port 7091 ⬜️
USE_AIKAR_FLAGS Aikar has done some research into finding the optimal JVM flags for GC tuning, which becomes more important as more users are connected concurrently false ⬜️
JVM_OPTS General JVM options can be passed to the Minecraft Server invocation by passing a JVM_OPTS environment variable. The JVM requires -XX options to precede -X options, so those can be declared in JVM_XX_OPTS. Both variables are space-delimited, raw JVM arguments ⬜️
JVM_XX_OPTS General JVM options can be passed to the Minecraft Server invocation by passing a JVM_OPTS environment variable. The JVM requires -XX options to precede -X options, so those can be declared in JVM_XX_OPTS. Both variables are space-delimited, raw JVM arguments ⬜️
JVM_DD_OPTS As a shorthand for passing several system properties as -D arguments, you can instead pass a comma separated list of name=value or name:value pairs with JVM_DD_OPTS. (The colon syntax is provided for management platforms like Plesk that don't allow = inside a value.) ⬜️
EXTRA_ARGS Arguments that would usually be passed to the jar file (those which are written after the filename) ⬜️
LOG_TIMESTAMP To include the timestamp with each log set to true false ⬜️

Server

NAME DESCRIPTION DEFAULT REQUIRED
TYPE The server type VANILLA ⬜️
EULA You MUST set this to true  
VERSION The minecraft version LATEST ⬜️
MOTD Set the server log in message. ⬜️
DIFFICULTY The difficulty level. Available values: peaceful,easy,normal,hard easy ⬜️
ICON The url or file path for the icon image to use for the server. It will be downloaded, scaled, and converted to the proper format. ⬜️
OVERRIDE_ICON The server icon which has been set doesn't get overridden by default. Set this to TRUE to override the icon FALSE ⬜️
MAX_PLAYERS The maximum number of players that can join the server. 20 ⬜️
MAX_WORLD_SIZE The maximum possible size in blocks, expressed as a radius. ⬜️
ALLOW_NETHER Allows players to travel to the Nether true ⬜️
ANNOUNCE_PLAYER_ACHIEVEMENTS Allows server to announce when a player gets an achievement. true ⬜️
ENABLE_COMMAND_BLOCK Enables the command blocks. ⬜️
FORCE_GAMEMODE Force players to join in the default game mode. false ⬜️
GENERATE_STRUCTURES Defines whether structures (such as villages) will be generated. true ⬜️
HARDCORE If set to true, players will be set to spectator mode if they die. false ⬜️
SNOOPER_ENABLED If set to false, the server will not send data to snoop.minecraft.net server. true ⬜️
MAX_BUILD_HEIGHT The maximum height in which building is allowed. Terrain may still naturally generate above a low height limit. 256 ⬜️
SPAWN_ANIMALS Determines if animals will be able to spawn. true ⬜️
SPAWN_MONSTERS Determines if monsters will be spawned. true ⬜️
SPAWN_NPCS Determines if villagers will be spawned. true ⬜️
SPAWN_PROTECTION Sets the area that non-ops can not edit (0 to disable) ⬜️
VIEW_DISTANCE Sets the amount of world data the server sends the client, measured in chunks in each direction of the player (radius, not diameter). It determines the server-side viewing distance. ⬜️
SEED Sets the seed to create the Minecraft world. If you use a negative number, make sure that it is in quotes. ⬜️
MODE Minecraft servers are configured to run in Survival mode by default. You can change the mode using MODE where you can either provide the standard numerical values or the shortcut values:
  • creative
  • survival
  • adventure
  • spectator(minecraft 1.8 or later)
⬜️
PVP By default, servers are created with player-vs-player (PVP) mode enabled. true ⬜️
LEVEL_TYPE By default, a standard world is generated with hills, valleys, water, etc. A different level type can be configured by setting LEVEL_TYPE to an expected type listed here. minecraft:default ⬜️
GENERATOR_SETTINGS For some of the level types, GENERATOR_SETTINGS can be used to further customize the world generation as described here. ⬜️
LEVEL You can either switch between world saves or run multiple containers with different saves by using the LEVEL option world ⬜️
ONLINE_MODE By default, server checks connecting players against Minecraft's account database. If you want to create an offline server or your server is not connected to the internet, you can disable the server to try connecting to minecraft.net to authenticate players true ⬜️
ALLOW_FLIGHT Allows users to use flight on your server while in Survival mode, if they have a mod that provides flight installed. FALSE ⬜️
SERVER_NAME The server name ⬜️
SERVER_PORT Only change this value if you know what you're doing. It is only needed when using host networking and it is rare that host networking should be used. ⬜️
PLAYER_IDLE_TIMEOUT player-idle-timeout ⬜️
ENABLE_JMX enable-jmx-monitoring ⬜️
SYNC_CHUNK_WRITES sync-chunk-writes ⬜️
ENABLE_STATUS enable-status ⬜️
ENTITY_BROADCAST_RANGE_PERCENTAGE entity-broadcast-range-percentage ⬜️
FUNCTION_PERMISSION_LEVEL function-permission-level ⬜️
NETWORK_COMPRESSION_THRESHOLD network-compression-threshold ⬜️
OP_PERMISSION_LEVEL op-permission-level ⬜️
PREVENT_PROXY_CONNECTIONS prevent-proxy-connections ⬜️
USE_NATIVE_TRANSPORT use-native-transport ⬜️
SIMULATION_DISTANCE simulation-distance ⬜️
EXEC_DIRECTLY If you would like to docker attach to the Minecraft server console with color and interactive capabilities, then set to true false ⬜️
STOP_SERVER_ANNOUNCE_DELAY To allow time for players to finish what they're doing during a graceful server shutdown, set STOP_SERVER_ANNOUNCE_DELAY to a number of seconds to delay after an announcement is posted by the server. ⬜️
PROXY You may configure the use of an HTTP/HTTPS proxy by passing the proxy's URL false ⬜️
CONSOLE Some older versions (pre-1.14) of Spigot required --noconsole to be passed when detaching stdin TRUE ⬜️
GUI Some older servers get confused and think that the GUI interface is enabled. TRUE ⬜️
STOP_DURATION When the container is signalled to stop, the Minecraft process wrapper will attempt to send a "stop" command via RCON or console and waits for the process to gracefully finish. 60 ⬜️
SETUP_ONLY If you are using a host-attached data directory, then you can have the image setup the Minecraft server files and stop prior to launching the server process by setting this to true false ⬜️
USE_FLARE_FLAGS To enable the JVM flags required to fully support the Flare profiling suite. ⬜️
USE_SIMD_FLAGS Support for optimized SIMD operation false ⬜️

Custom resource pack

NAME DESCRIPTION DEFAULT REQUIRED
RESOURCE_PACK A link to a custom resource pack ⬜️
RESOURCE_PACK_SHA1 The checksum for the custom resource pack ⬜️
RESOURCE_PACK_ENFORCE Enforce the resource pack on clients FALSE ⬜️

Whitelist

NAME DESCRIPTION DEFAULT REQUIRED
ENABLE_WHITELIST Enable the whitelist to manually manage the whitelist false ⬜️
WHITELIST A list of usernames and/or UUIDs separated by comma ⬜️
WHITELIST_FILE A url or file path to a whitelist json formatted file. ⬜️
OVERRIDE_WHITELIST Enforce regeneration of the whitelist on each server startup. false ⬜️

RCON

NAME DESCRIPTION DEFAULT REQUIRED
ENABLE_RCON Enable/disable RCON support; however, be aware that disabling RCON will remove and limit some features, such as interactive and color console support. true ⬜️
RCON_PASSWORD You MUST change this value Randomly generated
RCON_PORT The port for RCON 25575 ⬜️
BROADCAST_RCON_TO_OPS Should RCON be enabled false ⬜️
RCON_CMDS_STARTUP RCON commands can be configured to execute when the server starts, a client connects, or a client disconnects ⬜️
RCON_CMDS_ON_CONNECT RCON commands can be configured to execute when the server starts, a client connects, or a client disconnects ⬜️
RCON_CMDS_ON_DISCONNECT RCON commands can be configured to execute when the server starts, a client connects, or a client disconnects ⬜️
RCON_CMDS_LAST_DISCONNECT RCON commands can be configured to execute when the server starts, a client connects, or a client disconnects ⬜️
RCON_CMDS_STARTUP RCON commands can be configured to execute when the server starts, a client connects, or a client disconnects ⬜️

Auto-Pause

Note

Autopause is not compatible with EXEC_DIRECTLY=true and the two cannot be set together.

NAME DESCRIPTION DEFAULT REQUIRED
ENABLE_AUTOPAUSE Enable the Autopause functionality FALSE ⬜️
AUTOPAUSE_TIMEOUT_EST describes the time between the last client disconnect and the pausing of the process 3600 ⬜️
AUTOPAUSE_TIMEOUT_INIT describes the time between server start and the pausing of the process, when no client connects in-between 600 ⬜️
AUTOPAUSE_TIMEOUT_KN describes the time between knocking of the port (e.g. by the main menu ping) and the pausing of the process, when no client connects in-between 120 ⬜️
AUTOPAUSE_PERIOD describes period of the daemonized state machine, that handles the pausing of the process 10 ⬜️
AUTOPAUSE_KNOCK_INTERFACE Describes the interface passed to the knockd daemon. If the default interface does not work, run the ifconfig command inside the container and derive the interface receiving the incoming connection from its output. The passed interface must exist inside the container. Using the loopback interface (lo) does likely not yield the desired results. eth0 ⬜️
DEBUG_AUTOPAUSE Adds additional debugging output for AutoPause false ⬜️

Auto-Stop

Note

AutoStop function is incompatible with the Autopause functionality, as they basically cancel out each other.

NAME DESCRIPTION DEFAULT REQUIRED
ENABLE_AUTOSTOP Enable the AutoStop functionality FALSE ⬜️
AUTOSTOP_TIMEOUT_EST describes the time between the last client disconnect and the stopping of the server 3600 ⬜️
AUTOSTOP_TIMEOUT_INIT describes the time between server start and the stopping of the server, when no client connects in-between 1800 ⬜️
AUTOSTOP_PERIOD describes period of the daemonized state machine, that handles the stopping of the serve 10 ⬜️
DEBUG_AUTOSTOP Adds additional logging for AutoStop false ⬜️

CurseForge

Tip

Refer to the main documentation page for more details and up-to-date information.

NAME DESCRIPTION DEFAULT REQUIRED
CF_API_KEY YOUR CurseForge (Eternal) API Key.
CF_PAGE_URL Pass a page URL to the modpack or a specific file ⬜️
CF_SLUG Instead of a URL, the modpack slug can be provided. ⬜️
CF_FILE_ID The mod curseforge numerical ID. ⬜️
CF_FILENAME_MATCHER Specify a substring to match the desired filename ⬜️
CF_EXCLUDE_INCLUDE_FILE Global and per modpack exclusions can be declared in a JSON file and referenced with this variable.

By default, the file bundled with the image will be used, but can be disabled by setting this to an empty string. The schema of this file is documented here.
⬜️
CF_EXCLUDE_MODS Mods can be excluded by passing a comma or space delimited list of project slugs or IDs ⬜️
CF_FORCE_INCLUDE_MODS Mods can be included by passing a comma or space delimited list of project slugs or IDs ⬜️
CF_FORCE_SYNCHRONIZE Forces the excludes/includes to be re-evaluated ⬜️
CF_SET_LEVEL_FROM Some modpacks come with world/save data via a worlds file and/or the overrides provided with the modpack. Either approach can be selected to set the LEVEL to the resulting saves directory by setting this to either:
  • WORLD_FILE
  • OVERRIDES
⬜️
CF_PARALLEL_DOWNLOADS specify how many parallel mod downloads to perform 4 ⬜️
CF_OVERRIDES_SKIP_EXISTING if set, files in the overrides that already exist in the data directory are skipped. world data is always skipped, if present. false ⬜️