Should I do combat hit detection on the client or the server

Making a combat system and I want to know if it would be better to do hit detection on the client. When its done on the server the experience is pretty bad but obviously if its done on the client its more susceptible to exploits and one player might not even see the hit connect yet it still does. Whats the best method to counteract all of this.

You mustn’t trust the client to do the checkings, do the checkings on the server instead.

The best method is “both”.

Check on the client for instant visual feedback.

Double-check on the server for actually affecting health, scores, etc.