Minecraft
Fix 'Internal Exception: java.io.IOException' When Joining Minecraft
Players sometimes see "Disconnected: Internal Exception: io.netty.handler.codec.DecoderException" or "java.io.IOException: An existing connection was forcibly closed by the remote host". The message is vague, but a handful of causes explain most cases.
Check the easy things first
- Make sure the client version matches the server. If you run ViaVersion or similar, confirm it is up to date.
- Restart the game and try again. A bad connection can produce this error once.
- Check the Console when the player joins. The server log often prints a more specific error nearby.
Common causes
- Mod mismatch. On Forge or Fabric servers the player must have the same required mods and versions as the server.
- Corrupt or oversized data. A player carrying a huge amount of item data, such as many written books or shulker boxes with named items, can fail to send in a single packet.
- Outdated plugins that handle packets, such as old anti-cheat or protocol libraries.
- Network issues on the player side, such as unstable Wi-Fi, a VPN, or antivirus or firewall software closing the connection.
- Incorrect proxy configuration if you use Velocity or BungeeCord, such as forwarding set up on one side only.
Fixes
- Update your server software and plugins.
- Ask the player to disable their VPN and try a wired connection or different network.
- Compare mod lists, and have the player reinstall the modpack from the same source as the server.
- If one player only is affected and it started after an event, their player data may be the issue. Back up the world, then check the playerdata file for that account with an admin before removing anything.
- Look at the full stack trace in the Console and search for the first Caused by line.
When to ask for help
Open a Discord ticket with the player name, game version, mod or plugin list and the Console log. Our general Minecraft errors guide covers other messages.