Плагин для подсчета коннектов от найденных хешей.
Убрал только проверку на ReClient, попросили не палить способ.
AMX Mod X 1.9.0 + ReAPI
Сразу оговорюсь, мой способ подсчета костыльный, не охотно было заморачиваться с API ReChecker'a для более универсального способа без использование файла resources.ini в принципе, если кто хочет запилить такой, то пожалуйста.
Примерные наброски, что бы понимали о чем речь, не тестировал.
Код:
#include <amxmodx>
#include <reapi>
const MAX_BOOST_NAME_LENGTH = 32;
enum _:HashStruc {
HashNumber,
HashName[MAX_BOOST_NAME_LENGTH]
}
new Array:HashList, HashListNum, Hash[HashStruc];
public plugin_init() {
RegisterQueryFile("../config/rev_MasterServers.vdf", "QueryFileHandler", RES_TYPE_HASH_ANY);
HashList = ArrayCreate(HashStruc, 0);
Hash[HashNumber] = 1; // TODO
copy(Hash[MAX_BOOST_NAME_LENGTH], charsmax(Hash[MAX_BOOST_NAME_LENGTH]), "some-boost.com");
ArrayPushArray(HashList, Hash, sizeof Hash);
HashListNum = ArraySize(HashList);
}
public plugin_end() {
ArrayDestroy(HashList);
}
public QueryFileHandler(const client, const hash, const uniqueId) {
for (new i = 0; i < HashListNum; i++) {
ArrayGetArray(HashList, i, Hash, sizeof Hash);
if (hash == Hash[HashNumber]) {
// TODO: Log IT
}
}
}
И, так. Так-как я упомянул, что мой способ немного костыльный, то для него необходимо выполнить следующие условия:
1. В resources.ini список хешей должен быть в самом вверху, без BREAK в конце, и лишь только после всех хешей можете добавлять проверки на свои читы и так далее.
2. Последним хешем будет проверка на кфг файл для определения неизвестных коннектов и лицензионного клиента.
3. Имя неизвестного коннекта в плагине, должен совпадать с именем неизвестного "хеша" в resources.ini
Код
new const MS_UNKNOWN[ ] = "[UNKNOWN]"; // МС неопределен
Код
"../cstrike/config.cfg" UNKNOWN "ms_check [userid] '[UNKNOWN]'"
хеши.txt ( 1,65 килобайт )
Кол-во скачиваний: 35В итоге получаем такой формат ежедневного логирования
Отредактировал: Salpson, - 21.7.2019, 9:52