Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatible with Sonar. #58

Open
3 tasks done
Git-North opened this issue Dec 15, 2024 · 7 comments
Open
3 tasks done

Incompatible with Sonar. #58

Git-North opened this issue Dec 15, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@Git-North
Copy link

Git-North commented Dec 15, 2024

Describe the bug
Plugin is incompatible with Sonar plugin

To Reproduce

  1. Install Raknetify
  2. Install Sonar
  3. Start Velocity Server
  4. Join server using the raknet; prefix
  5. "Disconnected" and log spam

Expected behavior
I expected sonar verification to work and then successfully join the server
Screenshots
if neccesary I will add them

Runtime info (please complete the following information):

  • OS: Windows 11
  • Minecraft version:
    • Server: Velocity
    • Client: 1.21.4
  • Mod version: raknetify-velocity-0.1.0+alpha.5.139-all

Crash reports / logs
https://mclo.gs/CAUDjVT

Other mods
https://gist.github.com/Git-North/2a1d6170c7d6fe91e8c1c5f39b9e71e5

Checklist

  • I am using the official version of the mod.
  • I tried the latest development version but the issue persists.
  • I searched for similar open issues and could not find an existing bug report on this.

Additional context

@Git-North Git-North added the bug Something isn't working label Dec 15, 2024
@Git-North
Copy link
Author

Git-North commented Dec 15, 2024

@ishland
Copy link
Contributor

ishland commented Dec 17, 2024

It seems that sonar is the one trying to close the connection at the very first of the pipeline, bypassing all raknetify handling.
Plus it swallows the real error when doing that.

@Git-North
Copy link
Author

the developer from sonar states that,

"[raknetify] forgot to check if the channel is still open before performing a certain action somewhere."

I do not know if this is helpful information but it is a information

@Git-North
Copy link
Author

They also said that when

that error

happens they do not do anything with it

@ishland
Copy link
Contributor

ishland commented Dec 17, 2024

I have checked their message, the log and their code, their plugin is definitely involved.

@jonesdevelopment
Copy link

I'll look into it when I'm back home.

If necessary, I can open a PR here or at least provide as much information as I can.

@ishland
Copy link
Contributor

ishland commented Dec 17, 2024

I've moved the handling of packet forwarding into Unsafe so it can handle requests even if the event is triggered at the head of the pipeline.

There's two main differences between a raknetify connection and a vanilla connection:

  • The pipeline tied to the channel will convert ByteBuf into a FrameData and send it to upstream raknet handling.
  • Vanilla packet framing is removed in raknetify connections, as packet length is already encoded in FrameData.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants