Skip to main content

My Minecraft Server Configurations in Late 2025

· One min read

In the waning months of 2025, I established a Minecraft server. Having savored an array of technologically inclined and exploratory modpacks, my companions and I resolved to embrace a more serene and leisurely pursuit. Ultimately, we settled upon a modpack centered on agrarian endeavors. This missive delineates the server's configurations.


Environment

The server operates within a container, employing Forge 47.4.0 alongside Minecraft 1.20.1.

CPU: 6 threads of AMD Ryzen 9 7950X
Memory: 32 GB
Storage: 50 GB SSD
JRE Distribution: Java 17.0.12 (Oracle GraalVM 17.0.12+8.1 from Oracle Corporation)

JVM Arguments

Though ostensibly a modpack devoted to cultivation, it incorporates several technological enhancements for automation. In the end, we amassed approximately 300 mods, rendering it a significant assemblage indeed. Drawing upon the aforementioned environment, I used the ensuing JVM arguments.

# Basic
-XX:+UseContainerSupport
-XX:ActiveProcessorCount=6
-XX:+AlwaysPreTouch
-XX:+PerfDisableSharedMem
# Avoid GC by mods or plugins
-XX:+DisableExplicitGC

# Memory
-Xms10G
-Xmx10G

# Garbage collection
-XX:+UseG1GC
-XX:MaxGCPauseMillis=100
-XX:G1HeapRegionSize=8m
-XX:G1ReservePercent=20
-XX:InitiatingHeapOccupancyPercent=15
-XX:+ParallelRefProcEnabled

# GraalVM JIT
-XX:+UnlockExperimentalVMOptions
-XX:+EnableJVMCIProduct
-XX:+EagerJVMCI
# OR -XX:CompilerConfiguration=client OR remove EagerJVMCI for A/B testing
-Dgraal.CompilerConfiguration=enterprise

# Clocks
# 7950X supports invariant TSC
-XX:+UseFastUnorderedTimeStamps

# Code cache
-XX:ReservedCodeCacheSize=512M

EOF