Don’t tell the client what’s going on outside its vision, I suppose? Add a small buffer to compensate for latency, so wall hack would be more of a “corner hack”.
I imagine the alternative way to combat kernel-level cheats would be asking player for all his game state data, validating it on a server?
Wouldn’t work on peer-to-peer and you’d have to do a bunch of unnecessary compute(recalculating every tick if player-generated data is possible according to game rules) but its the only way I can think of.