- 26
- 46
Античит для open.mp (TypeScript, @omp-node/core)
Серверный античит. Ловит подозрительные действия игрока и может кикнуть его.
Что проверяет (включено по умолчанию):
- AirBreak пешком и в транспорте
- Телепорт пешком, в транспорте и при посадке в машину
- FlyHack пешком и в транспорте
- SpeedHack пешком и в транспорте
- ХП игрока и ХП транспорта
- Броня
- Деньги (сверка с серверным счетом)
- Лишнее оружие
- Лишние патроны
- Неверный ID оружия (crasher)
- Jetpack без разрешения сервера
- Fake spawn (спавн без авторизации)
- Быстрый реконнект
- Высокий пинг (с предупреждениями)
- Много подключений с одного IP
- Флуд колбеков
- DoS по числу пакетов в секунду
Что выключено по умолчанию
Выключены коды с нестабильной логикой или высоким риском ложных киков, например:- Rapid fire
- CJ run
- Invisible, DialogHack, CarJack, Quick turn, FakeKill
- NOP-проверки, Pro Aim, GodMode, Tuning и ряд crasher-кодов
Как подключить к проекту Los Santos Role Play (LSRP) v2
- Скопируйте папку:
resources/src/modules/anticheat - В главном файле модулей (например resources/src/index.ts) импортируйте anticheatModule и добавьте его в список модулей, лучше ближе к концу (после auth и основных систем):
import { anticheatModule } from "./modules/anticheat";
// ...
anticheatModule, - Подгоните импорты под свой проект (auth, player utils), если пути другие.
Важно trust API
Античит хранит "ожидаемые" позицию, деньги, ХП, броню и оружие. Если мод сам телепортирует игрока, выдает оружие или меняет ХП, нужно сообщить об этом античиту. Иначе будет ложный кик.Импорт:
Импорт:
import {
trustPosition,
trustMoney,
trustHealth,
trustArmour,
grantWeapon,
grantArmour,
setTrustedHealth,
} from "./modules/anticheat";
Примеры:
- После setPos / телепорта:
trustPosition(player, x, y, z, interior, world);
- После выдачи денег с сервера:
trustMoney(player, сумма);
- После setHealth:
trustHealth(player, hp); или setTrustedHealth(player, hp);
- Вместо giveWeapon / setArmor
grantWeapon(player, weaponId, ammo);
grantArmour(player, armor);
Зависимости в вашем моде
Модуль ожидает:- авторизацию игрока (isAuthenticated / getAccount с полем money и health)
- утилиты playerId, playerIp, isPlayerActive, kickSamePlayer
- omp.on события open.mp
- для уведомлений админам: getAccount(...).adminLevel
Настройки
Файл: modules/anticheat/config.tsПолезные поля:
- enabled - вкл/выкл весь античит
- kickOnDetect - кикать при срабатывании
- softStrikeMax - сколько срабатываний до кика (сейчас 1)
- debug - подробный лог предупреждений
- maxPing, maxConnectsPerIp, пороги скорости и телепорта
Что происходит при срабатывании
- Запись в лог сервера: [AC] ...
- Сообщение админам в чат (adminLevel >= 1)
- Сообщение игроку
- Kick этого игрока (если kickOnDetect = true)
Структура папки
anticheat/
index.ts - модуль и экспорт API
codes.ts - коды детектов
config.ts - настройки
state.ts - состояние игроков
trust.ts - API доверия для мода
punish.ts - кик и уведомления
loop.ts - события и таймер
detectors/ - проверки (движение, деньги, оружие и т.д.)
Вложения
Последнее редактирование: