The Client calls RPC, but it runs on server. So anything later than red node TestServer will be executed ONLY on Server. In Epic’s tutorials all firing, damage and other changes executed on server. This functions change replicated variables. And clients “feel” the result. So, if you want fire weapon, just call it from any client with RPC. On Server run bullit movement and hit detection.
But health, bullit and other parameters are “Replicated”. So, changes on Server will be seen on clients.
Server - gameplay calculations, clients - input, HUD, graphics and calling. You can make calculations on clients too, but first need training like I wrote, to make it feel!