I need help with Replication C++

Hello, I’m new using UE4 Networking system so I was watching info about Replication, Server, Client and Multicast.
I have a few doubts that maybe someone could help me.

1 - Should I pass all the Player input to the Server (Replicated variable)?

2 - I’m creating a Tank that have 3 different meshes: The body, the head and the cannon. To get the transform of every component, Should I activate Component Replicates?

3 - I would like to make it trying the best performance so, Isn’t that hard to compute all the movement calculations and rotation of the 3 components for the server? Because if they’re 10 people playing the server will compute all the calculations of the 10 clients.

4 - (This is a code issue) My tank head should be pointing with the same rotation of the springArm. What should be the best way to pass the rotation of the springArm? (Pass the rotation to a Replicated Variable || Set the Mouse Input to a replicate Variable and activate component replication).

Thank u a lot if you help me, I’m just trying to learn.

This is my tank code if u want to check for the 4th question or 3rd.

ClientPawn.h - Pastebin.com - ClientPawn.h

ClientPawn.cpp - Pastebin.com - ClientPawn.cpp