касательно читов:
в играх типа доты или д3 все решается на сервере, который выдает клиенту информацию для отображения. в этом случае влияние пинга по сути удваивается, так как клиент отправляет на сервер свои действия, сервер обрабатывает и возвращает клиенту результат. в итоге появляются моменты, на которые в таких играх внимания не обращают. скажем монстр стоит вдалеке, наносит удар и попадает, хотя по идее не должен. решается все достаточно просто, после того, как рассинхрон достигает определенного уровня происходит так называемый откат. то есть игрок возвращается на мгновение назад. в народе это просто лаги, но это не лаги, а способ устранить рассинхрон между клиентом и сервером.
в стрелялках так не получится. тут ты обязан выдать клиенту больше прав, чтобы снизить влияние пинга. и обычно в стрелялках реализуют один из двух принципов неткода
1. сервер получает информацию от клиента А, получает ее с задержкой, но мрментом получения инфы является именно момент прихода инорфмации на серв), отправляет ее клиенту Б. клиент Б естественно получает информацию с задержкой, но учитывается только задержка клиента Б, так как имеет значение время отправки инфы в сторону Б. таким образом клиент Б должен стрелять с небольшим упреждением, чтобы сервер засчитал попадание на момент принятия информации от клиента Б
2. сервер получает информацию от клиента А, отправляет клиенту Б, при этом хоть клиент Б получает информацию с задержкой, но после выстрела сервер досчитывает вероятное место положение А на момент выстрела. по сути просто чуточку увеличивается хитбокс в сторону движения А.
в динамичных играх типа кваки используется вариант 1
в играх, где большой разброс у оружия, в батле и прочих кол оф дютахы вполне можно использовать вариант 2. там персонажи не двигаются с сумасшедшей скоростью, нет распрыгов и прочих штук. плюс все эти мелочи меркнут на фоне огромного разброса пулеметов и прочего автоматического оружия.