по защите:
мысль такова - проверять те данные, которые непосредственно сейчас считаются у клиента.
1. можно проверять непосредственно оперативную память клиента? ну, что-то типа дампа? на сервере хранить эталонные параметры, по заданным критериям выбираем игрока, снимаем дамп по определенным адресам, контролируем на сервере путем сравнения. Критерии обсуждаемы (ну, например после первого килла, потом рандомно всю толпу имеющих очки), адреса памяти для хранения критично важных параметров модели тоже известы - не нужно все подряд, опять-таки рандомно 2-3 цифры. На трафик сильно не ляжет, и теряется смысл прятать и вообще читерить - ведь неизвестно, что и когда проверят.
2. Еще вариант - засылка легкого скрипта, после выполнения которого отсылается ответ. Несовпадает - повторная проверка через некоторе время, опять непопал - просим с сервера автоматом. Опять используя дамп памяти. Вариантов можно сделать массу, вплоть до мощность*критичн.угол.атаки-тип.винта/кол-во.снарядов.пушки. ИМХО, нагрузка на трафик/процессор невелика, контроль может быть выборочным.
PS просьба не считать флудом.