What is it better, remotely handle things or let server replicate the events?

So player clicks, and so the weapon of your game shoots, then is it better to remotely start the chain of events to happen on the client, or the server to authorize this events ? and so replicate them? A or B simple questions what you experts think…
1 Maybe A ( remotely ) is better in some circumstances and B in others…
2 Maybe handle things remotely is better for precision and other stuff… Which will benefit the performance of the internet… ?
3 Maybe Server authority ( server making happen to the client what happens in the server ) it is better
???

I think 3 is the way, uses more resources but it is a much more synchronized and accurate situation of what happens in the game right for all clients well specially for the listen hehe ?

How do you guys do it ? :rolleyes:

For shooting I would have the firing client go through the motions locally and RPC the server to execute the authoritative event. We don’t care about the local clients projectile etc. It’s there for client responsiveness. The servers is what matters gameplay wise.