// crash guide
Minecraft server crash: wrong mod loader or Minecraft version
A jar in your mods folder was built for a different loader than your server runs, like a Fabric mod on Forge, or for a different Minecraft version. Depending on the loader, it skips the jar, sometimes without a word, or refuses to start. The fix is to swap in the build that matches your server.
What the error looks like
Start with logs/latest.log. When Forge stops during mod loading, it also saves a crash report in crash-reports/ with a file name ending in -fml.txt. Below, examplemod stands in for the real mod ID or file name. Exact wording shifts a little between loader versions.
NeoForge: a mod for another loader
NeoForge for 1.21 and newer logs a warning for each jar it can't use, then keeps going:
Skipping jar. File mods/examplemod-fabric-2.0.0.jar is a Fabric mod and cannot be loaded
Skipping jar. File mods/examplemod-2.0.0.jar is a Quilt mod and cannot be loaded
Skipping jar. File mods/examplemod-forge-2.0.0.jar is for Minecraft Forge or an older version of NeoForge, and cannot be loaded
Forge: a mod for another loader
Forge 1.17 and newer is quieter. In most versions it skips a jar that has no META-INF/mods.toml and writes nothing about it to latest.log. That covers Fabric and Quilt mods, NeoForge mods for 1.20.5 and newer, and mods for Forge 1.12.2 and older. You only notice when the mod's blocks or commands are missing. Some Forge versions stop with an error instead:
Invalid mod file found /path/to/server/mods/examplemod-fabric-2.0.0.jar
File "examplemod-2.0.0.jar" is not a Forge mod and cannot be loaded. Look for a Forge version of this mod or consider alternative mods.
Forge 1.14 to 1.16.5 list skipped jars as warnings, but only after mods finish loading:
Mods loaded with 2 warnings
File examplemod-fabric-2.0.0.jar is a Fabric mod and cannot be loaded
File examplemod-1.12.2.jar is for an older version of Forge and cannot be loaded
A skipped jar doesn't crash the server by itself. If another mod needs the skipped one, the server stops with a missing dependency error naming it.
Forge and NeoForge: a mod for another Minecraft version
An older mod on a newer server, here a 1.19.2 mod on 1.20.1, fails the version check:
Missing or unsupported mandatory dependencies:
Mod ID: 'minecraft', Requested by: 'examplemod', Expected range: '[1.19.2,1.20)', Actual version: '1.20.1'
Forge's crash report says it in plainer words:
Description: Mod loading error has occurred
...
Failure message: Mod examplemod requires minecraft 1.19.2 or above, and below 1.20
Currently, minecraft is 1.20.1
A newer mod on an older Forge usually fails one step earlier. The number after javafml: is the oldest Forge major version the mod accepts. The line under it, starting We have found, shows the version you have.
Mod File examplemod-1.21.1.jar needs language provider javafml:52 or above to load
Fabric and Quilt
Incompatible mods found!
net.fabricmc.loader.impl.FormattedException: Some of your mods are incompatible with the game or each other!
A potential solution has been determined, this may resolve your problem:
- Replace mod 'Example Mod' (examplemod) 2.0.0+1.21.1 with any version that is compatible with:
- minecraft 1.20.1
More details:
- Mod 'Example Mod' (examplemod) 2.0.0+1.21.1 requires version 1.21.1 of 'Minecraft' (minecraft), but only the wrong version is present: 1.20.1!
Fabric Loader 0.12 and 0.13 print a similar report that starts with Mod resolution encountered an incompatible mod set! Quilt words it differently, but it also names the mod and the Minecraft version it needs.
Fabric doesn't stop for Forge or NeoForge jars. It skips any jar without a fabric.mod.json. Fabric Loader 0.16 and newer at least lists them in a warning:
Found 1 non-fabric mod:
- examplemod-forge-2.0.0.jar
Forge 1.12.2 and older
The mod examplemod does not wish to run in Minecraft version Minecraft 1.12.2. You will have to remove it to play.
Wrong Minecraft version for examplemod
What it means
Each loader looks for its own metadata file inside the jar:
| Loader | File inside the jar |
|---|---|
| Forge | META-INF/mods.toml (Forge 1.13 and newer) |
| NeoForge | META-INF/neoforge.mods.toml on 1.20.5 and newer. Older NeoForge used META-INF/mods.toml. |
| Fabric | fabric.mod.json |
| Quilt | quilt.mod.json, and it reads fabric.mod.json too |
No file, no load. If the file is there but its Minecraft version range doesn't include your server's version, the loader refuses it. Mods call Minecraft's code directly, and that code changes between versions, even small steps like 1.20.1 to 1.20.4.
The usual causes:
- You grabbed the newest file on CurseForge or Modrinth, which is often for a newer Minecraft version than yours.
- You took the Fabric file for a Forge server, or the other way round. Many mods publish a file per loader with nearly the same name.
- You copied a mods folder from a client, or from another version of the pack.
- You changed the server's Minecraft version but not the mods.
- You moved between Forge and NeoForge on 1.20.2 or newer.
Some mods declare a loose version range, so the loader lets them through. Then the crash comes later as java.lang.NoSuchMethodError, NoSuchFieldError or NoClassDefFoundError naming a net.minecraft class. On Forge or NeoForge, if that class path starts with net/minecraft/client, it's a client-only mod instead.
Common in these packs: packs that come in builds for more than one loader, where it's easy to download a mod from the wrong list: Better MC on Fabric (BMC3) and NeoForge (BMC5), and the official Cobblemon pack on Fabric and NeoForge.
How to fix it
- Write down every file and mod ID in the error. Fabric and Forge list all the problems at once, so fix them together instead of one restart at a time. On Forge, also think about which mods you added last, since a skipped jar may not be named at all.
- Confirm exactly what your server runs. On Fabric, the top of
latest.logsays something likeLoading Minecraft 1.20.1 with Fabric Loader 0.16.10. On Forge 1.17 and newer, look inlibraries/net/minecraftforge/forge/: the folder name, like1.20.1-47.4.0, starts with the Minecraft version. On NeoForge, look inlibraries/net/neoforged/neoforge/. A version like21.1.xmeans Minecraft 1.21.1. From Minecraft 26.1 on, the NeoForge version starts with the Minecraft version itself (26.1.0.x). Every crash report also has aMinecraft Version:line. - Take a backup. On DSN that's an on-demand backup from the panel, before you touch any files.
- Replace the jar. Delete the mismatched file from
mods/in the panel's file manager or over SFTP. On CurseForge or Modrinth, open the mod's full file list and filter by your exact Minecraft version and loader. Upload that file tomods/, not a subfolder. If there's no build for your version and loader, remove the mod. Renaming the jar won't help, and editing its version range just moves the crash later. - Not sure which loader a jar is for? Open it with any zip tool and look for the files in the table above. In
mods.tomlorneoforge.mods.toml, find the dependency withmodId="minecraft"and read itsversionRange. Infabric.mod.json, look for"minecraft"under"depends". A few jars support more than one loader and contain more than one of these files. - Lots of mismatches? Start again from the server pack. For a CurseForge or Modrinth pack, reinstall the pack's server files at the same pack version your players use. On a Pelican panel that's the one-click modpack installer. If the pack has no server files, build them from the pack itself. Or change the server to match your mods by running the installer again with the right loader and Minecraft version.
- Changing Minecraft version? Check Java and the world. 26.1 and newer need Java 25, 1.20.5 to 1.21.11 need Java 21, 1.18 to 1.20.4 need Java 17, 1.17 needs Java 16, and 1.16.5 and older need Java 8. On a Pelican panel, pick it from the Docker Image dropdown on the Startup tab. The wrong Java version guide has the details, and the Java version chart lists the Java for each modpack. Never open a world in an older Minecraft version than it was last played on. Minecraft doesn't support downgrading worlds, and you can lose chunks.
Forge and NeoForge notes
Forge's major version tells you its Minecraft version: 36 is 1.16.5, 40 is 1.18.2, 43 is 1.19.2, 47 is 1.20.1 and 52 is 1.21.1. So javafml:52 on a 47.x server means the mod wants 1.21.1 or newer, and your server is 1.20.1.
NeoForge for 1.20.1 runs most Forge 1.20.1 mods. From 1.20.2 on, each needs its own builds. A Forge mod on NeoForge 1.20.2 to 1.20.4 usually stops with a needs language provider javafml line, or with Mod examplemod requires forge and Currently, forge is not installed. On NeoForge 1.20.5 and newer you get the "is for Minecraft Forge" warning above. A NeoForge mod on Forge shows requires neoforge or the "is not a Forge mod" error, or is skipped without a word. A requires forge or requires neoforge line looks like a missing dependency, but you can't install one loader inside the other. Get the right build of the mod.
Fabric and Quilt notes
The "potential solution" block in the Fabric error is usually right, so start there. Fabric API is built per Minecraft version too, and its file names end with the version, like +1.20.1. Most Fabric mods need it, and a Fabric API for the wrong version causes this same error.
If the line says the mod requires a version of 'Fabric Loader' (fabricloader) rather than 'Minecraft' (minecraft), the mod is fine. Your loader is too old. Update Fabric Loader and keep the same Minecraft version.
Quilt runs most Fabric mods. Fabric can't run Quilt-only mods, and skips them the same way it skips Forge jars.
How to check it's fixed
- Restart, then search
logs/latest.logforSkipping jar,cannot be loaded,Invalid mod file,needs language provider,non-fabric,wrong version is presentandExpected range. None of them should name your mods. - On Fabric, the mod should appear in the
Loading N mods:list near the top of the log. On Forge 1.18 and newer, typeforge modsin the server console and check the mod is in the list, since Forge may skip a jar without saying so. - The server is up when you see
Done (…s)! For help, type "help". - A new error naming a different mod is normal. The replacement build may need its own library. Fix that next.
- Join from a client with the same mods and versions as the server, apart from server-only mods.
minecraft, forge or neoforge, this guide is the one you need.Related crash guides
Modded hosting is relaunching.
DSN hosts modded Minecraft only, with one-click installers for Forge, NeoForge, Fabric and CurseForge or Modrinth modpacks, a file manager and SFTP for swapping jars, and on-demand backups before you do. We're moving DSN Servers to new hardware, and ordering is closed until then. Join the launch list and we'll email you when servers open.