Rakcheat
(Автор: f0Re3t)
GitHub
Описание
Простая библиотека, защищающая ваш сервер от кривых данных от игрока. Говорить о том, что самп не фильтрует многие данные - думаю не стоит и в итоге при отправке специфичных значений (NaN, inf, -inf) игроков можно крашить, отправлять в загрузку, заставлять самп удалять вашего персонажа (как вариант невидимки от сампа, легально же). Данная библиотека при помощи плагина Pawn.RakNet проверяет каждый пакет синхронизации персонажа и если находит такие невалидные данные - отключает его от сервера. Так же библиотека может выступать в некоторой степени как античит, но список конечно не богат, всего лишь защита от серфинг-невидимки и невалидном угле персонажа (ходьба на голове и прочие подобные читы).
Библиотека так же может передавать все обнаружения в свой специальный каллбек OnRakcheatFilteredData(playerid, sync, type, subtype), который вы можете объявить и наказывать игроков как хочется вам. Вернув в данном каллбеке 0 это рассинхронизирует пакет данных игрока. Описание параметров будет чуть ниже.
Константы
В библиотеке доступно несколько констант которые вы можете использовать и переопределить.
RAK_DEBUG - включает логирование каждого срабатывания защиты, выводит подробный лог с данными которые шлет игрок (включено по умолчанию).
RAK_MAX_QUAT_WARNINGS - количество варнингов, которые получит игрок за невалидный угол персонажа, прежде чем будет выгнан с сервера.
RAK_ENABLED_SHOT - включает защиту от невалидного выстрела
Параметры каллбека
playerid - ид игрока, на которого сработала защита
sync - ид пакета, в котором сработала защита
type - код сработавшей защиты
subtype - подкод сработавшей защиты, нужен при предъявлении ложных срабатываний, в другом смысле бесполезен для внимания
Описание ид пакетов, в которых может сработать защита
207 - onfoot синхра, игрок находится пешком
200 - vehicle синхра, игрок находится за рулем авто
211 - passenger синхра, игрок находится на пассажирском месте в авто
209 - unoccupied синхра, игрок толкает пустую машину
210 - trailer синхра, игрок отправляет синхронизацию прицепа
212 - spectator синхра, игрок наблюдает за кем либо
206 - bullet синхра, игрок стреляет из огнестрельного оружия
203 - aim синхра, игрок отправляет синхронизацию своей камеры
Описание кодов защиты
1 - невалидная позиция
2 - невалидные кватерионы
3 - невалидная скорость
4 - невалидные оффсеты серфинга
5 - невалидный ид объекта/машины для серфинга
6 - невалидные флаги анимации
7 - невалидное количество хп
8 - невалидная скорость поезда
9 - невалидный поворот
10 - невалидное направление
11 - невалидная угловая скорость
12 - невалидные координаты выстрела
13 - невалидные координаты попадания пули
14 - невалидные смещения выстрела
15 - невалидные вектора камеры
16 - невалидная позиция камеры
17 - невалидное значение aimz
18 - невалидный выстрел персонажа
Скачать:
rakcheat.inc
[32,79К]
Страница 1 из 1
Rakcheat - фильтрация входящих на сервер данных
Поделиться темой:
Страница 1 из 1