En bref : « Internal Exception: io.netty… » vient de la couche réseau de Minecraft, la bibliothèque Netty : une erreur s'est produite en lisant ou en envoyant un paquet de données, et la connexion a été coupée. Cela peut se passer dans votre client ou sur le serveur, qui vous envoie alors l'erreur comme motif de déconnexion. Ce qui compte, c'est la partie après les deux-points : elle indique quel paquet est en cause et ce qui a échoué. Les causes les plus fréquentes sont des versions différentes, un proxy ou un plugin qui modifie les paquets, des mods qui ne correspondent pas et une connexion instable.
Votre propre serveur Minecraft ? Chez HostValues à partir de €2,80 par mois, en ligne en quelques minutes. Voir les offres →
Ce que signifie le message
Minecraft Java transmet tout ce qui se passe entre le client et le serveur sous forme de paquets, sur une connexion TCP. Quand le client ne parvient pas à traiter un paquet, il coupe la connexion et affiche la raison. L'endroit où vous voyez le message dépend du moment :
- En rejoignant le serveur : l'écran s'intitule « Failed to connect to the server », avec en dessous « Internal Exception: … ».
- En jeu : l'écran s'intitule « Connection Lost ». En cas d'erreur de protocole, le client enregistre aussi un rapport dans le dossier
debugde votre dossier de jeu (fichierdisconnect-…-client.txt) ; le bouton « Open Report Directory » ouvre ce dossier. - « Network Protocol Error » : ce message apparaît quand le client a pu lire un paquet reçu, mais pas le traiter.
io.netty.handler.codec.DecoderException signifie qu'un paquet entrant n'a pas pu être lu. EncoderException est l'équivalent à l'envoi. Quand le message contient Failed to decode packet '…', Minecraft donne aussi le nom du paquet, par exemple clientbound/minecraft:login_finished. Ce nom indique le sens : clientbound est un paquet du serveur vers le client que votre client n'a pas pu lire ; serverbound un paquet de votre client que le serveur n'a pas pu lire. Dans ce second cas, l'erreur figure aussi dans le log du serveur.
Les variantes les plus fréquentes
| Message | Ce qu'il y a derrière | Premier réflexe |
|---|---|---|
DecoderException: Failed to decode packet '…' | Un paquet n'a pas pu être lu, le plus souvent parce que client et serveur ne parlent pas exactement le même protocole. | Vérifier les versions, le proxy, les plugins et les mods |
… 'clientbound/minecraft:login_finished' | Erreur à la dernière étape de la connexion | Voir la section sur login_finished plus bas |
Badly compressed packet - size of … is below server threshold of … ou … larger than protocol maximum of 8388608 | Un paquet ne correspond pas à la compression convenue ou il est trop gros. | Vérifier le proxy et les plugins qui réécrivent les paquets |
Tried to read NBT tag that was too big | Un bloc de données, par exemple celui d'un objet ou d'un bloc, dépasse la limite de taille du client. | Repérer l'endroit ou l'objet en cause |
String too big ou The received string length is longer than maximum allowed | Un champ de texte est plus long qu'autorisé, par exemple un pseudo de plus de 16 caractères. | Vérifier le proxy ou le plugin qui modifie les pseudos ou les textes |
Timed out | Un des deux côtés n'a pas répondu à temps. | Vérifier la console du serveur et la connexion |
Connection reset ou An existing connection was forcibly closed by the remote host | L'autre côté ou un appareil entre les deux a fermé la connexion. | Vérifier le réseau, le VPN et les redémarrages du serveur |
Ce que les joueurs peuvent vérifier
- La même version que le serveur. Un client dans une autre version de Minecraft ne peut rejoindre le serveur que si celui-ci utilise ViaVersion (clients plus récents) ou ViaVersion avec ViaBackwards (clients plus anciens). Si la version ne correspond pas et que ces plugins manquent, le serveur répond le plus souvent « Incompatible client! Please use … ».
- Tester sans mods. Lancez un profil sans mods pour tester. Avec un modpack, la version du pack doit être exactement celle du serveur ; un mod manquant ou dans une autre version provoque souvent
Failed to decode packet. - Tester un autre serveur. Si l'erreur apparaît partout, la cause est plutôt de votre côté : réseau, VPN, pare-feu ou mods.
- Stabiliser la connexion. Coupez le VPN, redémarrez la box, passez en câble plutôt qu'en Wi-Fi. Cela aide surtout contre
Timed outetConnection reset. - Transmettre le rapport. Envoyez à l'administrateur du serveur le message complet, l'heure et, s'il existe, le fichier du dossier
debug. Plus de détails se trouvent danslogs/latest.logde votre dossier de jeu.
Ce que les administrateurs peuvent vérifier
- Le log du serveur à la même heure. S'il contient une erreur avec le nom d'un plugin ou d'un mod, vous tenez souvent le coupable.
- Tout ce qui touche aux versions, à jour. Le logiciel serveur, ViaVersion et ViaBackwards et, le cas échéant, le proxy (Velocity ou BungeeCord) doivent prendre en charge la version du client. Après une nouvelle version de Minecraft, ce sont justement ces éléments qui ont souvent besoin d'une mise à jour.
- Les plugins qui interviennent dans le trafic réseau. Les bibliothèques de paquets comme ProtocolLib ou PacketEvents, et les plugins qui s'appuient dessus, modifient des paquets. Si l'un d'eux n'est pas prévu pour la version du client, il écrit des paquets que le client ne peut pas lire. Retirez les plugins suspects un par un, à titre de test, jusqu'à ce que l'erreur disparaisse.
- Sur un serveur moddé, comparer les listes de mods. Le client et le serveur ont besoin des mêmes mods dans les mêmes versions.
- Cerner les données trop volumineuses. Si
Tried to read NBT tag that was too bign'apparaît qu'à un endroit précis, par exemple près d'un coffre ou dans un chunk donné, un objet ou un bloc y contient probablement trop de données enregistrées. - En cas de timeout, vérifier la charge du serveur. Le serveur envoie régulièrement des paquets keep-alive. Si le client ne répond pas pendant 15 secondes, le serveur le déconnecte avec « Timed out » ; si c'est le serveur qui se fige, c'est le client qui coupe. Si la console affiche
Can't keep up! Is the server overloaded?, le serveur est surchargé : notre article sur le lag d'un serveur Minecraft explique comment le voir au MSPT. Derrière un proxy Velocity avec de gros modpacks Forge, la documentation de Velocity conseille d'augmenterread-timeoutdansvelocity.tomlet de lancer le serveur Forge avec un-Dfml.readTimeoutcorrespondant.
Cas particulier : DecoderException sur login_finished
Le message complet est Internal Exception: io.netty.handler.codec.DecoderException: Failed to decode packet 'clientbound/minecraft:login_finished'. login_finished est le paquet « Login Success » : à la fin de la connexion, le serveur y confirme votre profil de joueur, c'est-à-dire le pseudo, l'UUID et des données de profil comme le skin. Vient ensuite la phase de configuration. Si le client ne peut pas lire ce paquet, la connexion échoue avant même que vous voyiez le monde.
Deux causes sont documentées :
- Un proxy ou un plugin qui intervient dans la connexion ne correspond pas à la version du client. Dans un cas signalé sur GitHub (Velocity, issue 1858), des clients 26.2 natifs échouaient avec exactement ce message ; la cause était le plugin AntiPopup, pas Velocity lui-même. Dans un autre cas (ViaVersion, issue 4943), une version de développement de ViaVersion cassait la connexion des clients 1.20.x ; la version précédente fonctionnait.
- Le profil dépasse les limites du protocole. Le pseudo ne peut pas dépasser 16 caractères et le profil ne peut pas contenir plus de 16 propriétés. Si un proxy ou un plugin en envoie davantage, par exemple un pseudo trop long, le client ne peut pas lire le paquet.
La solution : mettez à jour le proxy, ViaVersion, ViaBackwards et tous les plugins qui modifient la connexion, les pseudos ou les skins. Si cela ne suffit pas, retirez ces plugins un par un pour tester. Si l'erreur ne touche que les joueurs d'une certaine version de Minecraft, vous savez quel élément ne prend pas encore cette version en charge.
Quand ce n'est pas une erreur io.netty
« Connection timed out » au moment de se connecter est un autre cas : votre client n'atteint même pas le serveur, par exemple à cause d'une mauvaise adresse, d'un mauvais port ou d'un serveur arrêté. Notre article Connection timed out : résoudre l'erreur traite ce cas.
Chez HostValues
Sur un serveur Minecraft HostValues, vous voyez la console et le log du serveur directement dans le panel de jeu : vous y trouvez l'heure de l'erreur et les éventuels messages de plugins. Vous changez de version et de logiciel serveur dans l'onglet Versions. Si vous êtes bloqué, envoyez-nous dans un ticket de support le message complet, l'heure et, s'il existe, le rapport du dossier debug.
Questions fréquentes
Que signifie « Internal Exception: io.netty.handler.codec.DecoderException » ?
Un paquet de données n'a pas pu être lu, et la connexion a donc été coupée. Si le nom du paquet contient clientbound, c'est votre client ; avec serverbound, c'est le serveur. Le plus souvent, les versions, les mods ou un proxy ou plugin ne correspondent pas.
« Connection Lost » vient-il de ma connexion Internet ?
Parfois. Avec Timed out, Connection reset ou « forcibly closed », la connexion est souvent en cause. Avec DecoderException et Failed to decode packet, ce sont presque toujours les versions, les mods ou les plugins.
Qu'est-ce que login_finished ?
C'est le paquet « Login Success » par lequel le serveur confirme votre profil de joueur à la fin de la connexion. Une erreur à ce moment vient le plus souvent d'un proxy ou d'un plugin qui modifie la connexion et ne prend pas en charge votre version de Minecraft.
Où trouver le rapport d'erreur ?
Dans le dossier debug de votre dossier de jeu Minecraft, dans un fichier disconnect-…-client.txt. Le bouton « Open Report Directory » de l'écran d'erreur l'ouvre directement. Le log général se trouve dans logs/latest.log.
Sources : textes et messages du client Minecraft 26.3 ; Minecraft Wiki, Java Edition protocol: Packets et Data types ; API Netty : DecoderException ; documentation de Velocity (FAQ, Configuration) ; issues GitHub PaperMC/Velocity #1858 et ViaVersion #4943. Consultés le 14 octobre 2026.
Louez votre propre serveur Minecraft
À partir de €2,80 par mois. En ligne en quelques minutes, sans engagement, protection DDoS incluse.
Quelle offre pour votre groupe ?
- Vanilla ou quelques plugins, jusqu'à 5 joueurs: Redstone (4 GB), €5,60 par mois
- Modpack léger, 5 à 10 joueurs: Gold (5 GB), €7,00 par mois
- Modpack lourd comme All the Mods 10: Barrier (10 GB), €14,00 par mois
Nouveau chez HostValues ? Avec le code WELKOM10, profitez de 10 % de réduction sur votre première commande.