How to make the server handle important decisions for the game

Here is how I did my Server Side reload handling. The only 2 variables that are replicated are CurrentAmmoInMag and CurrentTotalAmmo, if they weren’t replicated then my widgets wouldn’t update. The server has full control over weapons, the client can only make a request to fire or request to reload.

I need to get rid of the delays and set up timers