Ghost players #78
Labels
No Label
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
upstream
wontfix
No Milestone
No project
No Assignees
1 Participants
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: unfa/liblast#78
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
Maybe player scenes should ping home to make sure their network authority is still online, or to check if there are other player scenes and prune the stuck ones.
We've experienced this on the team meeting, and I have managed to reproduce it by running a few clients, stopping and starting the server, reconecting clients etc.
Werid things happen, we need to find a way to prevent that.
I guess the simplest way to fix this would be to periodically check for player scenes under
/Main/Players/
and se if they belong to any active peer. If not - delete them.I've managed to trigger this problem by connecting and suspending my computer while being connected.
When I resumed and saw that the server has disconnected, I have reconnected and saw my old body hanging where I left it.
I should investigate what's going on when a player disconnects.
Maybe these bodies are put into the respawn queue somehow?
I think each player should generate and confirm with the server a random token thwt would let us distinguish the active and dead connections. Also we could do a garbage collection of dead player nodes when a new player joins and leaves to ensure game stare integrity.
Check the nodes, make sure eaxh node matches a peer ID with an active connection. Whatever is left without a match should be pruned.