Skip to content

Vanilla Client Setup

  1. Download the Prism Launcher here: https://prismlauncher.org/download

  2. After running the installer, or downloading the portable archive and extracting it, run the launcher and log in with your account.

  3. Follow this image-based guide for downloading the modpack and setting it up.

Java Setup

Here's where it gets interesting. I'm going to do my best to break it down

  1. Check Java Installation box
  2. Pick whether to download java, autodetect, or browse for an existing copy of java.
    • I would just download java or autodetect. If you want to go nuts, install GraalVM.
  3. Skip Java compatibility checks
  4. Set your amount of memory. 5GB should be plenty to run this. 2GB should be able to run this.
    • Setting more than ~16GB will hurt performance.
    • The minimum memory allocation and Maximum memory allocation values can be the same.
  5. You can run the game now!
    • If you're feeling brave, you can add in the Java arguments I'll supply below this image. They work quite well, but might be incompatible with your system.
-XX:ConcGCThreads=4 -XX:ParallelGCThreads=4 -XX:ReservedCodeCacheSize=400M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:NonNMethodCodeHeapSize=12M -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:InlineSmallCode=1000 -XX:FreqInlineSize=100 -XX:NmethodSweepActivity=1  -XX:ThreadPriorityPolicy=1 -XX:UseAVX=2 -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+UseZGC -XX:+ZUncommit -XX:+ZProactive -XX:+DisableExplicitGC -XX:+UseDynamicNumberOfGCThreads -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:AllocatePrefetchStyle=3 -XX:AllocatePrefetchDistance=512 -XX:AllocatePrefetchLines=4 -XX:AllocatePrefetchStepSize=128 -XX:AllocateInstancePrefetchLines=2 -XX:AllocatePrefetchInstr=1 -XX:+PerfDisableSharedMem -XX:+OptimizeFill -XX:+OptimizeStringConcat -XX:+UseCodeCacheFlushing -XX:+UseOnStackReplacement -XX:+UseStringDeduplication -XX:+UseLoopPredicate -XX:+UseCharacterCompareIntrinsics -XX:+UseCopySignIntrinsic -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:+UseInlineCaches -XX:+TrustFinalNonStaticFields -XX:+EnableVectorSupport -XX:+EnableVectorAggressiveReboxing -XX:+UseVectorStubs -XX:+UseVectorCmov -XX:+UseFMA -XX:+UseUnalignedAccesses -XX:+AlignVector -XX:-UseSubwordForMaxVector -XX:-SuperWordLoopUnrollAnalysis -XX:+AlwaysActAsServerClassMachine -XX:+TieredCompilation -XX:TieredStopAtLevel=4 -XX:+AlwaysCompileLoopMethods -XX:-DontCompileHugeMethods -XX:+OptoScheduling -XX:+OptoBundling -XX:+UseNUMA -XX:+UseJVMCICompiler -XX:+EnableJVMCIProduct -XX:+EagerJVMCI -Djdk.graal.CompilerConfiguration=enterprise -Djdk.graal.AlwaysInlineIntrinsics=true -Djdk.graal.InlineGraalStubs=true -Djdk.graal.LoopVectorizationKeepPostLoop=true -Djdk.graal.SIMDVectorizationDirectLoadStore=true -Djdk.graal.SIMDVectorizationSingletons=true -Djdk.graal.UnrollEmptyLoops=true -Djdk.graal.FullUnroll=false -Djdk.graal.FullUnrollCodeSizeBudgetFactorForSmallGraphs=2.0 -Djdk.graal.GraphCompressionThreshold=70 -Djdk.graal.VectorizeSIMD=true -Djdk.graal.OptEliminatePartiallyRedundantGuards=true -Djdk.graal.ExplicitNullChecks=true -Djdk.graal.EnableEscapeAnalysis=true -Dgraal.TuneInlinerExploration=1 -Dgraal.LoopRotation=true -Dgraal.OptWriteMotion=true -Dgraal.CompilerConfiguration=enterprise --add-modules=jdk.incubator.vector -XX:-CreateCoredumpOnCrash -XX:+DoEscapeAnalysis -XX:MaxInlineSize=96 -XX:MaxInlineLevel=20 -XX:MaxRecursiveInlineLevel=2 -XX:LiveNodeCountInliningCutoff=40000 -XX:LoopUnrollLimit=60 -XX:LoopUnrollMin=4 -XX:+InlineObjectHash -XX:+InlineThreadNatives -XX:+InlineUnsafeOps -XX:+OptimizeExpensiveOps -XX:+SpecialStringEquals -XX:+SpecialArraysEquals -XX:+UseMathExactIntrinsics -XX:+UseMulAddIntrinsic -XX:+UseSquareToLenIntrinsic -XX:+UseVectorizedMismatchIntrinsic -XX:+OmitStackTraceInFastThrow -XX:+RewriteBytecodes -XX:+RewriteFrequentPairs -XX:+UseFastJNIAccessors -XX:+UseFPUForSpilling -XX:+SegmentedCodeCache -XX:+UseThreadPriorities