Client side vs Server side shooting authority?

so what I’ve done for now is this(and I’m not done nor nowhere near server validation but this works until I get there)

player wants to fire, he fires locally his bullet…
he also tells server to multicast shots (but they only do visual/audio fx) and they skip the original player (they dont get called again for him)
the original player’s shots can do damage and ONLY upon hitting another player do they call a reliable RPC, this reduces the need to replicate every bullet reliably, only the actual HITS are sent reliably…

if its an automatic weapon only START FIRING and STOP FIRING are reliable RPC’s multicast to other clients with a timer set to firing rate that spawns the bullets locally… so 1 RPC to start firing, 1 to end… here you completely eliminate the need to call a reliable RPC for EVERY BULLET

I just made this today, so next step is server validation, but this is basically what I’ve been seeing in the games I’ve been playing(client sided bullet damage authority)…