Physics Replication, Client Syncing

I’m making a simple multiplayer racing game, and the physics of my car follow this video’s logic. Essentially just ray casting for suspension and using physics to drive the motion of the car. This all works fine for the player that is the server, but the client joins and everything goes haywire. Here’s what I know:

The client falls down on the server’s screen, so the forces of suspension and movement must not be replicated to the client’s side.

The client goes nuts on the server screen, but I found that this was due to the fact that the client was saying the suspension force should be very large, since for the client, the car was on the ground. The client would then tell the server to add a large force, which the server would, but the client would never receive that as an update and the client would still think his car was on the ground, triggering the large force again.

Clearly, the client isn’t receiving physics updates about itself. However, it IS receiving updates about the server’s car, and can see it moving fine. The pawn is the same for both of them, and all of the components are set to replicate. Whenever I add a force in the Pawn’s BP, is use SwitchHasAuth. If it’s the server, I just do the physics with no custom events needed. If it’s the client, I use a custom event set to Run On Server (which according to this table should work, because the Pawn is client owned right?) and do the physics in that custom event.

I’m truly at a loss here, I thought I had a decent grasp on UE4’s networking system before this. Let me know if you guys see anything different that me, and I can provide further details about the issue if you need them. This is just what I thought you’d need to know. Thanks!