How to deal with player latency in melee combat

What is the best way to deal with player latency without compromising security?

The client can send their tick to the server so the server knows which events happened first. However, Roblox already handles RemoteEvents in order, so you don’t need to worry about this very much.