How to Adjust your Startup Parameters
Docker Image
This is responsible for running your Minecraft version.
What you see in the drop down box can vary depending on your selected Egg.
For most Java Edition Minecraft Eggs, you will see the following:
- ghcr.io/pterodactyl/yolks:java_11
- ghcr.io/pterodactyl/yolks:java_14
- ghcr.io/pterodactyl/yolks:java_16
- ghcr.io/pterodactyl/yolks:java_8
Here you need to select the correct Java Version for your Minecraft server. (The correct Java version should automatically be selected for your server upon your purchase, but this can change if you change Eggs or require other parameters.)
For example, newer Minecraft versions 1.17+ require Java 16 to play, so you will need to select the third option in the list.
If you play below 1.17 you can run Java 8-16.
If you use certain mods or plugins, you will need to run a Java version compatible with them. This information can usually be found on the corresponding mod/plugin download page.
Additional Arguments
When modifying this section, it's important to take note of your max RAM capacity. If you're unsure how much your server has, you can check this in the same box as your IP address on the Console tab.
In this example we have a max of 8 GB RAM.
Java Minecraft 1.17+ increased in total RAM usage from the previous version. It's more important now than ever to set proper arguments & -Xmx flag.
Paste the following arguments dependent on your Java version to optimize your RAM performance:
Java 16
-XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:+ZProactive -XX:ZCollectionInterval=600 -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem
Java 14 or Below
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true
Java 14 or Below with over 12GB of RAM
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true
-Xmx
1GB = 1024M. Always set your your -Xmx 1GB to 1.5GB below your max amount of RAM. This keeps your server RAM usage running at optimal performance without over utilizing your resources.
Here's a chart if you hate doing math:
Your Max RAM | What your -Xmx Flag should be |
3GB | 1536 |
4GB | 2560 |
5GB | 3585 |
6GB | 4608 |
7GB | 5632 |
8GB | 6656 |
9GB | 7680 |
10GB | 8704 |
11GB | 9728 |
12GB | 10752 |
Once you paste your Additional Arguments & -Xmx flag, you should see it update in the Startup Command box.