Select a server to display

Log in and your server shows here.

Startup settings

Control how your Minecraft server launches: the startup command, the Docker image (your Java version), startup variables, and memory and JVM flags.

No server selected

Select a server above and this page shows it.

What is the startup page for?

This page controls how your server launches, before a single line of the game runs. Three things live here: the startup command that actually boots the server, the Docker image that decides which runtime it boots on, and the startup variables that fill in the details like which jar to load and how much memory to give it. Most of the time you set these once and forget them, but when a server refuses to start, the answer is almost always on this page.

The startup command

The startup command is the exact line the server runs the moment it powers on. For a Minecraft server it is a Java command that loads your server file with a memory limit, something along the shape of java -Xms128M -Xmx2048M -jar server.jar. You rarely type it out by hand, because the pieces inside it, the jar name and the memory, are driven by the variables further down the page, and the command just stitches them together.

The Docker image is your Java version

This is the single most important box for getting a server to boot, and the one people miss most often. The Docker image sets the runtime your server launches on, and for a Minecraft server that runtime is a version of Java. Every Minecraft release is built for a certain Java version, and if the image is older than the game needs, the server crashes on startup before it ever loads a world.

Minecraft versionJava it needs
1.16.5 and olderJava 8
1.17.xJava 16 or newer
1.18 to 1.20.4Java 17 or newer
1.20.5 and newer (including 1.21)Java 21 or newer

If your server dies the instant it starts right after a version change, and the console mentions "UnsupportedClassVersionError" or "requires Java", you almost never have a broken server. You have the wrong Docker image. Bump it to the Java version the table above calls for and start again.

Startup variables

Startup variables are the adjustable settings the server reads while it launches, shown here as a set of cards you can edit. Exactly which ones appear depends on the type of server, but common ones include the server jar file, the version or build to run, and the amount of memory to allocate. Change a value, save, and it takes effect the next time the server starts.

It is worth being clear about what these are not, because it trips people up constantly. Startup variables control how the server is launched. They are a completely separate thing from server.properties, which controls how the game behaves once it is running, things like the gamemode, difficulty, and the MOTD. If you are hunting for an in-game setting, it lives in properties, not here.

Memory and performance flags

The memory value on this page, the -Xmx in that startup command, is the ceiling on how much RAM the server is allowed to use. More is not automatically better. Give a server far more heap than it needs and Java's garbage collector can freeze the whole server for a moment while it cleans up, which players feel as a lag spike. The right number is enough headroom for your players and plugins, and not a gigabyte more.

How that memory is managed matters just as much as the size of it, and that comes down to the JVM flags in the startup command. The community standard here is a tuned set known as Aikar's flags, which reshape how Java handles garbage collection to keep those pauses small and predictable. A few things worth knowing:

  • Xms and Xmx are the starting and maximum heap size; setting them equal avoids the server resizing memory mid-game
  • Aikar's flags are the go-to preset for smooth Minecraft performance and are widely documented online
  • Plugins and view distance drive memory use as much as player count, so tune the number to your actual server

If you have tuned the memory and the flags and the server still cannot keep up, the honest answer is usually hardware. That is the point where more RAM and faster CPUs on a plan built for it, like the ones at Eternal Hosting, do more than any flag ever will.