Invalid game state on multiplayer client when FPS >180

When a client connects to a server while either server or client runs at a frame rate higher than about 180 frames per second the client ends up in an invalid game state.

While the client does receive the welcome packet with the map name and successfully loads into the map, it never receives any of the initially replicated actors (gamestate, controller, owned pawn, other pawns) and gets stuck with a view of the map at position 0,0,0 with no pawn or player controller.

If the server ends up sending an RPC message afterwards, the client is able to construct the message owner’s UObject and successfully receives the RPC message and parameters.

If the framerate of both machines gets limited to 175 or lower with ‘t.MaxFPS’ all actors promptly arrive at the client and both pawns can happily send RPC messages and it all works fine.


I wrote a C++ sample game and here’s how it looks with an unlimited framerate: ([Full image][1])

When the client (right side) joins the session and connects to the host, nothing happens. At timestamp 18.612 the client leaves the map it was in locally before joining (EndPlay on pawn and gamestate is called) and then opens the map in mulitplayer mode. But because it never receives any actors the view just stays at position 0,0,0. Later at timestamp 32.276 I pressed a key on the server which sent an RPC message to the client which did arrive (but the client stays without pawn/controller).


And here with max 175 FPS: ([Full image][2])

When the framerate gets limited to 175 FPS the client receives all actors from the server after connecting (timestamp 18.118 ~ 18.295). Then the client has its pawn which is placed at the playerstartpoint and both the servers RPC messages and the clients RPC messages arrive properly.


[Download the UE4.17 Project here (HighFPSNetwork_UE4Project.zip - 14 kb)][3]


I only tested this on 2 machines with similar specs so the limit might be different on other machines.

I have the same issue, my player state is not replicated on high framerates