jonesdevelopment / sonar

Sonar is a lightweight, effective and easy-to-use anti-bot plugin for Velocity, BungeeCord, and Bukkit.
https://docs.jonesdev.xyz
GNU General Public License v3.0
118 stars 10 forks source link

Feature Request: Allow the transfer option for Bedrock Edition players #356

Closed Folas1337 closed 1 month ago

Folas1337 commented 1 month ago

Information

Basically it's mentioned here that currently Geyser for some reason doesn't translate a transfer packet properly or something like that and you have to use the so called TransferTool which I linked to do so.

For my own proxy I'll disable this feature, so it's not a priority to me but you can make of this what you want :)

Reason

So that Bedrock Edition users get the same experience as Java Edition users :)

Additional information

Nope, thanks

jonesdevelopment commented 1 month ago

Would it be fine if I just added a geyser option (separate configuration for host and port) to the transfer settings?

Folas1337 commented 1 month ago

If I'm understanding you correctly that means you'll make an extra config option dedicated just for bedrock edition?

In that case I don't mind as I'm running one proxy for just BE clients and one for just Java Edition but I wonder how this would work for a proxy doing both at once, would that still work?

If the answer is yes, go for it!

Edit 1: But shouldn't that already work for my case? Cause I can tell it doesn't, I'm using a different port for BE already and it just won't work.

jonesdevelopment commented 1 month ago

But shouldn't that already work for my case? Cause I can tell it doesn't, I'm using a different port for BE already and it just won't work.

Floodgate/Geyser is responsible for translating the packets. I'm not going to implement a fix for something they can't implement. I don't know why the transfer packet isn't working in the first place. The transfertool only changes the host and port of outgoing transfer packets, so if it doesn't work with the Geyser port in the Sonar config, I don't know how else I am able to fix this.

jonesdevelopment commented 1 month ago

@Folas1337 In theory, I shouldn't even need to do anything. TransferTool is an extension for floodgate/Geyser (not sure which one of them translates packets), so it should just work out of the box after installing and configuring the extension. ¯_(ツ)_/¯

Folas1337 commented 1 month ago

@Folas1337 In theory, I shouldn't even need to do anything. TransferTool is an extension for floodgate/Geyser (not sure which one of them translates packets), so it should just work out of the box after installing and configuring the extension. ¯_(ツ)_/¯

Ohhhh so that's a geyser extension! I misunderstood that part!

So I have to install TransferTool and it should hopefully work. I'll try that. Sorry for bothering you, I'm also not very knowledgeable when it comes to all the geyser stuff.

I probably just misunderstood the comment I initially pointed to

jonesdevelopment commented 1 month ago

Ohhhh so that's a geyser extension! I misunderstood that part!

Let me know if it works after installing the extension and revisiting the configuration.

jonesdevelopment commented 1 month ago

@Folas1337 Any updates on this?

Folas1337 commented 1 month ago

@Folas1337 Any updates on this?

I won't be able to try until Tuesday so sorry if I can't give any updates too quickly

Folas1337 commented 1 month ago

It appears it's still not working. I am now asking within the Geyser support Discord if it is required to have TransferTool installed or if there is any way to transfer players without it.

Folas1337 commented 1 month ago

Alright, this took me some more time to understand all of this...

So first up, the TransferTool is required no matter what, otherwise Geyser seems to have no idea how to translate the transfer packet.

Secondly, I can send a Bedrock Edition client back to my own server if I use the '/transfer' command BUT for some reason it won't work with Sonar if I turn on its transfer option.

The logs also don't really indicate any issues: https://mclo.gs/3wnEkiv

That's the part where I'm logging on but end up with a "End of stream" error which I'm unsure what I should do with... I can join fine afterwards but the transfer was obviously unsuccessful :(

Is there anything I can do to provide more information/help?

jonesdevelopment commented 1 month ago

The logs also don't really indicate any issues: https://mclo.gs/3wnEkiv

That's the part where I'm logging on but end up with a "End of stream" error which I'm unsure what I should do with... I can join fine afterwards but the transfer was obviously unsuccessful :(

Is there anything I can do to provide more information/help?

Can you open a ticket on the Discord server? https://jonesdev.xyz/discord

jonesdevelopment commented 1 month ago

I'm going to close this issue for now. If you still couldn't figure it out, please - as I mentioned earlier - open a ticket on the Discord server. @Folas1337