Jump to content

Rules and Frequently Asked Questions (FAQ)


Paint_Ninja

Recommended Posts

This FAQ has many guides and solutions - reading this before asking for help could save you a lot of time, as it accounts for the vast majority of issues people run into that we're aware of but can't fix on our end.

Supported versions and platforms

  • We only support Forge here. We cannot help you with Fabric, Spigot, etc...
  • We support all versions under the tiered support policy.
    • Full support for 1.20.4, 1.20.1, 1.19.4 and 1.19.2
    • Legacy support for all other versions
    • Minimal support for select versions (e.g. 1.20.3 - use 1.20.4 instead)
    • More details here.

 

Rules

  1. Piracy (aka "cracked launchers") and cheats (aka "PvP clients", "x-ray mods", etc...) are strictly forbidden here.
  2. When you need help, please always make a new thread. Do not post in old support threads.
  3. When making a new thread, you must include a link to your log on https://pastebin.com or https://paste.ee. Instructions on where to find this and how to upload it are in this forum post.

 

Exit/error codes

Here's a list of exit codes and what they mean:

  • Error code 0: Someone clicked "Quit game" and the game closed successfully
  • Error code 1 and -1: The game crashed, refer to the log and/or crash report for details
  • Error code -1073741819: A game library crashed. Update your drivers and make sure you're using the right Java version

 

Where can I find the debug.log and crash report?

Official Minecraft launcher

Spoiler
  1. Open the launcher and click the "Installations" tab at the top
  2. Hover over the Forge profile and click the folder icon
  3. The debug.log is in the logs folder
  4. Crash reports are in the crash-reports folder - the latest one will do
    1. If there's no crash reports in that folder, don't worry about it. We can still help as long as we have the debug.log.
  5. Go to https://pastebin.com or https://paste.ee and paste the debug.log there. Share the link to it when making a new support thread. Do the same for the latest crash report if available.

Note that Windows by default hides file extensions for known file types, so the file might look like "debug" instead. Do not post the files called "debug-<number>.log.gz" as they are old logs. To show file extensions, follow this guide: https://www.howtogeek.com/205086/beginner-how-to-make-windows-show-file-extensions/

CurseForge app

Spoiler

The CurseForge app disables the debug.log by default, so we need to turn it back on in the settings:

  1. Open the CurseForge app and click the cog on the bottom left
  2. Click the Minecraft tab on the right, scroll down and turn on the "Enable Forge debug.log", then click the X near the top to save
  3. You'll need to start the game again to make the log

 

Now how to get the debug.log and latest crash report:

  1. Right click the modpack you're having trouble with
  2. Click "Open Folder"
  3. The debug.log is in the logs folder
  4. Crash reports are in the crash-reports folder - the latest one will do
    1. If there's no crash reports in that folder, don't worry about it. We can still help as long as we have the debug.log.
  5. Go to https://pastebin.com or https://paste.ee and paste the debug.log there. Share the link to it when making a new support thread. Do the same for the latest crash report if available.

Note that Windows by default hides file extensions for known file types, so the file might look like "debug" instead. Do not post the files called "debug-<number>.log.gz" as they are old logs. To show file extensions, follow this guide: https://www.howtogeek.com/205086/beginner-how-to-make-windows-show-file-extensions/

MultiMC/PolyMC/Prism launcher

Spoiler
  1. Open the launcher and right click the instance you're having trouble with
  2. Click "Edit" in the context menu and go to the "Other logs" tab
  3. Change the dropdown at the top to "logs/debug.log"
  4. Click the "Upload" button and click yes.
  5. Click the blue "link to the uploaded log" to get the link. It's also copied to your clipboard.
  6. Repeat steps 3-5 for the latest crash report, if there's an option for it in the dropdown
  7. Share the links when making a new support thread.

 

Where can I find the installer log?

Spoiler

The installer log will be created in the same place as the installer and be have the same name as the installer, but ".log" on the end.

For example, if the installer is called forge-1.20.1-47.1.0-installer.jar and is in the Downloads folder, the log will be called forge-1.20.1-47.1.0-installer.jar.log and located in the Downloads folder.

Go to https://pastebin.com or https://paste.ee and paste the debug.log there. Share the link to it when making a new support thread.

Note that Windows by default hides file extensions for known file types, so the actual jar may not say ".jar" at the end with the log saying ".jar" at the end instead of ".jar.log". To avoid confusion, you can turn this off by following this guide: https://www.howtogeek.com/205086/beginner-how-to-make-windows-show-file-extensions/

 

Where can I find the launcher log?

Most of the time you don't need to share this, so only share it when asked by a support volunteer or when you're unable to find any debug.log or crash report.

Official Minecraft launcher

Spoiler
  1. Open the launcher and click the "Installations" tab at the top
  2. Hover over the Forge profile and click the folder icon
  3. There should be a file called launcher_log.txt . If you can't find it, try opening the %AppData%\.minecraft folder and looking there
  4. Go to https://pastebin.com or https://paste.ee and paste the contents of the launcher log there. Share the link to it in your support thread.

CurseForge app

Spoiler
  1. Open the CurseForge app and right click the modpack you're having trouble with
  2. Click "Open Folder"
  3. Go up two directories, then go to the "Install" folder
  4. There should be a file called launcher_log.txt . If you can't find it, try opening the %UserProfile%\curseforge\minecraft\Install folder and looking there
  5. Go to https://pastebin.com or https://paste.ee and paste the contents of the launcher log there. Share the link to it in your support thread.

 

What version of Java do I need?

| Minecraft version | Forge version | Java version |
|-------------------|---------------|--------------|
| 1.18 or newer     | 38.x or newer | 17           |
| 1.17.1            | 37.x          | 16           |
| 1.16.5 or older   | 36.x or older | 8            |

 

How do I install Java?

Windows

Spoiler

Windows 11 - WinGet method (recommended)

Spoiler
  1. Open the windows-terminal-icon.webp.4a60ea613bc12af9034d47d174e87203.webp Windows Terminal
  2. Run one of these commands, depending on the version of Java you need:
    1. Minecraft 1.18+ needs Java 17: WinGet install Microsoft.OpenJDK.17
    2. Minecraft 1.17.1 needs Java 16: WinGet install Microsoft.OpenJDK.16
    3. Minecraft 1.16.5 and older need Java 8: WinGet install Azul.Zulu.8.JDK
  3. Restart your PC once the install is complete

If WinGet is not found, open the Microsoft Store and check for updates by clicking the "Library" button on the bottom left, then "Get updates" on the top right.

 

Windows - Installer method

Spoiler
  1. Go to https://adoptium.net/en-GB/temurin/releases/
  2. Change the drop-down boxes to:
    1. Operating system: Windows
    2. Architecture: x64
    3. Package type: JDK
    4. Version: (see the "What version of Java do I need?" section above in this forum post)
  3. Download the .msi installer and run it
  4. On the custom setup section of the installer, install the "Set JAVA_HOME variable" by clicking the red X icon next to it and changing it to a drive
  5. Install and restart your PC once complete

macOS

Spoiler
  1. Go to https://adoptium.net/en-GB/temurin/releases/
  2. Change the drop-down boxes to:
    1. Operating system: macOS
    2. Architecture: x64 for Intel, aarch64 for Apple Silicon
    3. Package type: JDK
    4. Version: (see the "What version of Java do I need?" section above in this forum post)
  3. Download and install the .pkg file
  4. Include the "Set JAVA_HOME variable" feature
  5. Install and restart your Mac once complete

Linux

Spoiler

Unfortunately due to the lack of consistency between Linux distros, it is not possible to give exact instructions on how to install Java.

In most cases you need to use a package manager and search for a "JDK" package to install, then manually set your JAVA_HOME. If running a Linux server, ask your server host for help.

 

How do I install the Forge client to the official Minecraft Launcher?

Spoiler
  1. Make sure you have Java installed first and that the Minecraft Launcher is closed
  2. Download the Forge installer from the official files page
  3. Double-click the installer to run it
    1. If this doesn't work even with Java installed, use Jarfix (Windows only) or run the file from the command line instead.
  4. Choose the "Install client" option and click "Ok"
  5. Open the Minecraft Launcher and you should see the Forge installation selected

It is highly recommended you run any modded versions in separate folders using the "Game Directory" setting in the launcher.

This will store all your save files, configs, mods, etc. in whatever folder you specify (instead of just .minecraft) so they do not interfere with your vanilla installation (or other modded versions you may have installed) and vice-versa.

To set the game directory:

  1. Click the "Installations" tab at the top of the launcher
  2. Hover over the Forge install in the list
  3. Click the "..." then click "Edit"
  4. Change the game directory to a different folder, for example making one called "Forge-1.20.1" and putting it there.

 

How do I install the Forge server?

Spoiler
  1. Make sure you have Java installed first
  2. Download the Forge installer from the official files page
  3. Double-click the installer to run it
    1. If this doesn't work even with Java installed, use Jarfix (Windows only) or run the file from the command line instead.
  4. Choose the "Install server" option, choose the folder you want the server installed to and click "Ok". For example, you could put it in a new folder on the desktop called "ForgeServer-1.20.1"
  5. Open the folder you installed Forge to and double click the "run.bat" file on Windows, "run.sh" on macOS or Linux.

To change the amount of RAM allocated to the game server, edit the user_jvm_args.txt file. Note that allocating excessive amounts of RAM can cause performance issues, as can too little - so don't rush out to change it to 20GB or something silly and expect the game to run well.

 

 Where can I find the forge.jar to start my server?

Spoiler

With the move to modern Java starting from Minecraft 1.17, Forge decided to take advantage of modern Java features.

Unfortunately, this meant that you can't run a jar directly anymore because modern Java requires special command-line arguments to be specified which can change per Forge release.

Instead, you need to use the provided run.bat/run.sh files to start the server and change your JVM args (like memory allocation) in the user_jvm_args.txt file.

 

Forge immediately crashes on launch without any mods installed, how do I fix it?

Spoiler
  • First, make sure you're using the correct Java version (see the "What version of Java do I need?" section above in this forum post) for the version of Minecraft you're running
  • Next, make sure your drivers are up-to-date
    • Important! If your drivers are in a broken state, they will erroneously claim they're up-to-date when they're really not and sometimes even undo a manual update after a couple of reboots.
      • To properly fix this, follow the driver update guide in this FAQ, as it walks you through making sure it worked and how to prevent it from being undone.

If you are still having trouble after updating drivers and using the right Java version, make a new support thread for further help, including a link to your debug.log and crash report on https://pastebin.com if possible (instructions on how to do this are near the top of this forum post).


Where can I find Forge mods?

https://www.curseforge.com/minecraft/search?page=1&gameFlavorsIds=1

Make sure you download the right version of a mod for your Minecraft version.

 

My game is lagging, how can I find the culprit?

Spoiler

There's a few things you can try...

  • Make sure your drivers are up-to-date
    • Important! If your drivers are in a broken state, they will erroneously claim they're up-to-date when they're really not and sometimes even undo a manual update after a couple of reboots.
      • To properly fix this, follow the driver update guide in this FAQ, as it walks you through making sure it worked and how to prevent it from being undone.
  • If you have a laptop with dedicated graphics, make sure the game is using your dedicated graphics rather than integrated graphics
  • Don't allocate too much RAM to the game. Allocating excessive amounts of memory can hurt performance.
  • Lower your video settings in Options -> Video Settings
    • Render distance makes the biggest impact
    • Set your Simulation distance to be the same as or slightly lower than your render distance
    • The same applies to dedicated servers in the server.properties file
  • Look for laggy mods using Spark https://spark.lucko.me/download
    1. While in-game, run /sparkc profiler
      1. On dedicated servers, run "/spark profiler" instead (no 'c')
    2. Wait a couple of minutes
    3. Run /sparkc profiler --stop
      1. On dedicated servers, run "/spark profiler --stop" instead (no 'c')
    4. Open the link and click the "mods" button
    5. The list should show you some mods and the % of time they're taking up. Consider removing mods that take an abnormally long time compared to everything else
  • Update to a newer version of Forge and Minecraft if available. Vanilla MC 1.20 in particular had a major performance uplift from the new lighting engine
  • Likewise check for updates for your mods in case they've made any performance improvements or fixes
  • Close background apps while playing the game, or at least reduce the amount of open web browser tabs

If you are still having performance issues, make a new support thread with a link to your debug.log and Spark results page and we'll look into it.

 

How do I update my drivers?

Spoiler

AMD

Spoiler

1. Go to https://www.amd.com/en/support and click the "Download Windows drivers" on the top left

amd-01-download.thumb.png.3771656fe10d64b9542d7ad0557333f4.png

 

2. Run the installer downloaded in step 1 and click the install button on the bottom right

amd-02-minimalsetup-install.png.3779ab288c123c7c50ea386d15ff0bde.png

 

3. First, make sure you have selected the "Recommended" (aka stable) version. Avoid "Optional" as those are experimental beta drivers that are unfinished and may be buggy. Second, click "Allow AMD to collect information to contribute to the installer development" so that AMD can automatically send anonymous error reports on your behalf if you have problems, to help fix things for everyone. Finally, click "Next"/"Install" on the bottom right.

amd-03-graphics-install.webp.1d7e75ac6f88ff95b8e4dc795bf7b8d2.webp

 

4. You may be asked if you want any optional extra features/tools that AMD provides. This can be stuff such as Privacy View which uses eye tracking to prevent people from looking over your shoulder. By default this is all skipped (it says "Do Not Install (Skip)" next to each entry), up to you if you want it or not.

Click "Install" on the bottom right to install the graphics drivers.

amd-04-extras-install.webp.3c433219a385b09120b2568ee8ff1724.webp

 

5. If you have an AMD CPU/APU/processor such as Ryzen, you'll be asked to install drivers for that as well. Minecraft is a CPU-heavy game so installing/updating these is a good idea for best performance. Click "Install" on the bottom right to install the CPU and chipset drivers.

amd-05-chipset-install.thumb.webp.d2d1524d6cdc0827a555d4e16fa09fed.webp

 

6. Wait for everything to download and install. Your screen may go black for a bit or flash while installing - this is normal. Avoid gaming or watching videos while it installs.

amd-06-installing.thumb.jpg.cc4afbb191e331118b74011e086ce870.jpg

7. If everything worked, you should see this screen. Click "Restart" on the bottom right. If it failed, go to step 9.

amd-07-restart.webp.222316932182e7f9956d5ef3da372345.webp

 

8. Open AMD Software: Adrenalin Edition, click the cog on the top right, change the "Preferred Software Version" to "Recommended Only" to avoid getting beta drivers and turn on the two options below that to get automatic updates.

amd-08-updates.thumb.webp.ddf888f5e7d7bf0e1f675e7ccd6c39b1.webp

 

This page also tell you what version you're using. In this example, 23.8.2 means the second driver release in August (8th month) 2023. If it says you have a version from July 2022 to October 2022 inclusive (22.7.1 - 22.10.1), the driver update failed and you are still using old beta drivers, so you'll need to follow step 9 then repeat steps 1 to 8 afterwards. If all's good, then congratulations, you've successfully updated your drivers!

9. If the driver update fails, carefully follow all the steps for the AMD Cleanup Utility found here: https://www.amd.com/en/support/kb/faq/gpu-601 . Once you've done all the steps in that guide to fully remove the old broken drivers, restart your computer one more time then repeat steps 1-8 here to install the new drivers again.

 

Nvidia

Spoiler

No detailed instructions yet as I need someone with Nvidia graphics to send me screenshots of the whole process.

https://www.nvidia.com/Download/index.aspx?lang=en-gb

 

Intel

Spoiler

No detailed instructions yet as I need someone with Intel graphics to send me screenshots of the whole process.

https://www.intel.com/content/www/us/en/download-center/home.html

 

 

Edited by Paint_Ninja
Reference tiered support policy
  • Like 6
Link to comment
Share on other sites

  • Paint_Ninja changed the title to Rules and Frequently Asked Questions (FAQ)
  • Paint_Ninja featured this topic
Guest
This topic is now closed to further replies.


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • KILAT77 : Waspada Situs Scam dengan Withdraw Yang Tidak Dibayar Di era digital saat ini, banyak orang yang mencari keberuntungan melalui situs perjudian online. Namun, dibalik gemerlap janji-janji manis kemenangan, ada bahaya yang mengintai. Salah satu situs yang patut diwaspadai adalah KILAT77. Situs ini mendapat reputasi buruk karena banyak laporan dari pengguna yang mengklaim bahwa mereka tidak bisa menarik dana kemenangan mereka. Dalam artikel ini, kita akan membahas mengapa ROTER88 dianggap sebagai situs scam dan bagaimana Anda bisa melindungi diri dari penipuan serupa. Pengalaman Pengguna: Penarikan Tidak Dibayar Beberapa pengguna telah melaporkan pengalaman buruk mereka dengan KILAT77. Mereka mengaku bahwa setelah memenangkan sejumlah uang dan mencoba menariknya, proses penarikan mereka ditolak tanpa alasan yang jelas. Bahkan, beberapa pengguna melaporkan bahwa akun mereka tiba-tiba diblokir setelah mencoba melakukan penarikan, sehingga mereka kehilangan akses ke dana mereka sama sekali.
    • It is a dupe mod issue Remove Rubidium - you are already using Embeddium which is a fork of Rubidium
    • I made a block entity in forge 1.20.1, I want to prevent hopper from taking input slot item, i tried to override the extractItem method, it prevented hopper from taking input slot item, but the player also unable to take/change the item in input slot unless the slot is empty. public class FluidSeparatorBlockEntity extends BlockEntity implements MenuProvider { private static final int INPUT_SLOT = 0; private final CustomItemHandler itemHandler = new CustomItemHandler(3){ @Override protected void onContentsChanged(int slot) { setChanged(); } @Override public boolean isItemValid(int slot, @NotNull ItemStack stack) { return slot == INPUT_SLOT; } @Override public @NotNull ItemStack extractItem(int slot, int amount, boolean simulate) { if (slot == INPUT_SLOT) { return ItemStack.EMPTY; } return super.extractItem(slot, amount, simulate); } }; private LazyOptional<IItemHandler> lazyItemHandler = LazyOptional.empty(); protected final ContainerData data; private int progress = 0; private int maxProgress = 78; public FluidSeparatorBlockEntity(BlockPos pPos, BlockState pBlockState) { super(ModBlockEntities.FLUID_SEPARATOR_BE.get(), pPos, pBlockState); this.data = new ContainerData() { @Override public int get(int pIndex) { return switch (pIndex) { case 0 -> FluidSeparatorBlockEntity.this.progress; case 1, 2 -> FluidSeparatorBlockEntity.this.maxProgress; default -> 0; }; } @Override public void set(int pIndex, int pValue) { switch (pIndex) { case 0 -> FluidSeparatorBlockEntity.this.progress = pValue; case 1, 2 -> FluidSeparatorBlockEntity.this.maxProgress = pValue; } } @Override public int getCount() { return 3; } }; } @Override public @NotNull <T> LazyOptional<T> getCapability(@NotNull Capability<T> cap, @Nullable Direction side) { if(cap == ForgeCapabilities.ITEM_HANDLER) { return lazyItemHandler.cast(); } return super.getCapability(cap, side); } @Override public void onLoad() { super.onLoad(); lazyItemHandler = LazyOptional.of(() -> itemHandler); } @Override public void invalidateCaps() { super.invalidateCaps(); lazyItemHandler.invalidate(); } public void drops() { SimpleContainer inventory = new SimpleContainer(itemHandler.getSlots()); for(int i = 0; i < itemHandler.getSlots(); i++) { inventory.setItem(i, itemHandler.getStackInSlot(i)); } Containers.dropContents(this.level, this.worldPosition, inventory); } @Override public Component getDisplayName() { return Component.translatable("block.chemmaster.fluid_separator"); } @Nullable @Override public AbstractContainerMenu createMenu(int pContainerId, Inventory pPlayerInventory, Player pPlayer) { return new FluidSeparatorMenu(pContainerId, pPlayerInventory, this, this.data); } @Override protected void saveAdditional(CompoundTag pTag) { pTag.put("inventory", itemHandler.serializeNBT()); pTag.putInt("fluid_separator.progress", progress); super.saveAdditional(pTag); } @Override public void load(CompoundTag pTag) { super.load(pTag); itemHandler.deserializeNBT(pTag.getCompound("inventory")); progress = pTag.getInt("fluid_separator.progress"); } public void tick(Level pLevel, BlockPos pPos, BlockState pState) { ItemStack inputStack = this.itemHandler.getStackInSlot(INPUT_SLOT); if (inputStack.getCount() < 2) { resetProgress(); return; } if(hasRecipe()) { increaseCraftingProgress(); setChanged(pLevel, pPos, pState); if(hasProgressFinished()) { craftItem(); resetProgress(); } } else { resetProgress(); } } private void resetProgress() { progress = 0; } private void craftItem() { Optional<FluidSeparatingRecipe> recipe = getCurrentRecipe(); if (recipe.isPresent()) { List<ItemStack> results = recipe.get().getOutputs(); ItemStack inputStack = this.itemHandler.getStackInSlot(INPUT_SLOT); if (inputStack.getCount() < 2) { // If there are not enough items, do not proceed with crafting return; } // Extract the input item from the input slot this.itemHandler.internalExtractItem(INPUT_SLOT, 2, false); // Loop through each result item and find suitable output slots for (ItemStack result : results) { int outputSlot = findSuitableOutputSlot(result); if (outputSlot != -1) { this.itemHandler.setStackInSlot(outputSlot, new ItemStack(result.getItem(), this.itemHandler.getStackInSlot(outputSlot).getCount() + result.getCount())); } else { // Handle the case where no suitable output slot is found // This can be logging an error, throwing an exception, or any other handling logic System.err.println("No suitable output slot found for item: " + result); } } } } private int findSuitableOutputSlot(ItemStack result) { // Implement logic to find a suitable output slot for the given result // Return the slot index or -1 if no suitable slot is found for (int i = 0; i < this.itemHandler.getSlots(); i++) { // Ensure we do not place the output item in the input slot if (i == INPUT_SLOT) { continue; } ItemStack stackInSlot = this.itemHandler.getStackInSlot(i); if (stackInSlot.isEmpty() || (stackInSlot.getItem() == result.getItem() && stackInSlot.getCount() + result.getCount() <= stackInSlot.getMaxStackSize())) { return i; } } return -1; } private boolean hasRecipe() { Optional<FluidSeparatingRecipe> recipe = getCurrentRecipe(); if (recipe.isEmpty()) { return false; } List<ItemStack> results = recipe.get().getOutputs(); for (ItemStack result : results) { if (!canInsertAmountIntoOutputSlot(result) || !canInsertItemIntoOutputSlot(result.getItem())) { return false; } } return true; } private Optional<FluidSeparatingRecipe> getCurrentRecipe(){ SimpleContainer inventory = new SimpleContainer(this.itemHandler.getSlots()); for (int i = 0; i < itemHandler.getSlots(); i++) { inventory.setItem(i, this.itemHandler.getStackInSlot(i)); } return this.level.getRecipeManager().getRecipeFor(FluidSeparatingRecipe.Type.INSTANCE, inventory, level); } private boolean canInsertAmountIntoOutputSlot(ItemStack result) { for (int i = 1; i < this.itemHandler.getSlots(); i++) { ItemStack stackInSlot = this.itemHandler.getStackInSlot(i); if (stackInSlot.isEmpty() || (stackInSlot.getItem() == result.getItem() && stackInSlot.getCount() + result.getCount() <= stackInSlot.getMaxStackSize())) { return true; } } return false; } private boolean canInsertItemIntoOutputSlot(Item item) { for (int i = 1; i < this.itemHandler.getSlots(); i++) { ItemStack stackInSlot = this.itemHandler.getStackInSlot(i); if (stackInSlot.isEmpty() || stackInSlot.getItem() == item) { return true; } } return false; } private boolean hasProgressFinished() { return progress >= maxProgress; } private void increaseCraftingProgress() { progress++; } }  
    • No dice. Unfortunately this fix didn't work, thank you though.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.