-
-
Notifications
You must be signed in to change notification settings - Fork 74
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
(Relay) Unable to join select realms or servers #474
Comments
Only on Realms? Not on a vanilla server? Can you provide the debug logs (see README.md)? And make sure to set |
Both on realms and vanilla servers. |
Ok, will look into it. Do you know if this started with 1.20.50 or does it happen on 1.20.40 also? |
After having a better look at it, it only seems to disconnect with specific realms/servers (Similar to what happened with #426). const { Relay } = require('bedrock-protocol')
const relay = new Relay({
host:'0.0.0.0',
port:19132,
destination:{realms:{realmInvite:'code'}}
})
relay.listen()
relay.on('connect', player => {
console.log('New connection', player.connection.address)
}) |
You're going to need to provide more specifics on how to reproduce (ie what servers) or there is no path to resolution here. The log file you provided shows the server disconnecting you without sending any disconnect packet, just closing the connection. That could be anything, so can't extract any meaningful information from that. |
Sorry for being vague. I'm not certain but I believe it may be related to scoreboards or enums. |
Can you elaborate? |
The client is only kicked when a scoreboard is present on the realm/server so I think it could be related to packets concerning scoreboards (Like |
Can you show something to explain more on that? Where in the server<->client communications do you see things related to scoreboards? Your only log file shows you being disconnected before spawning. |
Is there a way for logging to send the output directly to a file instead of the console? I would be able to give a more detailed log as my console would not fill up. |
Apologies, here is a more detailed Log. |
You'll need to provide some steps to reproduce otherwise nothing can be done here. The log file doesn't contain anything out of the ordinary, the server is just choosing to close the connection without sending a disconnect packet. That could be anything, bad network connection, server crashing/erroring, etc. |
The client is kicked under certain conditions, also when players are not online, on a private server/realm. |
I'm also bothered by this question. So far I've found 2 servers that cause Relay to crash with "Server sent broken packet". One of them crashes immediately after loading the resource pack before rendering the world. The other one can enter the game's rendered world, but will crash at an unknown point shortly after. The console output on crash is the same as this.
This console output seems to only tell that it crashed, not what it went through before it crashed. It's also interesting to note that if you don't use relay and use Can I give any additional information to help with this? |
After experimenting around I think this issue may be related to custom/additional items, such as having education features enabled, experimental features (such as the “1.21” upcoming features toggle), or use of an external behaviour pack. |
Sorry about my poor English <3 Okay, I seem to have found out what the problem is. I have a temporary solution until fixing the definition, I can try to make the Add a line of code to src/relay.js#L62 with the following line: If you want to make the changes before fixing it, but the package still retains the changes when it is updated, you can try the (Hopefully bedrock-protocol will add a few configuration options so that packages that can't be parsed or custom excluded are forwarded directly to the client as-is, maybe I'll make a pr for that later?) |
All packets should of course be parsed correctly, otherwise the purpose of the Relay to view/inspect/modify does not work. The behavior there should be the same as vanilla, for invalid packets we definitely want to throw where the client would not normally accept. If there is an issue with the crafting data packet then we should likely fix. Re-enabling the debug option to check for encode/decode correctness seems like a good idea. |
When attempting to join any realm with relay the client is kicked with "Server sent broken packet"
The code I used is the same as the one supplied in API.md.
This is not because I am banned on said realm(s) as the regular client works fine.
The text was updated successfully, but these errors were encountered: