Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Rakcheat - фильтрация входящих на сервер данных

0xFSO

Изучающий
Пользователь
Регистрация
7 Фев 2018
Сообщения
120
Лучшие ответы
0
Репутация
49
Rakcheat​


Описание
Простая библиотека, защищающая ваш сервер от кривых данных от игрока. Говорить о том, что самп не фильтрует многие данные - думаю не стоит и в итоге при отправке специфичных значений (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 - невалидный выстрел персонажа

Скачать актуальную версию вы всегда сможете с моего репозитория на
 
Последнее редактирование:
Сверху Снизу