RelativityMC / raknetify

A Fabric mod / Velocity plugin / BungeeCord plugin that uses RakNet to improve multiplayer experience significantly under unreliable and rate-limited connections.
MIT License
148 stars 2 forks source link

Velocity Plugin Incompatibility: LimboAPI (+ LimboAuth and/or LimboFilter) #15

Open CamperSamu opened 2 years ago

CamperSamu commented 2 years ago

Describe the bug

Everytime you try to login on a 1.19.2/1.19.2-compatible server via Raknet the client crashes due to a OOB exception on a login packet.

To Reproduce

Steps to reproduce the behavior:

  1. Host a Velocity + Paper/Quilt 1.19.2 server (my Quilt backend has raknetify)
  2. Try to join
  3. Get disconnected.

Expected behavior

The client should join without problems.

Screenshots

image image

Runtime info (please complete the following information):

Crash reports / logs

Netty Client Crash

Other mods

Client Modlist Velocity Proxy Plugins

Checklist

CamperSamu commented 2 years ago

On the proxy side I get no errors outside of my disconnection (even with velocity's debug packets java arg).

ishland commented 2 years ago

Add jvm flag -Draknetify.debug=true to velocity and your client and try reproduce again.

CamperSamu commented 2 years ago

Velocity now reports invalid packet IDs for 1.19.1 and the client throws OOBs on packet decoding (because "channelHandler is null"

ishland commented 2 years ago

Try setting compression threshold to -1 on all backend servers.

CamperSamu commented 2 years ago

Sadly it doesn't do the trick, still getting the same issues... I even tried removing Debugify and Krypton, but nothing

CamperSamu commented 2 years ago

Ok I finally discovered the issue. Apparently there's an incompatability between LimboAPI plugins on Velocity with Raknetify. I don't know what is causing it in the detail, but it might be because of LimboAuth handling login stuff on a virtual server before allowing the client to join an actual server (which I need because it has a cool feature that allows me and my staff to be notified by Telegram and Discord when they log in and kick the player in case it got hacked)

I'll open a issue over Elytrium/LimboAPI and rename this one then.