Skip to content

Internal Exception: io.netty.handler.codec.DecoderException: java.io.IOException: Bad packet id 118 #661

@Weark

Description

@Weark

/viaversion dump Output

https://dump.viaversion.com/d77418c8191f4b09e1e2c9c5b8c136820adf3775de39e8dbd77caecb7454aa35

Server/Client Error

[19:09:14 INFO]: Tester[/x.x.x.x:xxxxx] logged in with entity id 134 at ([world]0.5, 72.0, 0.5)
[19:09:15 WARN]: [ViaBackwards] (1.13->1.12.2) Ignoring plugin channel in serverbound REGISTER: FML
[19:09:15 WARN]: [ViaBackwards] (1.13->1.12.2) Ignoring plugin channel in serverbound REGISTER: FORGE
[19:09:15 WARN]: [ViaBackwards] (1.13->1.12.2) Ignoring plugin channel in serverbound REGISTER: FML
[19:09:15 WARN]: [ViaBackwards] (1.13->1.12.2) Ignoring plugin channel in serverbound REGISTER: FML
[19:09:15 WARN]: [ViaBackwards] (1.13->1.12.2) Ignoring plugin channel in serverbound REGISTER: FORGE
[19:09:15 INFO]: Tester lost connection: Disconnected

Bug Description

I am reporting a very specific behavior that happens only with 1.8.9 clients after updating ViaVersion, ViaBackwards and ViaRewind to the latest builds.

Network setup:

  • Proxy: FlameCord - Ultimate Anti-Bot Solution v2.5.4
  • 3 identical Purpur 1.21.11 lobby servers
  • Same plugins, same configuration, same Java version
  • ViaVersion, ViaBackwards and ViaRewind installed only on backend servers (not on proxy)

Observed behavior:

If a 1.8.9 player connects DIRECTLY to a lobby running the latest Via* builds, the player is immediately kicked with:

"Bad packet id 118"

However, if the player:

  1. First connects to another lobby running older Via versions (ViaBackwards 5.7.0 / ViaRewind 4.0.13)
  2. Then switches servers using the proxy (/server lobbyX)

The player can join the updated lobby without any issue.

This proves that:

  • This is NOT a general server compatibility issue
  • This is NOT a plugin conflict
  • The problem happens specifically during the LOGIN / handshake phase for 1.8.9 clients
  • Once the player is already online and switches servers, everything works perfectly

Tests performed:

  • Tested with only Purpur + Via* (no ProtocolLib or other plugins)
  • Deleted Via config folders
  • Tested on identical servers
  • Confirmed only the updated server has the problem
  • Downgrading to ViaBackwards 5.7.0 + ViaRewind 4.0.13 immediately fixes it

Conclusion:

This appears to be a recent regression in the packet transformation pipeline during the LOGIN state for 1.8.9 clients when connecting through FlameCord.

Steps to Reproduce

  1. Environment:

    • Proxy: FlameCord v2.5.4
    • 3 identical Purpur 1.21.11 lobby servers (Lobby1, Lobby2, Lobby3)
    • Same plugins, same configuration, same Java version
    • ViaVersion, ViaBackwards and ViaRewind installed only on backends
  2. Update only one lobby to the latest ViaVersion, ViaBackwards and ViaRewind builds.
    Keep the other two running:

    • ViaBackwards 5.7.0
    • ViaRewind 4.0.13
    • ViaRewind Legacy Support 1.5.5
  3. Using a Minecraft 1.8.9 client:

    CASE A (error happens):

    • Connect DIRECTLY to the lobby running the latest Via builds
    • The player is immediately kicked with:
      "Bad packet id 118"

    CASE B (error does NOT happen):

    • First connect to a lobby running the older Via builds
    • Then switch servers through the proxy (/server updatedLobby)
    • The player joins the updated lobby without any issue
  4. Result:

    • The error only occurs when the 1.8.9 player directly joins the updated server
    • It does not occur when the player is already online and switches servers

This indicates the problem happens specifically during the LOGIN/handshake state for 1.8.9 clients through FlameCord.

Additional Server Info

Proxy: FlameCord - Ultimate Anti-Bot Solution v2.5.4

Backend software: Purpur 1.21.11

Via plugins are installed ONLY on backend servers.
There are NO Via plugins installed on the proxy.

Plugins present during testing:

  • ViaVersion
  • ViaBackwards
  • ViaRewind
  • ViaRewind Legacy Support

For testing, all other plugins were removed to eliminate any packet/pipeline interference.
No ProtocolLib, no anti-cheat, no packet manipulation plugins.

All three lobby servers are identical in configuration, plugins and Java version.
The ONLY difference is the Via plugin versions.

Downgrading to:

  • ViaBackwards 5.7.0
  • ViaRewind 4.0.13
  • ViaRewind Legacy Support 1.5.5

immediately fixes the issue for 1.8.9 clients.

Checklist

  • Via plugins are only running on EITHER the backend servers (e.g. Paper) OR the proxy (e.g. Velocity), not on both.
  • I have included a ViaVersion dump.
  • If applicable, I have included a paste (not a screenshot) of the error.
  • I have tried the latest build(s) from https://ci.viaversion.com/ and the issue still persists.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions