Geyser: Player get ReadTimeOut on BungeeCord

Created on 2 May 2020  路  24Comments  路  Source: GeyserMC/Geyser

Describe the bug

When using Geyser on BungeeCord, player sometime get ReadTimeoutException:null, and they keep getting that error, which makes them unjoinable
To Reproduce

  1. Set up Geyser on Bungeecord
  2. Make lots of player join
  3. May see the error

Expected behavior

Players can join normally
Screenshots / Videos

image
Server Version

BungeeCord latest, paper latest
Geyser Version

master build 103
Minecraft: Bedrock Edition Version

1.14.6 latest
Additional Context

Unconfirmed Bug

All 24 comments

If a player died then log out before they respawn, then the server unload the chunk they are in, they won't be able to join if there's no one in that chunk, only getting this error, it seems geyser won't load the chunk if player isn't alive

joinrespawn.zip
Here's a quick fix plugin for the problem

can confirm this happens exactly as said on my server as well

Can you confirm if this happens with the Ping Passthrough Rewrite PR?

Don't think this is caused by the ping pass through, it's caused because dead players don't load chunks

can confirm ping passthrough is unrelated to this, happens with it disabled.

Thank you for testing.

joinrespawn.zip
Here's the source code of the fix plugin I wrote

Have this issue.

  1. Join bungee server
  2. Idle
  3. ReadTimeoutException: null after ~60 seconds

Have this issue.

  1. Join bungee server
  2. Idle
  3. ReadTimeoutException: null after ~60 seconds

Check if my plugin fix the problem

@SinonGame @rcmaehl @SlickJava Does this bug still exist?

I'm unable to reproduce the problem, but this maybe need to look into. I wasn't able to find the cause of it.

@toinouH Will do some testing shortly

image

It is significantly better but still an issue

Lobby server:

[22:19:25 INFO]: UUID of player [B]rcmaehl2499 is 00000000-0000-0000-0009-01f8fdbf6fa1
[22:19:25 INFO]: [LP] [b]rcmaehl2499 already inherits from bedrock (bedrock) in context global.
[22:19:25 INFO]: [B]rcmaehl2499[/96.28.146.253:42712] logged in with entity id 99 at ([world]-198.76869, 65.0, 147.86754)
[22:23:10 INFO]: [B]rcmaehl2499 lost connection: Disconnected
[22:23:10 INFO]: See you soon! [Attendee][B]rcmaehl2499

Bungee Proxy:

22:19:19 [INFO] [Geyser-BungeeCord] /96.28.146.253:62157 tried to connect!
22:19:20 [INFO] [Geyser-BungeeCord] Player connected with username rcmaehl2499
22:19:24 [INFO] [Geyser-BungeeCord] Attempting to login using floodgate mode... authentication will be encrypted.
22:19:24 [INFO] [Geyser-BungeeCord] Loaded Floodgate key!
22:19:24 [INFO] [Geyser-BungeeCord] rcmaehl2499 (logged in as: rcmaehl2499) has connected to remote java server on address 172.18.0.4
22:19:24 [INFO] [rcmaehl2499,/172.18.0.4:49456] <-> InitialHandler has connected
22:19:25 [INFO] [B]rcmaehl2499 is not using a VPN or Proxy.
22:19:25 [WARNING] Event PreLoginEvent(cancelled=false, cancelReasonComponents=null, connection=[[B]rcmaehl2499,/96.28.146.253:49456] <-> InitialHandler) took 609ms to process!
22:19:25 [INFO] [Geyser-BungeeCord] Registering bedrock skin for [B]rcmaehl2499 (00000000-0000-0000-0009-01f8fdbf6fa1)
22:19:25 [INFO] [Geyser-BungeeCord] Unable to load bedrock skin for {0} as they are likely using a customised skin
22:19:25 [INFO] [[B]rcmaehl2499] <-> ServerConnector [hub] has connected
22:19:26 [INFO] [Geyser-BungeeCord] Spawned player at -198.769 65 147.868
22:19:56 [INFO] [/75.135.69.8:48979] <-> InitialHandler has pinged
22:23:10 [WARNING] [[B]rcmaehl2499] -> UpstreamBridge - read timed out
22:23:10 [INFO] [Geyser-BungeeCord] rcmaehl2499 has disconnected from remote Java server on address 172.18.0.4 because of "ReadTimeoutException : null"
22:23:10 [INFO] [[B]rcmaehl2499] disconnected with: ReadTimeoutException : null
22:23:10 [INFO] [[B]rcmaehl2499] -> UpstreamBridge has disconnected
22:23:10 [INFO] [[B]rcmaehl2499] <-> DownstreamBridge <-> [hub] has disconnected
22:23:11 [INFO] [Geyser-BungeeCord] Bedrock user with ip: /96.28.146.253 has disconnected for reason CLOSED_BY_REMOTE_PEER

If this issue still persists, how can we reproduce it?

I'm having this issue on waterfall with paper servers

I'm also running bungeecord servers where the players are having this issue

@rcmaehl can you attach a Geyser dump? This can be done with /geyser dump.

My issue was resolved, by rolling back SkinRestorer

@rcmaehl can you attach a Geyser dump? This can be done with /geyser dump.

After a timeout or just any time in general?

Any time - there is no time-specific information we get from the dump.

Continuing from discord....

Slingshot doesn't seem to be the full cause but might be part of it. With slingshot enabled, I get the error after ~1.5 minutes. Without it, ~3.5 minutes.

04:15:46 [INFO] [Geyser-BungeeCord] /IP:49504 tried to connect!
04:15:47 [INFO] [Geyser-BungeeCord] Player connected with username rcmaehl2499
04:15:52 [INFO] [Geyser-BungeeCord] Attempting to login using floodgate mode... authentication will be encrypted.
04:15:52 [INFO] [Geyser-BungeeCord] Loaded Floodgate key!
04:15:52 [INFO] [Geyser-BungeeCord] rcmaehl2499 (logged in as: rcmaehl2499) has connected to remote java server on address 172.18.0.12
04:15:52 [INFO] [rcmaehl2499,/172.18.0.12:58380] <-> InitialHandler has connected
04:15:52 [INFO] [Geyser-BungeeCord] Registering bedrock skin for [B]rcmaehl2499 (00000000-0000-0000-0009-01f8fdbf6fa1)
04:15:52 [INFO] [Geyser-BungeeCord] Unable to load bedrock skin for '[B]rcmaehl2499' as they are likely using a customised skin
04:15:52 [INFO] [[B]rcmaehl2499] <-> ServerConnector [hub] has connected
04:15:54 [INFO] [Geyser-BungeeCord] Spawned player at -198.966 65 147.78
04:19:22 [WARNING] [[B]rcmaehl2499] -> UpstreamBridge - read timed out
04:19:22 [INFO] [Geyser-BungeeCord] rcmaehl2499 has disconnected from remote Java server on address 172.18.0.12 because of ReadTimeoutException : null
04:19:22 [INFO] [[B]rcmaehl2499] disconnected with: ReadTimeoutException : null
04:19:22 [INFO] [[B]rcmaehl2499] -> UpstreamBridge has disconnected
04:19:22 [INFO] [[B]rcmaehl2499] <-> DownstreamBridge <-> [hub] has disconnected
04:19:22 [INFO] [Geyser-BungeeCord] Bedrock user with ip: /IP has disconnected for reason CLOSED_BY_REMOTE_PEER

~Enabling all my bungee plugins brings it time until error back down to about 60 seconds.~

Or maybe not, not getting consistent results since the proxy reset outside of 30 second ish intervals, I've seen disconnects at 60, 90, 210, and 300 seconds at this point. I'll try to get more testing done tomorrow

@rcmaehl Can you give the list of the other plugins on bungeecord and the version of bungeecord and maybe (idk if it's usefull or not) but can you give us the name of your server software (the version too) with the plugins ?
If you want you can enable the debug mode in the geyser config.
Have a nice day.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

l-ddP picture l-ddP  路  7Comments

DeeRenjie picture DeeRenjie  路  8Comments

DoctorMacc picture DoctorMacc  路  9Comments

DefinitlyEvil picture DefinitlyEvil  路  13Comments

Benedani picture Benedani  路  3Comments