All the Mods 9
- Introduction & FAQ
- AllTheModium Ores Guide!
- Simple Mekanism Fission Reactor + Industrial Turbine
- How to: Improve All The Mods 9 Performance & stability
Introduction & FAQ
Introduction
All the Mods 9 (ATM9) is a comprehensive modpack that brings together a wide range of modifications to enhance and expand the classic Minecraft experience. Building upon the success of its predecessors, ATM9 integrates new mods, updates existing ones, and provides a balanced, engaging gameplay environment.
Key Features
- Diverse Mod Selection: ATM9 includes a curated selection of mods spanning various categories such as technology, magic, exploration, and building. Whether you're an engineer at heart or a wizard in spirit, there's something for everyone.
- Enhanced Gameplay: Experience Minecraft like never before with improved mechanics, additional biomes, new creatures, and expanded crafting options.
- Community-Centric: ATM9 is designed with community feedback and involvement, ensuring a continuously evolving and player-focused experience.
- Regular Updates: The modpack receives regular updates to keep the gameplay fresh and integrate the latest mods and improvements.
Getting Started
To begin your journey in All the Mods 9, you'll need to follow a few simple steps to get set up
- Install Minecraft: Ensure you have a valid copy of Minecraft.
- Modpack Installation: Use a modpack launcher like CurseForge or similar to download and install the "All the Mods 9" pack.
- Join the Community: Connect with fellow players on our Discord for tips, discussions, and community events.
Join the Adventure!
We invite you to join our vibrant community and explore the endless possibilities that All the Mods 9 offers. Whether you're a veteran miner or a first-time adventurer, there's always something new to discover.
FAQ
How do I start on the modpack?
ATM generally always had some sort of quest progression which helped you advance through the game and begin with. ATM9 has a quest book which can be found on the top-left of the inventory. You will find a lot of rewards, tips & tricks and all kinds of guides on the core mods of this pack.
How to install the modpack? How much RAM to allocate?
Detailed instructions on how to install the modpack and allocate RAM memory can be found on this page: https://wiki.siriusmc.net/books/server-information/page/all-the-mods-9It is officially recommended to have between 8GB - 12GB of RAM allocated. More than 12GB of RAM allocated can cause issues.
Why is flight disabled?
Flight is disabled in certain dimensions (The Other, Blue Skies, and Twilight Forest), to add more difficulty towards progression.
Why isn't mod <insert name> in ATM9 yet?
ATM packs do not literally contain “All The Mods”. Our main focus is having mods that are not buggy and don't ruin performance, or progression. If a mod supports Minecraft version 1.20.1, and Forge (Not NeoForge), you may make a suggestion.
Will <item> be banned?
Currently, the server will be launched in a beta phase. This means we will do gameplay optimizations as people join and notice issues. While we've already taken measures to mitigate massive landscape griefs or claim bypasses, such things might still happen, and staff might have to restore bases sometimes.
If you notice items or mods causing dupe glitches, claim bypassing or are simply unbalanced, please create a ticket on our Discord server.
AllTheModium Ores Guide!
Tiers of AllTheModium ores:
Netherite (Vanilla) ➜ AllTheModium (ATM) ➜ Vibranium (ATM) ➜ Unobtainium (ATM)
Types of Ores
AllTheModium
Typically, this ore can only be found within the Deep Dark biome located in the Overworld dimension, but due to the inclusion of the Aroma1997's Dimensional World modification, you can also find this ore within the Mining dimension. If you're looking in the Deep Dark, focus on the walls and roof within the caverns, or the Ancient Cities. If you're looking in the Mining dimension, focus on the Deepslate layer. Furthermore, to mine this ore will require Netherite quality tools or better.
In order to upgrade a tool or armor piece from Netherite quality to AllTheModium quality, you will need the AllTheModium Smithing Template. This template can be found by using a Brush on Suspicious Clay in Ancient Cities.
Vibranium
Vibranium ore can only be found within Crimson Forest and Warped Forest biomes of the Nether dimension. This ore only spawns at high Y altitudes, normally in the ceiling. To mine this ore will require AllTheModium quality tools or better.
To upgrade AllTheModium quality tools or armor to Vibranium will require the Vibranium Smithing Template. This template can be found using a Brush on Suspicious Soul Sand within Bastion Remnants located in the Nether.
Unobtainium
Unobtainium ore can only be found within the Highlands biome within the End dimension. This ore spawns within the islands crust at any Y level. To mine this ore will require Vibranium quality tools or better.
To upgrade Vibranium quality tools or armor to Unobtainium will require the Unobtainium Smithing Template. This template can be found by looting chests within the Library of Dungeons in The Other dimension.
Other methods of obtaining these ores:
Method A:
Use of Laser Drills and Laser Bases from the Industrial Foregoing modification with the correct Laser Lens in the correct biomes can generate the respective ore for that biome.
Method B:
Use of Seeds from the Mystical Agriculture modification can produce Essence of these ores which can be converted into ingots.
Method C:
Use of bees from Productive Bees modification can produce combs of these ores which can be converted into ingots using a centrifuge.
Simple Mekanism Fission Reactor + Industrial Turbine
The designs in this tutorial are taken straight from the Wiki as a "minimally viable stable" Reactor+Turbine setup. You can, of course, make something bigger than this but the core mechanics will be the same. Scroll to the bottom of the album if you're interested in a sample Fissile Fuel generation setup.
Start with the Fission Reactor. The smallest Fission Reactor you can make is 3x4x3. Start with a 3x3 base layer of Fission Reactor Casing.
On the next layer, continue building up the outer walls with Fission Reactor Casing. Optionally, use Reactor Glass on these walls for decoration. Note: The outside edges of your Fission Reactor can *only* be Casings. The edges cannot be glass.
In the center, place a Fission Fuel Assembly in the middle.
On the next layer, continue building up the outer wall.
In the center, place a Control Rod Assembly in the middle.
On the final layer, place Fission Reactor Casings on the outer edges. The center block can either be a Casing or Glass - it doesn't matter.
That's it, for now. The Fission Reactor multiblock should form. You will see redstone particles if the multiblock formed correctly. Right clicking anywhere on the multiblock will open the GUI.
We will return to this to place our ports for getting resources in and out of the reactor.
For the Industrial Turbine, we will build a small one that can match the output of our small Fission Reactor.
Start with a 5x5 base of Turbine Casings.
Begin building up the outer wall. The edges must be Turbine Casings, but the faces may be Casings or Structural Glass.
In the center, place a Turbine Rotor. Right click the Turbine Rotor twice while holding Turbine Blades to place two blades on this section of Turbine Rotor.
Continue building up the outer wall and the Turbine Rotor and Blades. This step is exactly the same as the previous step.
Continue building up the outer wall and the Turbine Rotor and Blades. This step is exactly the same as the previous step, again, again, and again. This is the final height of your Turbine Rotor. You should have a 5-block tall Turbine Rotor with 10 Turbine Blades on it in total.
Place a Rotational Complex on top of the Rotor.
Continue building up the exterior wall. Place a ring of Pressure Dispersers around the Rotation Complex. This layer must always be filled completely with Pressure Dispersers surrounding the Rotation Complex, no matter how big your Turbine is.
Place Electromagnetic Coils on the next layer up. They must touch the Rotational Complex and each Coil must touch one another. You can place more than 3, but this Reactor + Turbine design can only make use of 3 so there's no point in adding more.
At this level, the faces of your exterior wall can (and should) be Turbine Vents. Continue building up the exterior wall.
Surround the Electromagnetic Coils with Saturating Condensers. These blocks are responsible for turning Steam back into Water.
In this configuration, you will need 6. Continue building up the exterior wall, remembering to place Turbine Vents on the faces.
On the final layer, place Turbine Casings on the edge and Vents on the inside face. And you're done, for now.
The multiblock should form. Right clicking anywhere on the multiblock will open the GUI.
We will now revisit both structures to determine where to put our input and output ports.
For the Fission Reactor, use Fission Reactor Ports. For the Industrial Turbine, use Turbine Valves. In addition, any Turbine Vent can be used to output waste water from the Turbine.
I've chosen to put two Fission Reactor Ports facing the Industrial Turbine. The top Port on the Reactor is configured to be an input port, where I input water into the Reactor. The bottom Port is configured to output heated coolant.
I placed one Turbine Valve directly adjacent to the heated coolant output of the Reactor. This Valve will accept the heated coolant into the Turbine. I'm using an arbitrary Vent at the top of the Turbine to output water back into the Fission Reactor after it's been used up.
I've connected the Turbine Vent to the top Fission Reactor Port (input) with an Ultimate Mechanical Pipe, and the Turbine Valve to the lower Fission Reactor Port (output) with an Ultimate Pressurized Tube. The Mechanical Pipe is set to extract from the Turbine Vent, and the Pressurized Tube is set to extract from the Fission Reactor Port.
On the other side, I've chosen to place my other two Fission Reactor Ports. The top is configured for input, where I will input Fissile Fuel. The bottom is configured to output waste, where the spent Fissile Fuel will be ejected as Nuclear Waste.
On the other side of the Turbine, I've chosen to place my second Turbine Valve. I will use this one to extract power from the Turbine. Here I've chosen to export power into an Energy Cube.
It's a little hard to see, but I placed a Fluid Tank of water on the Mechanical Pipe to "prime" the system with water. Once you've filled up your Fission Reactor with water, this can be removed as the system will be a "closed loop" where all the water gets converted to steam in the Reactor and then the steam gets converted back to water in the Turbine.
All that's left to do is hook up your input of Fissile Fuel to the input port (top) and some way of managing your Nuclear Waste (bottom). Here I am importing from a Chemical Tank full of Fissile Fuel that I've "created" elsewhere and exporting to a Nuclear Waste Barrel.
Once this is done, right click on the Fission Reactor and click "Activate".
If all is well, water will begin to be turned into steam and extracted to the Turbine, where it will then be converted into water + power. The water will be piped back into the Reactor to be reheated. At the default "Burn Rate" setting of 0.1 mB/t on the Reactor, this design should have a Heating Rate that fluctuates between 1998-1999 mB/t. Looking at the Turbine, the flow rate should also be fluctuating between these two values. If this is true, then your system is properly configured and can be left to run indefinitely****
***As long as.... (see below)
NOTE: If the Industrial Turbine fills up with energy, it will stop processing steam, which will cause the Fission Reactor to build up pressure until it explodes. Make sure that you are either venting your excess steam, or voiding your excess power in some way if you don't want a big explosion and lots of radiation.
---------------------------------------------------------------------------------------------------------------------------------------
Bonus: Fissile Fuel Generation. It can definitely be made more compact but the setup has been intentionally split up for clarity.
The purple boxes are Creative Crates from Create. This simulate your raw resource input that will be coming from elsewhere.
- The crate in the blue side has Uranium Ingots.
- The crate at the top of the orange side has Sulfur.
- The crate at the bottom of the orange side has Fluorite.
The process is split into three parts:
- Uranium Oxide generation
- 2. Hydrofluoric Acid generation
- 3. Fissile Fuel Generation
You combine the outputs of the blue side and the orange side to make Uranium Hexafluoride, then spin that really fast in the Isotopic Centrifuge to make Fissile Fuel.
How to: Improve All The Mods 9 Performance & stability
Objective:
Provide installation guides and info about: Prism launcher, Java 17 and game client optimization.
Increase ATM9 stability & performance.
Free the people from the Curseforge prison.
* Results not guaranteed
Methodology:
1. Abandon curseforge
Why?
Curseforge is very bloated and lacks a lot of basic functionality.
It only carries curseforge packs, meaning you need to use multiple launchers if you wish to play eg. Tekkit.
It's awkward to use and tweaking modpacks is just painful with it.
Prism?
Prism provides robust modpack management.
Allows you to play essentially all modpacks with one launcher.
Solid logging & debug.
Multi account/instance support.
Does not eat your ram.
It just works™️
Prism images & download link
Supports multiple modpack sources (begone the suffering of installing 9023819 launchers)
Ability to assign instances their own settings (Maybe you want to use Java version X for one modpack and Java version Y for another, Ram allocations etc)
And of course you can also assign global options, in the case you'd want your modpacks to always launch with eg. 1920*1080 windowed mode, use X amount of ram & much more by default.
Readable logs directly in launcher
Mod, saves, resource packs, shader & more manageable directly in launcher
Visit their site at https://prismlauncher.org/ for further information & install options.
Prism is a fork of MultiMC (that actually gets updates!)
2. Install ATM9 with Prism
Time to smile.
Adding ATM9 to Prism
1. In the setup of Prism, you can set these options how you see fit, this will become the default global settings, but for sake of simplicity, set the ram to anything you want, as we will set the ram allocation on the instance setting of ATM9 instead, same for the Java options - Just untick it and ignore anything it tells you because we will set it per instance anyway, this is covered in the Java section later on.
2. Once installed & ready click the 'Add Instance' button, find curseforge and pick ATM9.
When you first install ATM9 with the prism launcher, it's possible you'll be greeted with a window saying 'Mods not found' This is easy to resolve, just click the curseforge link in the window to download the mod and then drag it onto the window or click the 'add download folder' button and select the folder that the mod was downloaded to, then the red ❌ will turn into a ✅ and you can proceed.
Change any other settings if you want and/or move on step 3.
3. Java
Baseline for Minecraft 1.20.1 is Java version 17, so we will stick to it to ensure stability.
This will cover:
A. Oracle GraalVM Enterprise for Java 17
B. Adoptium OpenJDK 17
I personally use GraalVM EE and have never had any bad experiences with it, I do recommend giving it a try - however if GraalVM does not work, just use Adoptium OpenJDK, It's essentially just as fast but less experimental than GraalVM.
PRE
I assign 12GB Ram to my ATM9 Instance in prism, for me this has been a solid number for over 2000> hours of gameplay, if it's possible, assign the same.
However if you want to use less or more I don't recommend going below 9GB or above 14GB, I have ran the game without crashes on 8,5GB but it was not a great experience - Just as not enough ram can cause issues, so will assigning too much ram, I recommend sticking to 12GB, you can set it to 14GB if you install the Distant Horizons mod.
If your PC only have 16GB ram, this modpack could be tricky to run on Windows.
Option A. GraalVM EE 21 for Java 17
Install GraalVM EE
GraalVM Docs can be found here
1. Download GraalVM here & follow the steps in the image (click the icon the emoji is pointing to) note that it requires you to create an account (It's free however.)
2. Once downloaded you'll end up with this zip file, use the archive tool of your choice to unpack it.
If you don't have an archive tool, you can get 7zip here
3. Once extracted, put the folder anywhere it'll be safe, I store them like this in the documents folder.
4. To use GraalVM in prism all you have to do is rightclick a modpack (or set it in the global options) and point it to the javaw.exe in the bin/ directory of the folder we extracted from the zip file.
Below is an example path to illustrate the bin/javaw.exe:
C:/Users/EXAMPLE/Documents/Java/graalvm-ee-java17-windows-amd64-x.x.x/bin/javaw.exe
Also tick the 'Skip Java compatibility checks' box.
5. To add launch arguments just tick the 'Java arguments' box and copy paste one of the options below.
Note: -XX:ReservedCodeCacheSize=xG will make the game use additional memory from the already assigned memory, use the 2GB option if you got ram to spare, else the 1GB.
2GB copy & paste
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:AllocatePrefetchStyle=3 -XX:ReservedCodeCacheSize=2G -XX:NonNMethodCodeHeapSize=64M -XX:ProfiledCodeHeapSize=1408M -XX:NonProfiledCodeHeapSize=576M -XX:-DontCompileHugeMethods -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:+EagerJVMCI -XX:+UseJVMCICompiler -Dgraal.TuneInlinerExploration=1 -Dgraal.CompilerConfiguration=enterprise -XX:+UseG1GC -XX:MaxGCPauseMillis=40 -XX:G1HeapRegionSize=16M -XX:G1NewSizePercent=25 -XX:G1ReservePercent=15 -XX:SurvivorRatio=8 -XX:G1MixedGCCountTarget=4 -XX:G1HeapWastePercent=10 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1RSetUpdatingPauseTimePercent=1 -XX:MaxTenuringThreshold=1 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=50 -XX:GCTimeRatio=99 -XX:+EnableJVMCI
1GB copy & paste
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:AllocatePrefetchStyle=3 -XX:ReservedCodeCacheSize=1G -XX:NonNMethodCodeHeapSize=32M -XX:ProfiledCodeHeapSize=768M -XX:NonProfiledCodeHeapSize=224M -XX:-DontCompileHugeMethods -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:+EagerJVMCI -XX:+UseJVMCICompiler -Dgraal.TuneInlinerExploration=1 -Dgraal.CompilerConfiguration=enterprise -XX:+UseG1GC -XX:MaxGCPauseMillis=40 -XX:G1HeapRegionSize=16M -XX:G1NewSizePercent=25 -XX:G1ReservePercent=15 -XX:SurvivorRatio=8 -XX:G1MixedGCCountTarget=4 -XX:G1HeapWastePercent=10 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1RSetUpdatingPauseTimePercent=1 -XX:MaxTenuringThreshold=1 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=50 -XX:GCTimeRatio=99 -XX:+EnableJVMCI
Explanation of the launch arguments
Launch Argument | Explanation |
-XX:+UnlockExperimentalVMOptions | Enables experimental JVM options for advanced tuning. |
-XX:+UnlockDiagnosticVMOptions | Enables diagnostic JVM options for debugging. |
-XX:+AlwaysActAsServerClassMachine | Optimizes performance by forcing server-class machine behavior. |
-XX:+AlwaysPreTouch | Pre-allocates all memory pages at startup to reduce runtime latency. |
-XX:+DisableExplicitGC | Disables explicit calls to System.gc(). |
-XX:+UseNUMA | Optimizes memory allocation for NUMA systems. |
-XX:AllocatePrefetchStyle=3 | Adjusts prefetch style for modern processors. |
-XX:ReservedCodeCacheSize=2G | Allocates 2 GB for JIT-compiled code storage. |
-XX:NonNMethodCodeHeapSize=64M | Reserves 64 MB for auxiliary compiled code. |
-XX:ProfiledCodeHeapSize=1408M | Allocates 1.375 GB for frequently executed code. |
-XX:NonProfiledCodeHeapSize=576M | Sets 576 MB for less frequently executed code. |
-XX:-DontCompileHugeMethods | Allows the JIT compiler to compile large methods. |
-XX:+PerfDisableSharedMem | Disables shared memory for performance data to enhance security. |
-XX:+UseFastUnorderedTimeStamps | Enables fast, hardware-assisted timestamp generation. |
-XX:+UseCriticalJavaThreadPriority | Enables critical thread priorities for Java threads. |
-XX:+EagerJVMCI | Eagerly initializes the JVMCI for Graal JIT operations. |
-XX:+UseJVMCICompiler | Uses the Graal JIT compiler for advanced optimizations. |
-Dgraal.TuneInlinerExploration=1 | Increases Graal's inlining exploration for better optimizations. |
-Dgraal.CompilerConfiguration=enterprise | Enables enterprise-level optimizations in Graal. |
-XX:+UseG1GC | Uses the Garbage-First (G1) Garbage Collector. |
-XX:MaxGCPauseMillis=40 | Targets 40 ms for maximum garbage collection pauses. |
-XX:G1HeapRegionSize=16M | Sets G1 heap region size to 16 MB for finer control. |
-XX:G1NewSizePercent=25 | Sets 25% of the heap for the young generation. |
-XX:G1ReservePercent=15 | Reserves 15% of the heap as free space for GC overhead. |
-XX:SurvivorRatio=8 | Adjusts Eden-to-Survivor ratio to 8:1. |
-XX:G1MixedGCCountTarget=4 | Targets 4 mixed garbage collection cycles. |
-XX:G1HeapWastePercent=10 | Allows up to 10% heap waste before triggering GC. |
-XX:InitiatingHeapOccupancyPercent=20 | Starts concurrent GC at 20% heap occupancy. |
-XX:G1RSetUpdatingPauseTimePercent=1 | Allocates 1% of GC pause time to remembered set updates. |
-XX:MaxTenuringThreshold=1 | Moves objects to the old generation after one young GC cycle. |
-XX:G1ConcMarkStepDurationMillis=5 | Limits concurrent marking steps to 5 ms each. |
-XX:G1ConcRSHotCardLimit=16 | Caps the number of hot cards processed during refinement. |
-XX:G1ConcRefinementServiceIntervalMillis=50 | Sets concurrent refinement thread interval to 50 ms. |
-XX:GCTimeRatio=99 | Targets 99% application time vs. 1% GC time. |
-XX:+EnableJVMCI | Enables JVM Compiler Interface for Graal. |
Done, Now you're ready to play the game and have fun, or optionally continue to the mods chapter.
Option B. Adoptium OpenJDK for Java 17
Install Adoptium OpenJDK 17
Download Adoptium OpenJDK here
Adoptium Docs can be found here
1. Download the installer by clicking the .msi button on the download site.
2. Run the installer and just click 'next' on everything.
3. To use Adoptium OpenJDK in prism all you have to do is rightclick a modpack (or set it in the global options) and click the 'Auto Detect' button.
4. Select it in the menu & tick the 'Skip Java compatibility checks' box
5. To add launch arguments just tick the 'Java arguments' box and copy paste one of the options below.
Note: -XX:ReservedCodeCacheSize=xG will make the game use additional memory from the already assigned memory, use the 2GB option if you got ram to spare, else the 1GB.
2GB copy & paste
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:AllocatePrefetchStyle=3 -XX:ReservedCodeCacheSize=2G -XX:NonNMethodCodeHeapSize=64M -XX:ProfiledCodeHeapSize=1408M -XX:NonProfiledCodeHeapSize=576M -XX:-DontCompileHugeMethods -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:+UseG1GC -XX:MaxGCPauseMillis=40 -XX:G1HeapRegionSize=16M -XX:G1NewSizePercent=25 -XX:G1ReservePercent=15 -XX:SurvivorRatio=8 -XX:G1MixedGCCountTarget=4 -XX:G1HeapWastePercent=10 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1RSetUpdatingPauseTimePercent=1 -XX:MaxTenuringThreshold=1 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=50 -XX:GCTimeRatio=99
1GB copy & paste
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:AllocatePrefetchStyle=3 -XX:ReservedCodeCacheSize=1G -XX:NonNMethodCodeHeapSize=32M -XX:ProfiledCodeHeapSize=768M -XX:NonProfiledCodeHeapSize=224M -XX:-DontCompileHugeMethods -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:+UseG1GC -XX:MaxGCPauseMillis=40 -XX:G1HeapRegionSize=16M -XX:G1NewSizePercent=25 -XX:G1ReservePercent=15 -XX:SurvivorRatio=8 -XX:G1MixedGCCountTarget=4 -XX:G1HeapWastePercent=10 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1RSetUpdatingPauseTimePercent=1 -XX:MaxTenuringThreshold=1 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=50 -XX:GCTimeRatio=99
Explanation of the launch arguments
Launch Argument | Explanation |
-XX:+UnlockExperimentalVMOptions | Enables experimental JVM options for advanced tuning. |
-XX:+UnlockDiagnosticVMOptions | Enables diagnostic JVM options for debugging. |
-XX:+AlwaysActAsServerClassMachine | Optimizes performance by forcing server-class machine behavior. |
-XX:+AlwaysPreTouch | Pre-allocates all memory pages at startup to reduce runtime latency. |
-XX:+DisableExplicitGC | Disables explicit calls to System.gc(). |
-XX:+UseNUMA | Optimizes memory allocation for NUMA systems. |
-XX:AllocatePrefetchStyle=3 | Adjusts prefetch style for modern processors. |
-XX:ReservedCodeCacheSize=2G | Allocates 2 GB for JIT-compiled code storage. |
-XX:NonNMethodCodeHeapSize=64M | Reserves 64 MB for auxiliary compiled code. |
-XX:ProfiledCodeHeapSize=1408M | Allocates 1.375 GB for frequently executed code. |
-XX:NonProfiledCodeHeapSize=576M | Sets 576 MB for less frequently executed code. |
-XX:-DontCompileHugeMethods | Allows the JIT compiler to compile large methods. |
-XX:+PerfDisableSharedMem | Disables shared memory for performance data to enhance security. |
-XX:+UseFastUnorderedTimeStamps | Enables fast, hardware-assisted timestamp generation. |
-XX:+UseCriticalJavaThreadPriority | Enables critical thread priorities for Java threads. |
-XX:+UseG1GC | Uses the Garbage-First (G1) Garbage Collector. |
-XX:MaxGCPauseMillis=40 | Targets 40 ms for maximum garbage collection pauses. |
-XX:G1HeapRegionSize=16M | Sets G1 heap region size to 16 MB for finer control. |
-XX:G1NewSizePercent=25 | Sets 25% of the heap for the young generation. |
-XX:G1ReservePercent=15 | Reserves 15% of the heap as free space for GC overhead. |
-XX:SurvivorRatio=8 | Adjusts Eden-to-Survivor ratio to 8:1. |
-XX:G1MixedGCCountTarget=4 | Targets 4 mixed garbage collection cycles. |
-XX:G1HeapWastePercent=10 | Allows up to 10% heap waste before triggering GC. |
-XX:InitiatingHeapOccupancyPercent=20 | Starts concurrent GC at 20% heap occupancy. |
-XX:G1RSetUpdatingPauseTimePercent=1 | Allocates 1% of GC pause time to remembered set updates. |
-XX:MaxTenuringThreshold=1 | Moves objects to the old generation after one young GC cycle. |
-XX:G1ConcMarkStepDurationMillis=5 | Limits concurrent marking steps to 5 ms each. |
-XX:G1ConcRSHotCardLimit=16 | Caps the number of hot cards processed during refinement. |
-XX:G1ConcRefinementServiceIntervalMillis=50 | Sets concurrent refinement thread interval to 50 ms. |
-XX:GCTimeRatio=99 | Targets 99% application time vs. 1% GC time. |
Done, Now you're ready to play the game and have fun, or optionally continue to the mods chapter.
4. Mods (Optional)
This are my personal takes + some mod recommendations/info
Mods I use & recommend
EMI
Really recommend using this mod instead of JEI, it provides a nice configurable UI, Recipe trees, faster indexing & baking and more.
Installation steps: just drop the .jar file in the ATM9 mods folder, nothing else needs to be done.
*I also recommend enabling 'Batched Renderer' in the EMI options.
Curseforge link here
Embeddium++
Great addon to the embeddium mod, gives you additional graphics options and allows you to display some diagnostics like FPS, ram useage etc
Installation steps: just drop the .jar file in the ATM9 mods folder, nothing else needs to be done.
Curseforge link here
MacroKeybinds
I enjoy binding commands to keys, if you also enjoy it then go ahead
Installation steps: just drop the .jar file in the ATM9 mods folder, nothing else needs to be done.
Curseforge link here
Mods that can be removed
InvTweaks
Pointless inventory addon mod that adds a button to the side of various container GUI's (it's meant to be used for misc sorting actions but it has a feature of instantly crashing your game if accidentally pressed in some container GUI's that don't support it.) + The button is real ugly.
Can safely be deleted from the mods folder.
Oculus
If you plan on using the Distant Horizons mod OR wont be using any shaders, you can delete it from the mods folder.
Observable & Crashutilities
Two mods used for server administration & performance monitoring, cannot be used by non OP players so can safely remove them.
Info
Leftovers
- If you don't like how Modernfix makes the Gregtech textures look, you can remove the mod, beware that this will slightly increase ram useage and in some instances lead to game instabilities, it causes no issues otherwise and can stay.
- If you want to disable the RPS (the game activity discord thing that says "playing atm9") set discord to false in allthetweaks-common.toml in the config/ directory of the modpack instance folder.
- If you have issues with random disconnects / timeouts - try using the Play.SiriusMC.net IP instead of ATM9.SiriusMC.net, alternatively you can try using a VPN, just make sure to get a trustworthy and reputable provider.
Notify an Admin or higher on the SiriusMC Discord if you wish to try playing with a VPN (VPN connections are by default blocked)
HOPEFULLY YOUR GAME RUNS WELL NOW AND YOU CAN SMILE MORE, FEEL FREE TO CONTACT ME (LOGICNFACTS) ON THE SIRIUSMC DISCORD IF YOU HAVE ANY QUESTIONS.