Resources Checker
Автор :
Описание:
- Rechecker это Metamod plugin, дающий возможность проверять клиентские файлы по их md5 хэшу.
- Обнаружение читерских библиотек в директории игры
- Обнаружение отсутствия обязательных для игры файлов
- Обнаружение запрещенных моделей игроков, либо создание белого списка разрешенных
Требования :
- ReHLDS 937 или новее
- MetaMod 1.20(p) или новее
Установка :
- Распаковываем rechecker_X_X.zip в папку <gamedir> вашей игры.
- Добавляем библиотеку rechecker_mm_i386.so или rechecker_mm.dll в зависимости от используемой ОС в конфиг MetaMod.
Для этого открываем <gamedir>/addons/metamod/plugins.ini (если его нет, создаем сами) и пишем ниже :
Linux :linux addons/revoice/rechecker_mm_i386.so
Windows :win32 addons\revoice\rechecker_mm.dll - Запускаем сервер и командой meta list проверяем статус
Linux :- Код: Выделить всё
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Rechecker RUN - rechecker_mm_i386.so vX.X ini Chlvl Any
…
Windows :- Код: Выделить всё
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Rechecker RUN - rechecker_mm.dll vX.X ini Chlvl Any
…
- Установка ReChecker завершена
Квары :
rch_log
- 0 - Выключить.
- 1 - Обычный лог, только обнаружение.
- 2 - Детальный лог.
Дополнительно :
Описание флагов:
Полезные примечания:
- UNKNOWN - Если вам неизвестен хэш, при таком флаге будет искать файл с любым хэшем.
- IGNORE - Это флаг который помечает данный файл с хэшем в игнорируемый список.
- MISSING - Обнаружение отсутствие файла у клиента.
Если 2 файла с указанным хэшем и с флагом IGNORE были обнаружены, то для UNKNOWN они будут проигнорированы
"../qwerty.dll" 099b3b06 IGNORE
"../qwerty.dll" f284f878 IGNORE
"../qwerty.dll" UNKNOWN "addip 1440 [ip]" - BREAK - Этот флаг выходит из всех проверок если файл был обнаружен или наоборот отсутствует.
Ниже предоставлен пример, при обнаружении файла antichet.dll будет выход из цикла,
дальнейшие проверки выполняться не будут.
"../anticheat.dll" bdc52384 BREAK
"../opengl32.dll" 0ee4e274 "addip 1440 [ip]"
- exphash - `expected hash` хэш который ожидает получить
- got - хэш который пришел от клиента
- typeFind - тип обнаружения
- exists - сравнение хэша `exphash == got`
- missing - проверка на отсутствие файла `prevhash == got`
- ignore - файлы помеченные в игнор
- hash_any - проверка на любой хэш `prevhash != got`
- prevhash - хэш предыдущего файла prevfile
- prevfile - предыдущий файл
- md5hex - хэш как указан в resources.ini, тоже самое что и exphash - разница только в порядке байтов от младшего к старшему
- findathash - встречался ли ранее такой хэш во всех проверяемых файлов
- [name] - Имя игрока
- [ip] - IP Адрес игрока
- [userid] - идентификатор игрока
- [steamid] - Steamid игрока
- [file_name] - имя проверяемого файла
- [file_hash] - хэш проверяемого файла который вернул клиент
(Внимание: этот хэш big-endian, если вы хотите получить хеш для последующего применения в resources.ini то используйте file_md5hash)
- [file_md5hash] - хэш проверяемого файла который вернул клиент
Полезные примечания:
- Причину наказания или оповещения можно заключать в одинарные кавычки. "amx_kick [userid] [color=FF0000]'Opengl32 Detected'[/color]
- md5 хэш c8005c526355d8015d462dc7f4ddb159 достаточно иметь первые 4 байта (c8005c52)
Изменения:
2.5 (21 Октября 2017)
- Исправлен Bad file, если gamedll не проверяет свои же оригинальные файлы. Критично для HL с включенным mp_consistency.
- Rechecker API: Исправлены мелкие недочеты.
- Обновление Rechecker API 2.1
- Добавлена поддержка UTF-8 BOM для resources.ini
- Исправлены некоторые незначительные ошибки.
- Убрана проверка на расширение у запрашиваемого файла.
- Исправлен запуск модуля на Linux.
- Поддержка ReHLDS с версией API 3.х (build 3.0.0.361 и выше)
- Добавлен интерфейс Rechecker API для 3rd-party
- Расширен лимит ресурсов с 1280 до [4096 .
- Исправлено ложное обнаружение в некоторых случаях.
- Изменен квар rch_log 0/1/2 (0 - Выключить/1 - Обнаружение/2 - Детальный лог).
- Убран квар rch_delay.
- Исправлен баг с получением файлов в неправильном порядке.
- Обновлен ReHLSDK (ReHLDS build 654 или новее)
- Добавлен квар rch_delay. Отложенное время до выполнения cmd. (По умолчанию: 0).
- Исправлена некорректность данных в логах.
- Исправлено 'Bad file data'.
- Добавлен флаг 'MISSING' на замену хэша 00000000.
- Исправлен баг с флагом BREAK.
- Добавлена возможность выгрузки через meta unload.
- Добавлена база для примера.
- Исправлен баг с отображением даты в логах.
- Добавлены доп. поля в лог-файл.
- Первый релиз
Благодарности:
- dreamstalker за проект Вы должны зарегистрироваться, чтобы видеть ссылки.
- Asmodai за консультацию и помощь в реализации оптимизации.
- Neygomon за проведение тестов.
Обсуждаемая база читов:
Текущая версия 2.5: