Описание флагов: 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 Адрес игрока [id] - Индекс игрока [userid] - идентификатор игрока [steamid] - Steamid игрока [file_name] - имя проверяемого файла [file_hash] - хэш проверяемого файла который вернул клиент (Внимание: этот хэш big-endian, если вы хотите получить хеш для последующего применения в resources.ini то используйте file_md5hash) [file_md5hash] - хэш проверяемого файла который вернул клиент Полезные примечания: Причину наказания или оповещения можно заключать в одинарные кавычки. "amx_kick [userid] 'Opengl32 Detected'" md5 хэш c8005c526355d8015d462dc7f4ddb159 достаточно иметь первые 4 байта (c8005c52)