Custom Startup (JVM Flags)

Fine-tune your startup command.

On this page

At Arqonara, you have full freedom to customize how your Minecraft server is launched. By using Custom Startup Flags, you can optimize RAM usage, speed up Garbage Collection (GC), and minimize "stutter" or sudden lag on the server.

1. How to Change Startup in the Panel#

Steps to apply custom startup flags:

  1. Log in to the Arqonara Game Panel.
  2. Select your server, then navigate to the Startup tab in the left sidebar.
  3. Find the input field named Startup Command or JVM Flags.
  4. Enter the startup parameters you want.
  5. Restart your server to apply the changes.

2. Arqonara Startup Recommendation (High Performance)#

For servers using Java 17 and above (Paper, Purpur, Folia), we strongly recommend the following combination of flags, optimized for our Ryzen 9 infrastructure:

txt

--add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:+UseStringDeduplication -XX:AllocatePrefetchStyle=1 -XX:+UseLoopPredicate -XX:+RangeCheckElimination -XX:+EliminateLocks -XX:+DoEscapeAnalysis -XX:+UseCodeCacheFlushing -XX:+SegmentedCodeCache -XX:+UseFastJNIAccessors -XX:+OptimizeStringConcat -XX:+UseCompressedOops -XX:+UseThreadPriorities -XX:+OmitStackTraceInFastThrow -XX:+TrustFinalNonStaticFields -XX:ThreadPriorityPolicy=1 -XX:+UseInlineCaches -XX:+RewriteBytecodes -XX:+RewriteFrequentPairs -XX:+UseNUMA -XX:-DontCompileHugeMethods -XX:+UseFastStosb -XX:+UseNewLongLShift -XX:+UseVectorCmov -XX:+UseXMMForArrayCopy -XX:+UseXmmI2D -XX:+UseXmmI2F -XX:+UseXmmLoadAndClearUpper -XX:+UseXmmRegToRegMoveAll -Xlog:async -Djava.security.egd=file:/dev/urandom -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -jar

What Do These Flags Do?#

  • G1GC Optimizations: Configures the Garbage Collector to work more efficiently when cleaning up memory without stopping the main server process (Anti-Stutter).
  • Vector API: Uses jdk.incubator.vector to speed up heavy mathematical calculations on the server.
  • Memory Management: -XX:+AlwaysPreTouch forces the system to prepare all allocated RAM from the start so there's no lag when the server starts to fill up.
  • NUMA Support: Optimizes memory access on modern multi-core processors.

Important to Know#

Caution

Do not change or remove the `-jar {{SERVER_JARFILE}}` part or the variables enclosed in curly braces in the panel, because the system needs them to recognize your server file.
  • Java Version: The flags above are optimized for Java 17, 21, and the latest versions.
  • RAM Allocation: Make sure your server's RAM allocation is sufficient (at least 4GB is recommended for flags this heavy).
Server Fails to Start?If your server won't start after changing the startup, please contact the support team. There may be a typo or a Java version mismatch.