GeyserMC / Geyser

A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
https://geysermc.org
MIT License
4.76k stars 686 forks source link

First time a player joins with Bedrock, the entire client crashes #5162

Closed Sikatsu closed 2 days ago

Sikatsu commented 3 days ago

Describe the bug

Everytime when a newcomer joins, their entire client crashes. When they boot the client another time, then they can join the server just fine.

To Reproduce

  1. Join mc.villagercraft.nl:19132 for the first time using Bedrock.
  2. Your client will crash
  3. Boot the client another time and rejoin
  4. Boom, you're now able to play

Expected behaviour

Simply said, I do not expect bedrock players to crash the first time. I have spend lots of hours to make the server as much java as bedrock compatible and it seems most people do not try to join the server a second time. This causes that at least 90% if not more of the bedrock players simply don't stay.

Screenshots / Videos

No response

Server Version and Plugins

Velocity 3.4.0-SNAPSHOT (git-cefa3b27-b450) Paper version 1.21.1-131

Geyser Dump

https://dump.geysermc.org/cVzK1Cv1eCOOe6gzRzu8Vz73gscL4guK

Geyser Version

2.5.0-b716

Minecraft: Bedrock Edition Device/Version

PC

Additional Context

We have Geyser on Velocity and Floodgate both on Velocity and the backend servers. We also have ViaVersion installed on the backend servers.

Camotoy commented 3 days ago

If a player has joined before, ever, will they be fine?

Sikatsu commented 3 days ago

If a player has joined before, ever, will they be fine?

They will be fine indeed. It only happens the first time they join, then the client will crash.

I noticed that many people do not retry and just try the next server on the server lists and that really makes me sad to see. I have absolutely no clue why they crash on their very first join..

Thanks for your reply Camotoy, appreciate it.

Camotoy commented 3 days ago

This will be difficult for us to debug, as we have basically one go per account to test this before it breaks. At the same time, we can't just ask you to start removing plugins because this isn't easy to test.

Do you have any extra behavior when a new player logs in? A special message? A book?

Sikatsu commented 3 days ago

It is very difficult to debug for that same reason, that's why I am stuck on this matter as well. We do not have any extra behaviour when the player logs in. There are 2 small holograms that load within the radius, there are no entities nearby. There is no information within the consoles on why they crash and I am not sure if bedrock client has any logs that show us more information (not familiar with bedrock at all..)

I did remove some plugins I thought could be it, like disabling the scoreboard plugin and such. No luck though..

Sikatsu commented 3 days ago

image This is how they join and these are the 2 holograms as well. After 15 seconds they disappear and disconnect while the player has never seen anything in-game.

Kas-tle commented 3 days ago

packets_with_crash.log packets_without_crash.log

I took packet capture from my first time joining, which did produce a crash, and the next time, which did not. According to my event viewer log, the crash occurs at 2024-11-24T03:18:29.0679728Z which should translate to logs roughly before 19:18:29:366 in the provided packet log with crash.

Also your contention that there is no actions that only run on the first time a player joins seems incorrect. For example, there seem to be some titles that are only displayed on first join according to the capture.

Kas-tle commented 3 days ago

Also could you please provide a list of plugins for the lobby, and are you using any datapacks?

Sikatsu commented 3 days ago

A title? That's something I will have to check out, i'm not aware of using any title for new players. I'll look through the plugins to see if I can find anything.

We do not make use of datapacks, only the optional bedrock resource pack.

Thank you for helping me.

Sikatsu commented 3 days ago

@Kas-tle The title seemed to be from the Codex plugin. I have moved the Codex location away, but the client crash still occurs. Is there any other information you could find from the logs?

Edit: I have removed TAB from Velocity, and the issue persists.

Edit 2: I have moved the spawnpoint to a random place in the world, just as you normally would join a newly generated Minecraft world, and you still crash with Bedrock...

Edit 3: Removed all plugins from Velocity, still crash..

Sikatsu commented 3 days ago

Well... seems the issue is CustomCrafting. Removing that plugin solves all issues, pff..

Thanks everyone for your time.

Camotoy commented 3 days ago

This is still an issue we should look into resolving. Can you send your CustomCrafting config?

Sikatsu commented 3 days ago

Ah, I wasn't aware this would be something for you guys. The developer of CustomCrafting did state the following:

Please note that Geyser is not supported by CC. 
So if there are issues they should be fixed in Geyser itself.

CC-folder.tar.gz

Camotoy commented 3 days ago

If an issue happens on Bedrock and not on Java, unless a plugin has Geyser integration, it's on us to fix or address.

Thanks for the link.

Camotoy commented 3 days ago

Would you be able to try real quick with re-adding CustomCrafting and this build? https://github.com/GeyserMC/Geyser/actions/runs/11998567849

Sikatsu commented 2 days ago

I have re-added the plugin and can confirm it works now! Thank you very much :)