Skip to content

Latest commit

 

History

History
51 lines (43 loc) · 5.14 KB

README.md

File metadata and controls

51 lines (43 loc) · 5.14 KB

Rakcheat

Более новые версии были совмещены с Nex-AC и находятся здесь.

Описание

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