One problem FPS games have in terms of cheating, that always will make anticheat hard. Is that you have a difference in what data/info the player gets from the server. And what the player then is allowed to use. The server needs to tell players the location of other players, Even if they are behind walls. So the other players can have sound play from that location. This data is then used in a cheating fashion to give you wallhack.