[PLUGIN] [REL] AAC - клиент-серверный античит для SA:MP
Что реализовано: подключение античит-клиента к античит-серверу(плагин для SA:MP сервера), уникальные идентификационные номера для компьютеров, колбэк OnAAConnect(ip[], playerid, serial[]);
Защита от простеньких трейнеров и собейта.
Поддерживаемая версия: 0.3с.В конфиг-файле сервера можно сменить порт сервера античита на свой. При установке античит-клиента инсталлятор спросит об античит-сервере. Вводить только в формате IP:Port. При повторной установке - запишется новый сервер.
Версия 0.3:http://adamix.ru/AAC-0.3.zip
Версия 0.4:http://adamix.ru/AAC-0.4.zip
Версия 0.5:http://adamix.ru/AAC-0.5.zip
Версия 0.6: http://adamix.ru/AAC-0.6.zip
Защита от простеньких трейнеров и собейта.
Поддерживаемая версия: 0.3с.В конфиг-файле сервера можно сменить порт сервера античита на свой. При установке античит-клиента инсталлятор спросит об античит-сервере. Вводить только в формате IP:Port. При повторной установке - запишется новый сервер.
Если вы не хотите давать клиентам прямой IP:Port - вы можете послать строку инициализации.
Выглдядит она: [AAC]INIT:8881, где 8881 это порт.
Сообщение должно посылаться с задержкой после подключения(пары секунд вполне хватит)
Пример:
Code
forward AAC_SendInit(playerid);
public AAC_SendInit(playerid)
{
SendClientMessage(playerid, 0xFF0000FF, "[AAC]INIT:8881");
}
public OnPlayerConnect(playerid)
{
SetTimer("AAC_SendInit", 2500, false);
return 1;
}
public AAC_SendInit(playerid)
{
SendClientMessage(playerid, 0xFF0000FF, "[AAC]INIT:8881");
}
public OnPlayerConnect(playerid)
{
SetTimer("AAC_SendInit", 2500, false);
return 1;
}
Что-бы к вам не могли подключиться без античита - просто сделайте проверку, если игрок не прошел OnAAConnect - кикаем. Надеюсь понятно.
Буду продолжать работу пока интересно, после - скорее всего открою исходный код, основная сетевая логика и API клиентского архива останутся закрытыми.
0.2 Release: http://adamix.ru/AAC-0.2.zip
- Добавлена возможность использования второго порта. При установке клиента инсталлятор спрашивает IP(именно IP, не домен) и порт. Должны вводится в формате IP:Port.
- В конфиге сервера - возможность установки своего порта.
- Если в конфиге клиента сервер не найден - клиент античита подключается к порту 8888.
Версия 0.3:
- Добавлен натив GetPlayerSerial(playerid, buf[], len);
- Добавлена возможность послать порт подключения через SendClientMessage.
Версия 0.4:
- Добавлен натив GetAACSPort() - возвращает порт античит-сервера.
- Добавлен пример фильтрскрипта с примером инит-строки.
- Добавлена возможность делать скриншоты клиентов.
- В конфиг сервера добавено:
- Screenshots = true/false - делать или нет скриншоты с клиентов.
- ScreenshotInterval = время в секундах перед скриншотами.(не рекомендуется делать менее 150.)
- Скриншоты сохраняются в папку aac/screenshots/IP/дата-время.png(хотя формат сохранения - jpeg, забыл поправить, может потом сделаю).
- Пофикшено несколько багов.
Версия 0.5:
- Добавлены функции для слежения за модулями процесса gta_sa.exe:
- Codeforward OnAAModuleList(playerid);
[*]native AACLoadModulesList(playerid);
[*]native AACGetModulesCount(playerid);
[*]native AACGetModule(playerid, moduleid, buf[], len); - Пример использования вы можете найти в фильтрскрипте aac_modules.pwn.
- Удален клиентский конфиг-файл за ненужностью.
Версия 0.6: http://adamix.ru/AAC-0.6.zip
- Добавлен натив AACGetNetcodeVersion.
- В колбэк OnAAConnect добавлен параметр: Float:netcode - версия античит клиента.
- Добавлена возможность делать дампы списка модулей, в конфиге сервера - ModulesDump и ModulesDumpInterval.
- Добавлен фильтрскрипт aac_main.