General Configuration
The Linux user ID to run the server process as. Useful for matching file permissions with the host system.
The Linux group ID to run the server process as. Useful for matching file permissions with the host system.
Configure the timezone for the container. Accepts standard timezone identifiers like
America/New_York or Europe/London.Alternatively, you can mount /etc/localtime:/etc/localtime:ro and /etc/timezone:/etc/timezone:ro.Configure an HTTP/HTTPS proxy by passing the proxy’s URL. Used for downloading server files and mods.
Memory Configuration
Sets both the initial and maximum Java heap size. Accepts values like
1G, 2048M, 4G, etc.Independently sets the initial heap size (-Xms). Overrides the value from
MEMORY.Independently sets the maximum heap size (-Xmx). Overrides the value from
MEMORY.Logging Configuration
Root logger level. Available values:
trace, debug, info, warn, error.Include timestamps with each log entry when set to
true.Log4j2 pattern for console output (what you see in
docker logs).Log4j2 pattern for file logs written to
logs/latest.log.Log4j2 pattern for interactive terminal console used with
docker attach.Pattern for rolled/archived log file names.
Maximum number of archived log files to keep before deletion.
Legacy option. Rolling logs are now enabled by default via templated log4j2 configuration. Maintained for backward compatibility.
JVM Configuration
Enable Aikar’s optimized JVM flags for GC tuning, which helps with performance when many users are connected.
Enable MeowIce’s updated JVM flags, based on Aikar’s flags but optimized for Java 17 and above.
Enable MeowIce’s flags for GraalVM when
USE_MEOWICE_FLAGS is also enabled.Enable JVM flags required to fully support the Flare profiling suite.
Enable support for optimized SIMD operations.
Space-delimited, raw JVM arguments passed to the Minecraft server invocation. Use for -X options.
Space-delimited JVM -XX options. The JVM requires -XX options to precede -X options.
Comma-separated list of name=value or name:value pairs for system properties (-D arguments). The colon syntax is provided for platforms like Plesk that don’t allow
= in values.Enable remote JMX for profiling with VisualVM or JMC.
If JMX is enabled, set this to the IP/host running the Docker container. Also add port forwarding for TCP port 7091.
Server Configuration
You MUST set this to
true to accept the Minecraft EULA. The server will not start without this.The server type to run. Available values:
VANILLA- Official Minecraft serverPAPER- PaperMC serverSPIGOT- Spigot serverBUKKIT- Bukkit serverFORGE- Forge modded serverNEOFORGE- NeoForge modded serverFABRIC- Fabric modded serverQUILT- Quilt modded serverPURPUR- Purpur serverPUFFERFISH- Pufferfish serverFOLIA- Folia serverMAGMA- Magma hybrid serverMOHIST- Mohist hybrid serverARCLIGHT- Arclight hybrid serverCURSEFORGE- CurseForge modpackAUTO_CURSEFORGE- Auto CurseForge installationFTBA- Feed The Beast modpackCUSTOM- Custom server jar
The Minecraft version to run. Can be:
LATEST- Latest release versionSNAPSHOT- Latest snapshot version- Specific version like
1.20.4,1.19.2, etc.
The server message of the day shown in the multiplayer server list. Supports formatting codes using the section symbol (§).For multi-line MOTD, embed newline as
\n.The difficulty level. Available values:
peaceful, easy, normal, hard.The game mode. Available values:
creative, survival, adventure, spectator.The world/level name. Maps to the
level-name server property.The server port. Only change this if using host networking (rarely needed).
URL or file path for the server icon image. Will be downloaded, scaled, and converted to proper format.
Set to
true to override an existing server icon.Some older versions (pre-1.14) of Spigot required
--noconsole when detaching stdin.Disable the GUI interface (should remain false for Docker).
Additional arguments passed to the server jar file.
Server Operations
How long (in seconds) to wait for the server to gracefully stop before forcing termination.
Delay in seconds after announcing server shutdown before actually stopping. Gives players time to finish.
Set to
true to setup server files but stop before launching the server process.RCON Configuration
Enable/disable RCON support. Note: Disabling RCON removes some features like interactive console support.
The RCON password. You should change this from the default randomly generated value.
The port for RCON connections.
Sets the
broadcast-rcon-to-ops server property.RCON commands to execute when the server starts.
RCON commands to execute whenever a client connects.
RCON commands to execute on the first client connection.
RCON commands to execute whenever a client disconnects.
RCON commands to execute when the last client disconnects.
Whitelist
Enable the whitelist to manually manage allowed players.
Comma-separated list of usernames and/or UUIDs to whitelist.
URL or file path to a whitelist JSON file.
Enforce regeneration of the whitelist on each server startup.
Resource Pack
URL to a custom resource pack.
SHA1 checksum of the custom resource pack for verification.
Enforce the resource pack on clients (kick players who decline).
Auto-Pause
Enable the Auto-Pause functionality to pause the server when no players are connected.
Time in seconds between last client disconnect and pausing the server.
Time in seconds between server start and pausing when no client connects.
Time in seconds between port knock (e.g., server list ping) and pausing when no client connects.
Period in seconds of the state machine that handles pausing.
Network interface for the knockd daemon. Run
ifconfig inside container to find the correct interface.Enable additional debugging output for Auto-Pause.
Auto-Stop
Auto-Stop is incompatible with Auto-Pause as they cancel each other out.
Enable the Auto-Stop functionality to stop the server when no players are connected.
Time in seconds between last client disconnect and stopping the server.
Time in seconds between server start and stopping when no client connects.
Period in seconds of the state machine that handles stopping.
Enable additional debugging output for Auto-Stop.
CurseForge
Your CurseForge (Eternal) API Key. Required for CurseForge modpack installation.
Path to a file inside the container containing your CurseForge API Key.
Page URL to a CurseForge modpack or specific file.
The CurseForge modpack slug instead of full URL.
The CurseForge numerical file ID.
Substring to match the desired modpack filename.
Path to JSON file declaring global and per-modpack exclusions/inclusions. Set to empty string to disable defaults.
Comma or space-delimited list of project slugs or IDs to exclude.
Comma or space-delimited list of project slugs or IDs to force include.
Force re-evaluation of excludes/includes.
Set LEVEL from modpack world data. Values:
WORLD_FILE or OVERRIDES.Number of parallel mod downloads to perform.
Skip files in overrides that already exist in data directory.
Override the mod loader version declared by the modpack.