Hey there, first time posting here so hopefully I’ve put this in the right place. For some background, we’re the developers of Bronzebeard’s Tavern, and we’ve been trying to fix this one bug for weeks now with no luck. We’ve found some individuals with vaguely similar bugs to this in the past on these forums, but nothing the same that has helped us in solving this.
This bug occurs inconsistently on the client when joining the host from menu → tavern/game. Joining the lobby does not trigger this bug. Re-joining the game may or may not resolve the bug for the client, it will simply have another chance of occurring. This bug only appears in the build of the game when hosting over steam. Attempting to simulate poor connection in-engine or playing lan does not trigger this bug.
On the server’s end, the server/host of the game can still play exactly the same as normal, with no changes from their perspective.
On the client’s end, the ‘visual’ (mesh) of the host will be stuck in their last action. E.g. Running, walking, diving, punching. This will not only be the animation looping, but also any movement that the host was in (assumedly from the moment the client joined). This will result in the host either fully still, or moving infinitely in one direction, e.g. sliding/running into a wall.
If the host emotes, the emote will show on the ‘desynced’ mesh. If they pick up an item, the ‘desynced’ mesh will be shown holding that item.
If the client tries to walk into the host on their end, there may be some stuttering similar to rubber-banding for the ‘desynced’ host’s mesh, but the client will be able to walk through the host without collision. If the host is stuck in a corner or wall and the client walks into them, the host will then be forced into the air above the client, and fall infinitely.
The host can still interact normally with the game, and these actions will still reflect on the client. E.g. the host can throw items, which will throw from the host’s real position. The host can punch the client, which will reflect client side, and despite the mesh being able to move independently of the host as described, the real host (invisible on client side due to mesh disconnect) will still physically collide with and obstruct the client player.
This bug appeared after/on our yuletide update, we have gone through all of our new additions for that update and removed them for testing and none of them have resolved this bug. Some examples of these include removing voice chat and the cosmetics shop.
For other solutions, we have tried:
Switching to the default movement component
Always relevant = true
Net cull distance is default (super high)
Only relevant to owner is false
Force net update
Forcing an update of the hosts position on the client. This snaps the host back to their correct position, but fails to fix the bug as they simply desync from that new position.
Re-creating the player bp entirely. (new bp, manually copied properties, redone references etc)
Any help is hugely appreciated. Thank you :).