Как сказал Байт56: «никогда не доверяй клиенту», но:
Никогда не доверять клиенту приходит по цене:
дорого: наличие всех игр, играемых на сервере, значительно увеличит стоимость вашей инфраструктуры.
Предполагая, что большинство игроков не будут обманывать,
а верхний рекорд пройдет через некоторое время и перестанет сильно меняться
есть средний путь.
Запись игр (на клиенте).
(В зависимости от типа игры это может быть очень просто (например, шахматы) или немного сложнее (например, многопользовательский FPS),
но это всегда выполнимо.)
Когда игрок заканчивает игру, просто отправьте счет.
Если счет находится в определенном диапазоне сверху (например, верхний 1% или верхний 5),
запросите записанные данные у игрока
и воспроизведите эту игру на сервере.
Если результаты совпадают, примите их.
Таким образом, вам не нужно никаких дополнительных ресурсов на стороне сервера для большинства игр,
но вы можете убедиться, что лучшие результаты действительны.