Impossible use UE4 for a coop or mp listen server game due the unfixed network errors since 4 years

As of August 2020 this is STILL broken, I applied 6 different fixes from the numerous forum topics on this, none of them work.

I don’t know if it’s been posted here or elsewhere but listen server couldn’t rotate another player’s character mesh and I found out why. Linear fixes all my issues and just works so much better on both dedicated and listen server.

It turns out, Epic has decided you’re not allowed to use linear on listen server, even though this breaks heaps of stuff.

Here is my solution:


void UMyCharacterMovementComponent::OnRegister()
{
    Super::OnRegister();

    // UE4 forces this back to exponential which
    // BREAKS turn in place and any mesh rotation!
    const bool bIsReplay = (GetWorld() && GetWorld()->IsPlayingReplay());
    if (!bIsReplay && GetNetMode() == NM_ListenServer)
    {
        NetworkSmoothingMode = ENetworkSmoothingMode::Linear;
    }
}

Here is where the problem lies, at the last few lines in the UCharacterMovementComponent::OnRegister function

else if (NetMode == NM_ListenServer)
{
    // Linear smoothing works on listen servers
    // but makes a lot less sense under the typical high update rate.
    if (NetworkSmoothingMode == ENetworkSmoothingMode::Linear)
    {
        NetworkSmoothingMode = ENetworkSmoothingMode::Exponential;
    }
}

3 Likes

“Good” news, this is no longer backlogged.

It’s now labelled as “Won’t Fix”.

@Hevedy I went down the same rabbit hole you did, no one ever solved this on answerhub, UDN, or elsewhere. I tried everything they suggested and exhausted every single avenue. The people trying to debate whether its an issue earlier in the thread clearly never attempted it themselves. I was able to improve the result slightly but it was never even close to “acceptable”.

2 Likes

Try to use p.NetEnableMoveCombining=0 that should fix the jiggery animations from clients

How is this still a thing? I’m struggling with this and using “p.NetEnableMoveCombining=0” doesn’t seem to fix it for me, unless i did it wrong.

What engine version are you on? I’m trying this on 5.4 and get the problem OP reported if I set NetworkSmoothingMode to ENetworkSmoothingMode::Linear - the opposite of what’s reported as a fix. The issue is non-existent if I leave it as it is with the default value.