Cardinal Review

Minecraft server errors and how to fix them.

Paper, Spigot, Folia, Purpur, Velocity, BungeeCord, Forge, NeoForge and Fabric: what each console message means and what to change. 43 errors, each with an example of the console line, the cause and the fix.

All 43 errors on this page
  1. Minecraft EULA has not been accepted
  2. Server can't keep up (ms ms behind)
  3. Server stopped responding (watchdog)
  4. Server crashed in the tick loop
  5. Crash report written
  6. Plugin failed to load: file
  7. Error while enabling plugin plugin
  8. Plugin plugin disabled itself
  9. Plugin is missing a dependency: deps
  10. Plugin targets an unsupported API version
  11. Plugin plugin does not support this server version
  12. Same plugin installed twice: plugin
  13. Plugin plugin threw an error handling an event
  14. Broken config file: a plugin config
  15. Errors trace back to a plugin
  16. Plugin plugin task crashed
  17. Command command crashed
  18. Console command ran without a world
  19. Plugin uses outdated or unsafe server APIs
  20. Server software is outdated
  21. Player connected with the wrong Minecraft version
  22. Connections dropped while logging in (unreadable login packet)
  23. Player rejected: 'Failed to verify username'
  24. Mojang login servers could not be reached
  25. Players time out while logging in
  26. World was saved by a newer Minecraft version
  27. Data packs failed to load
  28. Entities share the same UUID
  29. A JSON file could not be read
  30. Server icon could not be loaded
  31. Geyser cannot log Bedrock players in to the Java server
  32. Player movement rejected ('moved too quickly')
  33. Server runs in offline (insecure) mode
  34. Proxy forwarding is misconfigured
  35. World chunk could not be read or saved
  36. World level.dat is damaged
  37. Crash while ticking an entity or block entity
  38. World is locked by another process
  39. Console command not recognised
  40. Mods are incompatible or missing dependencies
  41. A mod's Mixin failed to apply
  42. Client-only mod installed on the server
  43. Mod needs a newer Forge or NeoForge

Minecraft EULA has not been accepted

critical minecraft

In the console

You need to agree to the EULA in order to run the server
Failed to load eula.txt

Minecraft servers refuse to start until eula.txt contains eula=true, which confirms you accept Mojang's End User License Agreement.

How to fix it

  1. Read the EULA at https://aka.ms/MinecraftEULA.
  2. Open eula.txt in the File Manager and change eula=false to eula=true (create the file if it does not exist).
  3. Start the server again.

Server can't keep up (ms ms behind)

warning minecraft

In the console

Can't keep up! Is the server overloaded? Running msms or ticks ticks behind
Can't keep up! Did the system time change, or is the server overloaded? Running msms behind

A tick should take 50 ms (20 TPS). The server fell several ticks behind, so players see rubber-banding, delayed blocks and mobs freezing. Occasional messages during world generation or startup are normal; repeated ones mean the server is overloaded.

How to fix it

  1. Check the Performance tab: if CPU sits at the limit, the server needs more CPU or less work per tick.
  2. Pre-generate the world (Chunky) so exploring players do not force chunk generation.
  3. Lower simulation-distance and view-distance, cap entities (mob farms, item drops) and limit redstone clocks.
  4. Run a profiler (spark: /spark profiler) for a few minutes during lag to see exactly which plugin, mod or entity is slow.

Server stopped responding (watchdog)

critical minecraft

In the console

The server has stopped responding!
[Watchdog Thread/ERROR]
A single server tick took seconds seconds
Server Watchdog/FATAL

The main server thread was stuck on a single tick for a long time, so the watchdog printed a thread dump (and may have killed the server). Something blocked the tick: a slow plugin task, a huge redstone or entity build, a deadlock or very slow disk.

How to fix it

  1. Read the thread dump printed after this line: the first plugin or mod package in the 'Server thread' stack is what was running.
  2. Update or remove that plugin or mod, and check for plugins doing database or web requests on the main thread.
  3. Check the Performance tab for CPU at the limit or memory near full around the freeze.
  4. Paper/Spigot: max-tick-time in spigot.yml or timeout-time controls when the watchdog kills the server; raise it only as a last resort.

Server crashed in the tick loop

critical minecraft

In the console

Exception in server tick loop
Encountered an unexpected exception
Failed to start the minecraft server

An unhandled error escaped the main game loop and the server shut down. Minecraft writes a crash report that names the cause.

How to fix it

  1. Open the newest file in crash-reports/ (Cardinal Review can scan it from the Log analysis tab) and read the 'Description' and the first lines of the stack trace.
  2. If it names a mod or plugin, update or remove it.
  3. If it names a block or entity at coordinates, that object is corrupt; remove it with a world editor or restore a backup.

Crash report written

critical minecraft

In the console

This crash report has been saved to: path
Crash report saved to path

Minecraft saved a crash report to crash-reports/. It contains the exact error and the mods or plugins involved.

How to fix it

  1. Scan the newest crash report from the Log analysis tab, or open it in the File Manager.
  2. Read 'Description:' and the first stack trace lines; then follow the advice for the matching finding.

Plugin failed to load: file

error minecraft bukkit

In the console

Could not load 'file'
Could not load plugin 'file'
Error loading plugin file

The server skipped a plugin. The lines that follow say why: it is built for another server version, a dependency is missing, the jar is corrupt, or it is not a Bukkit/Paper plugin at all (a Forge/Fabric mod or a Velocity plugin in the wrong folder).

How to fix it

  1. Read the error right after this line; Cardinal Review lists it separately when it recognises it.
  2. Download the build of the plugin made for your server version and software (Paper, Spigot, Purpur, Folia).
  3. Delete duplicate or corrupt jars (0 KB or half-downloaded files).

Error while enabling plugin plugin

error minecraft bukkit

In the console

Error occurred while enabling plugin
Error occurred while disabling plugin
Error occurred (in the plugin loader) while enabling plugin
Plugin plugin v … has failed to register events for

The plugin loaded but crashed during its setup, so it is disabled. Usual causes: broken config, a database it cannot reach, or a version mismatch.

How to fix it

  1. Read the stack trace under this line for the actual error.
  2. Check the plugin's config.yml for syntax errors (tabs instead of spaces, unclosed quotes); a YAML validator helps.
  3. If it connects to MySQL/Redis, verify the credentials and that the database is reachable.
  4. Update the plugin to the version made for your server.

Plugin plugin disabled itself

error minecraft bukkit

In the console

[plugin] … disabling plugin

A plugin switched itself off right after it started, so its commands, listeners and features are not running. Plugins do this when a startup check fails: an unsupported Minecraft or server version, a missing dependency, a broken or missing config, a database it cannot reach, or an error while enabling. The plugin prints the reason in the lines just before it disables; Cardinal Review lists that reason as its own finding when it recognises it.

How to fix it

  1. Read the lines just before 'Disabling the plugin' in the console: the plugin says there why it stopped.
  2. If it names the Minecraft or server version, install the build of the plugin made for your version, or remove it until one exists.
  3. If it names a config file, a dependency or a database, fix that, then restart the server (do not use /reload).
  4. If no reason is printed, update the plugin and send its author the full startup log.

Plugin is missing a dependency: deps

error minecraft bukkit proxy

In the console

Unknown dependency plugins: [deps]
can't load plugin plugin due to missing dependency deps
missing dependency … [deps]
missing dependency: deps

A plugin needs another plugin (named in the error) that is not installed, is the wrong version or failed to load itself, so the plugin that needs it is disabled or only partly works.

How to fix it

  1. Install the plugins named in the error from the official download page, in the build made for your server version.
  2. If it is already installed, look earlier in the console for why it failed to load: that error is the real cause.
  3. Restart the server (do not use /reload).

Plugin targets an unsupported API version

error minecraft bukkit

In the console

Unsupported API version version
InvalidPluginException … api-version

The plugin declares it needs Minecraft API version which is newer than this server. It was made for a newer Minecraft version.

How to fix it

  1. Update the server to the Minecraft version the plugin requires, or
  2. Download an older build of the plugin that supports your server version.

Plugin plugin does not support this server version

warning minecraft bukkit proxy

In the console

version of plugin does not support your server version
[plugin] … does not support your server version
does not support your server version
unsupported server version

A plugin checked which Minecraft and server version it runs on and reported that it does not support it. It may still load, but anything that relies on the server's internals (NMS, packets, inventories, entities, world data) can silently break or throw errors later. This usually happens after the server was updated and the plugin was not, or when an old build of the plugin is used on a newer server.

How to fix it

  1. Find the plugin on its download page (SpigotMC, Hangar, Modrinth or GitHub) and install the build made for your server's Minecraft version.
  2. Compare your server version (run version in the console) with the versions the plugin supports (listed in the log line or on its download page).
  3. If no build supports your version yet, remove the plugin or wait for an update. Running it anyway risks errors and broken data.
  4. Restart the server after replacing the jar (do not use /reload).

Same plugin installed twice: plugin

warning minecraft bukkit

In the console

Ambiguous plugin name 'plugin'

Two jars in plugins/ declare the same plugin name, usually an old and a new version. The server loads only one of them, which may be the wrong one.

How to fix it

  1. Open plugins/ and delete the older jar of the plugin.
  2. Restart the server.

Plugin plugin threw an error handling an event

error minecraft bukkit

In the console

Could not pass event event to plugin

A plugin crashed while reacting to a game event. The action may still have happened, but the plugin's part of it did not.

How to fix it

  1. Update the plugin.
  2. Check its config for values that do not exist on your server (worlds, materials, permissions).
  3. If it keeps happening on the latest version, report the stack trace to the plugin author.

Broken config file: a plugin config

error minecraft bukkit

In the console

Cannot load file
InvalidConfigurationException: reason
in 'reader', line line, column column

A config file is not valid YAML, so the plugin ignores it and runs on its defaults, or does not start. The YAML reader stopped near line (see the lines below): reason

How to fix it

  1. Open the file in the file manager and go to line named in the error; the mistake is often on the line before it.
  2. Look for the usual YAML mistakes: tabs instead of spaces, a missing space after a colon, uneven indentation, and text with : # & * or ' that is not wrapped in quotes.
  3. Paste the file into a YAML validator to see the exact spot.
  4. If you cannot find it, rename the file and restart: the plugin writes a fresh default, and your old settings stay in the renamed copy.

Errors trace back to a plugin

warning minecraft bukkit

In the console

at com.example.listener.JoinListener.onJoin(JoinListener.java:42) ~[ExamplePlugin-1.4.jar:?]

Stack traces in the log run through code from a plugin. When an error does not name its plugin, the jar in its stack trace is usually the one that caused it.

How to fix it

  1. Update the plugin to the version made for your server.
  2. If the error stays, send the full error with its stack trace to the plugin's author.
  3. To confirm it is the cause, disable it for one restart and see whether the error goes away.

Plugin plugin task crashed

error minecraft bukkit

In the console

Plugin plugin generated an exception while executing task

A scheduled task (timers, autosaves, async jobs) of the plugin threw an error. Repeating tasks may spam this every tick and cost performance.

How to fix it

  1. Update the plugin.
  2. Look at the stack trace for what the task was doing (database, files, web request) and check that resource.
  3. Disable the plugin temporarily if it floods the console.

Command command crashed

error minecraft bukkit

In the console

Command exception: command
Unhandled exception executing command 'command' in plugin plugin

Running a command threw an error, so it did nothing or only part of it. The stack trace under this line shows where it failed: when it runs through a plugin's jar, that plugin (named in the trace) owns the command; when it only runs through the server jar (paper, spigot, purpur), it is a bug in the server software or the command ran at a moment the server could not handle.

How to fix it

  1. Read the stack trace under the error: the first line that names a plugin jar (not paper, spigot or purpur) is the plugin that owns the command.
  2. Update that plugin, check its config, then run the command again.
  3. If the trace only names the server jar, update the server to the newest build for your Minecraft version; if it still happens, report it with the full trace.

Console command ran without a world

warning minecraft bukkit

In the console

CommandSourceStack.getLevel() is null

A command typed in the console crashed because its command source had no world: Minecraft reads the world's game rules before it runs a command, and the console's source returned none. The stack trace runs only through the server jar, so this is the server software, not a plugin. It happens when a command is sent before the worlds have finished loading, and on early builds for a new Minecraft version where the console has no world set. The command did not run; the server keeps going.

How to fix it

  1. Wait for 'Done (...)! For help, type "help"' before typing commands in the console.
  2. Update the server jar to the newest build for your Minecraft version: early builds for a new version often have bugs like this.
  3. Meanwhile run the command in game as an operator; /plugins works there.
  4. If it still happens on the newest build after a full startup, report it to the server software's issue tracker with this stack trace.

Plugin uses outdated or unsafe server APIs

info minecraft bukkit

In the console

Nag author(s):
Loaded class … from … which is not a depend or softdepend of this plugin
Initializing Legacy Material Support

The server is warning that a plugin does something discouraged: uses deprecated APIs, loads another plugin's classes without declaring it, or has no api-version (which triggers slow legacy material support).

How to fix it

  1. Nothing breaks immediately, but these plugins are likely outdated; update them when you can.
  2. 'Legacy Material Support' adds startup time; it goes away once every plugin declares an api-version.

Server software is outdated

info minecraft

In the console

*** Error, this build is outdated
You are behind version behind
This server is running … (Implementing API version … ) and is outdated
Outdated server! I'm still on version

A newer build of the server software exists. Builds often fix crashes, exploits and performance problems.

How to fix it

  1. Back up the server, then update the server jar (many eggs re-download the latest build on reinstall or via a version variable).
  2. Read the changelog before major version jumps; worlds cannot be downgraded after an upgrade.

Player connected with the wrong Minecraft version

info minecraft

In the console

Outdated client! Please use version
lost connection: Outdated client

A player's game version does not match the server (version).

How to fix it

  1. Tell players to switch to the server's version in the launcher.
  2. To accept several versions on one server, install ViaVersion (and ViaBackwards for older clients).

Connections dropped while logging in (unreadable login packet)

warning minecraft proxy

In the console

/client: … lost connection: Internal Exception: io.netty.handler.codec.DecoderException: … login/serverbound
Packet login/serverbound/minecraft:packet (…) was larger than I expected
(ServerboundHelloPacket) was larger than I expected
Failed to decode packet 'minecraft:hello'

Something connected to the server's port and sent a login packet the server could not read, so the connection was dropped before any player joined. Repeats are shown as one finding, with each address listed once. The usual causes are a client, proxy or version-translation plugin (ViaVersion, Geyser) speaking a different protocol version than the server, or a bot or port scanner probing the server with malformed packets.

How to fix it

  1. Look at the client addresses. One unknown address that keeps coming back, with no player complaints, is almost always a bot or scanner: it is harmless, and you can block it in your firewall or your host's DDoS panel if it spams.
  2. If real players cannot join and see this, update ViaVersion (and ViaBackwards or ViaRewind for older clients) to the latest build for your server version, and keep Geyser and Floodgate up to date.
  3. Behind a proxy (Velocity, BungeeCord, Waterfall): update the proxy and make sure its forwarding mode matches the backend (Velocity modern forwarding with Paper's velocity settings, or ip_forward with bungeecord: true in spigot.yml).
  4. If the address belongs to your proxy or a protection service such as TCPShield, check that PROXY protocol is turned on at both ends or at neither (proxy-protocol in Paper's config and in the proxy).
  5. When the server sits behind a proxy, keep its own port closed to the internet so only the proxy can reach it.

Player rejected: 'Failed to verify username'

warning minecraft proxy

In the console

Username 'player' tried to join with an invalid session
lost connection: Failed to verify username

The server asked Mojang to confirm a player's login (a player) and Mojang said no, so the player saw 'Failed to verify username!'. The usual causes are a stale launcher session, a non-genuine (cracked) client, a proxy in front of a backend that still checks accounts itself, or prevent-proxy-connections rejecting players whose IP changes (VPN, mobile data).

How to fix it

  1. If only one player is affected, they should fully close the game and launcher, sign in again and reconnect.
  2. Behind Velocity or BungeeCord: set online-mode=false on the backend servers (the proxy checks accounts), enable forwarding, and keep the backend ports closed to the internet.
  3. If players on VPNs or mobile data are rejected at random, set prevent-proxy-connections=false in server.properties and restart.
  4. Do not turn online-mode off on a server players reach directly: anyone could then join as any name, including operators.

Mojang login servers could not be reached

warning minecraft

In the console

Couldn't verify username because servers are unavailable
AuthenticationUnavailableException

The server could not reach Mojang's session servers to check a player's login, so players saw 'Authentication servers are down'. Either Mojang is having an outage, or the server's own network or DNS cannot reach sessionserver.mojang.com.

How to fix it

  1. Check Mojang's service status; if it is an outage, wait for it to recover.
  2. If it keeps happening while Mojang is up, the node's DNS or firewall is blocking outbound HTTPS: test from the node with curl https://sessionserver.mojang.com.
  3. On hosts with broken IPv6, add -Djava.net.preferIPv4Stack=true to the startup flags.

Players time out while logging in

info minecraft

In the console

lost connection: Took too long to log in
Disconnecting player … : Took too long to log in

A player took more than 30 seconds to finish logging in and was disconnected. Common causes: the server was lagging at that moment, a login plugin (auth, anti-bot, database lookup) was slow, the player's connection is poor, or a large resource pack or modpack handshake held things up.

How to fix it

  1. Check whether it lines up with lag spikes or 'Can't keep up' findings.
  2. Look for slow database or auth plugins that run on join and check their own errors.
  3. If only one player is affected, it is usually their connection.

World was saved by a newer Minecraft version

critical minecraft

In the console

Server attempted to load chunk saved with newer version of minecraft! saved > current
Server attempted to load chunk saved with newer version of minecraft

The world was opened by a newer Minecraft version (data version newer) than this server runs (older). Minecraft cannot downgrade worlds, so these chunks are refused to keep them from being damaged.

How to fix it

  1. Set the server back to the newer version it ran before (check the version variable or the jar in Startup).
  2. To really go back to the older version, restore a backup taken before the upgrade.
  3. Do not delete the region files to make the error go away: those are the player-built areas.

Data packs failed to load

critical minecraft

In the console

Failed to load datapacks, can't proceed with server load
Errors in currently selected datapacks prevented the world from loading

The world's data packs could not be loaded, so the server stopped. It usually happens after mods or a modpack were changed while keeping the same world (the world still lists data packs from the old mods), or when a data pack in world/datapacks has a broken file.

How to fix it

  1. If you removed or swapped mods, add them back, or start the new modpack with a fresh world.
  2. Move recently added data packs out of world/datapacks and start again to find the broken one.
  3. The server can also start with --safeMode (vanilla data pack only) to get into the world and fix things.

Entities share the same UUID

info minecraft

In the console

[DUPE-UUID] Duplicate UUID found used by
Keeping entity entity that already exists with UUID

Two entities were found with the same UUID. It is usually left over from a crash, a rollback or a plugin that copies entities, and the duplicate is ignored or removed. A few lines are harmless; a flood of them can mean a duplication glitch or a plugin cloning mobs.

How to fix it

  1. If it shows up a few times after a crash, nothing needs doing.
  2. If it repeats a lot, Paper's entities.spawning.duplicate-uuid.mode (in the world config) can be set to saferegen or delete.
  3. Check plugins that spawn, copy or stack entities if it keeps coming back.

A JSON file could not be read

error minecraft

In the console

JsonSyntaxException: reason
MalformedJsonException: reason

A JSON file (a mod config, a data pack file, whitelist.json, ops.json or similar) has a syntax mistake: see the line. JSON allows no comments and no trailing commas, and a missing bracket or quote breaks the whole file.

How to fix it

  1. The message usually names the line, column and path; open the file in the panel's editor and fix that spot.
  2. Paste the file into a JSON validator to find the mistake quickly.
  3. If you cannot find it, rename the file (for example to .broken) and restart so it is created again with defaults, then copy your settings back in.

Server icon could not be loaded

info minecraft

In the console

Couldn't load server icon

server-icon.png in the server folder is not a valid icon, so the server list shows the default one. It must be a PNG exactly 64 x 64 pixels.

How to fix it

  1. Resize the image to 64 x 64 pixels, save it as PNG (not a renamed JPG) named server-icon.png, and restart.

Geyser cannot log Bedrock players in to the Java server

error minecraft proxy

In the console

Cannot reply to EncryptionRequestPacket without profile and access token

Geyser was asked to log a Bedrock player in to an online-mode Java server but had no Java account to do it with. Either Floodgate is not set up where it should be (or its key is duplicated), or the Java server is in online mode while Geyser's auth-type is offline.

How to fix it

  1. With Floodgate: set auth-type: floodgate in Geyser's config, install Floodgate on the server (and the proxy), and use the same key.pem everywhere. If Geyser and Floodgate run on the same server, delete the extra key.pem copy in Geyser's folder.
  2. Without Floodgate: make Geyser's auth-type match the server (online for online-mode servers).
  3. Restart after changing either side.

Player movement rejected ('moved too quickly')

warning minecraft

In the console

player moved too quickly!
player moved wrongly!

The server rejected a player's movement and pulled them back. Usually caused by server lag, a laggy player connection, elytra or vehicle speed, or a movement cheat.

How to fix it

  1. If many players trigger it at once, the server is lagging; check the Performance tab and 'Can't keep up' findings.
  2. If only one player triggers it, it is their connection or a cheat client.
  3. Paper: adjust moved-wrongly-threshold and moved-too-quickly-multiplier in spigot.yml only if legitimate fast movement is affected.

Server runs in offline (insecure) mode

warning minecraft

In the console

SERVER IS RUNNING IN OFFLINE/INSECURE MODE

online-mode is false, so the server does not check accounts with Mojang. That is correct behind a BungeeCord/Velocity proxy with forwarding set up, but on a public server anyone can join as any player, including admins.

How to fix it

  1. If players connect directly, set online-mode=true in server.properties and restart.
  2. If the server is behind a proxy, enable forwarding (BungeeCord in spigot.yml, or Velocity modern forwarding in Paper's config) and make sure the server's port is not reachable without the proxy.

Proxy forwarding is misconfigured

error minecraft proxy

In the console

If you wish to use IP forwarding, please enable it in your BungeeCord config as well
This server requires you to connect with Velocity
Unable to verify player details
Player info forwarding is disabled

The proxy (BungeeCord/Waterfall/Velocity) and the backend server disagree on how player information is forwarded, so players are kicked or appear with the wrong UUID.

How to fix it

  1. Velocity: set player-info-forwarding-mode = "modern" in velocity.toml and enable velocity support with the same secret in the backend's config/paper-global.yml.
  2. BungeeCord/Waterfall: set ip_forward: true in the proxy's config.yml and bungeecord: true in each backend's spigot.yml.
  3. Restart both the proxy and the backend after changing forwarding settings.

World chunk could not be read or saved

error minecraft

In the console

Failed to save chunk
Couldn't load chunk
Chunk file at [ … ] is in the wrong location
Region file … is truncated

Part of the world on disk is damaged or could not be written. Common causes: the server was killed while saving, the disk filled up, or a world was copied while the server was running.

How to fix it

  1. Make a backup of the world folder right away.
  2. Check for 'No space left on device' or out-of-memory kills around the same time.
  3. Restore the affected region from a backup, or let the server regenerate it (Paper/Spigot can delete and regenerate broken chunks).
  4. Always stop the server before copying or uploading world files.

World level.dat is damaged

critical minecraft

In the console

Failed to load level.dat
Exception reading … level.dat
level.dat … corrupt

level.dat stores the world's settings and spawn. If it cannot be read the world will not load, or Minecraft may create a new one.

How to fix it

  1. Stop the server and back up the world folder.
  2. Replace level.dat with level.dat_old from the same folder (rename it), then start again.
  3. If both are broken, restore the world from a backup.

Crash while ticking an entity or block entity

error minecraft

In the console

Encountered an exception while ticking entity
Ticking entity
Entity being ticked:

A specific mob, item, minecart, chest or machine caused an error when the server updated it. If it repeats, every restart can crash at the same spot.

How to fix it

  1. The crash report lists the entity type and its coordinates under 'Entity being ticked' or 'Block entity being ticked'.
  2. Remove that entity or block (a world editor such as MCA Selector, or a mod config option to remove erroring entities).
  3. Update the mod that adds that entity or block.

World is locked by another process

critical minecraft

In the console

session.lock … locked
Failed to check session lock
The directory … is already locked
DirectoryLock$LockException

Another server process still holds the world's session.lock file, typically a previous instance that did not shut down, or two servers pointing at the same world.

How to fix it

  1. Stop the server, wait until it shows offline, then start it again.
  2. If it persists, make sure no other server uses the same world folder.
  3. With the server stopped, delete world/session.lock.

Console command not recognised

info minecraft

In the console

Unknown command. Type "help" for help.
Unknown or incomplete command, see below for error

A command sent to the console does not exist. Often a schedule or a plugin sends a command for a plugin that is no longer installed.

How to fix it

  1. Check the server's Schedules for commands that no longer exist.
  2. Check the spelling, and that the plugin providing the command is loaded (/plugins).

Mods are incompatible or missing dependencies

critical minecraft fabric forge

In the console

Incompatible mod set
Mod resolution failed
Missing or unsupported mandatory dependencies
requires … of dependency, which is missing

The mod loader checked every mod's requirements and something does not fit: a dependency (listed below the error) is missing, a mod targets another Minecraft or loader version, or two mods conflict.

How to fix it

  1. Read the list printed below this line: it names each mod and what it needs.
  2. Install the missing dependency (often Fabric API, Architectury, Cloth Config or a library mod) in the version listed.
  3. Make sure every mod is built for the same Minecraft version and loader (Fabric, Forge or NeoForge).
  4. If you use a modpack, install the server pack published by the pack author instead of copying client mods.

A mod's Mixin failed to apply

critical minecraft fabric forge

In the console

Mixin apply failed
MixinApplyError
Mixin transformation of … failed
InvalidInjectionException

A mod patches game code with Mixins and the patch no longer fits, usually because the mod is for another Minecraft version or conflicts with another mod patching the same code.

How to fix it

  1. Find the mod named in the error and install its build for your exact Minecraft and loader version.
  2. If two mods conflict, check both mods' pages for known incompatibilities and remove one.
  3. Remove client-only mods from the server.

Client-only mod installed on the server

critical minecraft forge fabric

In the console

for invalid dist DEDICATED_SERVER
Attempted to load class net/minecraft/client/
Environment type CLIENT is required

A mod that only works in the game client (minimaps, shaders, HUD or rendering mods) was put on the server, which has no client code.

How to fix it

  1. Look at the stack trace for the mod's package name.
  2. Remove that mod from the server's mods/ folder; players keep it in their own game.
  3. Use the modpack's dedicated server files where available, since they exclude client-only mods.

Mod needs a newer Forge or NeoForge

error minecraft modded

In the console

Mod File file needs language provider provider:needed or above to load
needs language provider provider:needed or above to load

A mod (one of the mods) was built for a newer loader than the server has: it needs the loader:a newer version or above. This also happens when a mod for a different Minecraft version was dropped into the mods folder.

How to fix it

  1. Check the mod's download page for the Minecraft and Forge/NeoForge version it supports, and download the build that matches your server.
  2. Or update Forge/NeoForge on the server to the version the mod asks for (keep the Minecraft version the same).
  3. javafml numbers follow the Forge major version (javafml:47 is Forge 47.x for 1.20.1).

Not sure which one you have?

Paste your log into the live demo, or install Cardinal Review Lite and it will point at the line for you. Lite is free.