1. Процесс отправки результатов должен быть согласован с предыдущими данными.
То есть вы не должны принимать пакет с результатами и сразу в скоребоард. Сперва должен быть пакет, что игрок начал трассу, потом какие-то промежуточные значения, затем уже результат. Для каждого пакета должно быть корректное время создания.
2. Опять же, клиент игры может отправлять дополнительные пакеты с информацией, и желательно регулярно меняться чтобы хакеру было сложно написать "бот", который будет работать вечно.
3. Информация должна шифроваться, алгоритм храниться в секрете. Можно сделать несколько алгоритмов и между ними переключаться, чтобы хакер сломал голову, разбираясь в каком виде он должен слать данные.
4. Логирование действий обязательно. Если есть подозрение, что какой-то клиент шлет некорректные данные (тренируется в написании бота) - можно банить сразу, или можно обсфуцировать бан - делать для такого клиента лаги, глюки и проблемы, чтобы он не понял что происходит, а банить немного погодя, чтобы он не мог вычислить какое именно его действие привело к бану.