Skip to content

Players are sometimes invisible when logging back in after a timeout #1611

@CC-Odin

Description

@CC-Odin

Server version

Velocity 3.5.0-SNAPSHOT (git-7e01491e-b574) & Paper version 1.21.11-110

TAB version

5.5.0

Plugin list

Have reproduced with each of the following in a test environment with no other plugins installed:

  • TAB-v5.4.0
  • TAB-v5.5.0
  • TAB-6.0.0-SNAPSHOT+2008

Describe the bug

Have been trying to pin this down since at least October where under very specific circumstances players can end up in this pseudo-spectator or "ghost" mode as players on the server have been calling it.

the requirements are very specific:

  • it only occurs when the previous connection is in the process of timing out but has not yet done so
  • it requires triggering a duplicate login error in both Velocity and Paper
  • i'm reasonably certain that the player needs to be in unloaded chunks with no other players nearby when logging back in (or at least that's the only time I've seen it trigger)
  • the tablist for that player won't show any headers, footers or server name details when in this state
  • the tablist for that player may show them in spectator (but not always)
  • the tablist for any other player will not show the player once triggered, but sometimes they will briefly appear in the tablist after logging back in before they disappear
  • once triggered, any currently logged in player won't be able to see them but any new players connecting to the server after that will

Expected behavior

Players should not be in ghost mode : )

Steps to reproduce

Players with high latency connections or otherwise poor connections have been the most impacted by this, as they're more likely to be disconnected and then try to reconnect before their previous connection has timed out.

I've been simulating that using a VPN to interrupt the client's connection to the server, disconnecting from the VPN and then reconnecting back to the server within 15 to 18 seconds in order for the previous connection to have not yet timed out on either Velocity or Paper.

Additional info

Log entries from Velocity for the most recent time I triggered this:

[22:28:43 INFO]: [server connection] Odin__AllFather -> survival has connected
[22:29:10 INFO]: [connected player] Odin__AllFather (/...:62847) has connected
[22:29:10 INFO]: [connected player] Odin__AllFather (/...:55974) has disconnected: multiplayer.disconnect.duplicate_login
[22:29:10 INFO]: [server connection] Odin__AllFather -> survival has connected
[22:29:10 INFO]: [connected player] Odin__AllFather (/...:55974): kicked from server survival: multiplayer.disconnect.duplicate_login
[22:29:10 INFO]: [server connection] Odin__AllFather -> survival has disconnected
[22:29:10 INFO]: [connected player] Odin__AllFather (/...:55974) has disconnected: You were kicked from survival: multiplayer.disconnect.duplicate_login
[22:29:38 INFO]: [connected player] Odin__AllFather (/...:55974) has disconnected: An internal error occurred in your connection.
[22:29:38 ERROR]: [connected player] Odin__AllFather (/...:55974): read timed out

Log entries from Paper:
[22:28:46 INFO]: Odin__AllFather[/...:49006] logged in with entity id 890 at ([world]292.5046250253844, 74.0, 408.6292741456509)
[22:29:10 INFO]: UUID of player Odin__AllFather is 5de43472-a66c-4190-9ac7-6c12f6e87d91
[22:29:10 INFO]: Odin__AllFather lost connection: You logged in from another location
[22:29:10 INFO]: Odin__AllFather left the game
[22:29:12 INFO]: Odin__AllFather joined the game
[22:29:12 INFO]: Odin__AllFather[/...:50254] logged in with entity id 1069 at ([world]292.5046250253844, 74.0, 408.6292741456509)

The following screenshots show the progression of the player being in ghost mode and how the tab list is broken in various ways as both players progressively relog.

  • Odin's view in ghost mode
    Image

  • DungeonLackey's view while Odin is in ghost mode
    Image

  • DungeonLackey's view after relogging (note that Odin's server description is missing)
    Image

  • DungeonLackey's view after Odin relogs as well
    Image

Checklist

  • I am running latest version of the plugin
  • I have read the wiki to make sure it's not an issue with configuration
  • I ticked all of the boxes without actually reading them
  • I have read the Compatibility wiki page and am not trying to run the plugin on an unsupported server version / platform
  • I am willing to cooperate to get this issue resolved faster, including providing any additional information requested or testing new builds

Metadata

Metadata

Assignees

No one assigned

    Labels

    Resolution: Added / FixedFeature added / issue was fixedType: BugPlugin is not working as described on the wiki

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions