Данный патч разработан для противодействия различным видам спидхаков. Основной алгоритм работы - это сравнение фактического перемещения перса от предыдущего положения с возможным при его текущей скорости.
В частности патч содержит проверки на изменение скорости, телепортацию в пределах карты, хождения по горам, по воде и полетов - при отсутсвии активного умения у персонажа. Код патча старался максимально оптимизировать по необходимым вычислительным ресурсам - отсутсвуют тяжелые математические операции. Серьезных изменений в пинге/лаге сервера не замечено.
После установки патча в файле конфигурации сервера mangosd.conf при необходимости можно модифицировать ряд параметров (см.ниже.).
Он отвечает за активность основного механизма.
Патч работает в пассивном режиме, то есть никого не кикает и не банит - просто перемещает в предыдущую точку.
PS. Из-за особенностей сетевого обмена между клиентом и сервером возможны ложные срабатывания античита (в среднем 3-10% от общего числа срабатываний в зависимости от загруженности сервера и/или клиента). Внимание стоит обращать на серии срабатываний (10-15 и более строк подряд в логе) - читер как правило флудит.
==последние изменения >>==
28.12.2007
Обновление и адаптация под ревизию 4935. Небольшие косметические изменения в генерируемых логах и допустимых диапазонах.
30.12.2007
HotFix.
Поправлен баг с кораблями/цепелинами - некорректно происходило снятие перса с корабля;
исправлен случай движения перса по сплайну - используется в таких спелах как Charge, а также при пересадке такси;
исправлена реакция на эффект KnockBack - спелы отброса игрока от моба в бою, была неверная последовательность загрузки полей из клиентского пакета.
Ну и немножко косметических изменений =)
03.01.2007
Небольшой фикс на проверку падения.
Актуализации ревизии.
07.01.2007
Обновил до текущей ревизии.
10.01.2007
FIX: Добавил дополнительные проверки на спелы отбрасывания от мобов.
FIX: исправлено срабатывание античита при всплытие подпрыгиванием
Новое: добавлен механизм препятсвующий отключению читами нанесения повреждений при падении.
11.01.2007
NEW: Добавил возможность кика игрока. Кик по частотному счетчику срабатывания античита
Небольшой рефакторинг кода.
Внимание! Изменился вид переменных в конфигурационном файле. Код устарел - смотрите новые ревизии.
18.05.2008
Обновление до текущей ревизии 5882. Отключен механизм кика, убран механизм альтернативного расчета урона падения. Изменен формат логов - теперь логи срабатывания будут выводиться в дебаг-режиме. Факт срабатывания выводится количеством срабатываний - тут надо тестить иногда слишком большие числа.
Вложение 5659
11.07.2008
Обновление до ревизии 6262
6262_speed_cheat_fix.patch
15.09.2008
Потихоньку переписываем код патча. Все новое - хорошо забытое старое =)
Вернул проверку на полет, штатная проверка в ядре с некоторых пор перестала работать.
Переписан механизм альтернативного расчета урона от падения. Предварительные тесты показывают точность сопоставимую со штатным механизмом, ложных срабатываний и сверхбольшого урона отловить не удалось, но надо тестить. (Альтернативный расчет полностью заменяет штатный).
Плюс немного почищен код и отладочные сообщения вынесены в дебаг-сборку.
6603_speed_cheat_fix_alpha.patch
20.09.2008
Продолжаем переписывание.
- Поправлен механим альтернативного расчет урона от падаения, учтены телепортация и плавание =)
- Переделана логика обработки полета на такси, теперь должно корректно пропускать маршруты на другие карты.
- Добавлен механизм проверки на TeleportToPlane, взят за основу патч от GriffonHeart. Плюс добавлен новый параметр в настройки - количество срабатываний проверки на TeleportToPlane прежде чем игрока кикнет с сервера.
- Подчищен код от неиспользуемых вещей - убраны неактуальные параметры из конфигурационного файла.
6633_speed_cheat_fix_alpha.patch
20.10.2008
патч под git, под последнюю доступную ревизию (в названии патча -дата и время ревизии)
speed_cheat_fix_beta_20081020_073059.patch
14.11.2008
Патч окончательно переехал на git. Исправлен конфликт в патчем арен.
Страничка патча на GITHUB.COM:
http://github.com/CWN/mangos/tree/speed_cheat_fix
Лог ревизий (совместно с логами официальной ветки mangos - она автоматом подключается при слиянии обновлений) - http://github.com/CWN/mangos/tree/speed_cheat_fix
Чтобы быстро накатить патч на текущую локальную ветку:
Код:
git pull git://github.com/CWN/mangos.git speed_cheat_fix