Античит для open.mp - markelov666 - 2026-09-26
Античит для 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-кодов
Их можно включить в config.ts через setCodeEnabled.
Как подключить к проекту 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
Античит хранит "ожидаемые" позицию, деньги, ХП, броню и оружие. Если мод сам телепортирует игрока, выдает оружие или меняет ХП, нужно сообщить об этом античиту. Иначе будет ложный кик.
Импорт:
PHP Code: 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);
P.S grantWeapon учитывает, что giveWeapon в SA добавляет патроны к слоту, а не заменяет их.
Зависимости в вашем моде
Модуль ожидает:- авторизацию игрока (isAuthenticated / getAccount с полем money и health)
- утилиты playerId, playerIp, isPlayerActive, kickSamePlayer
- omp.on события open.mp
- для уведомлений админам: getAccount(...).adminLevel
Если структура проекта другая, подправьте импорты в loop.ts, punish.ts, vitals.ts и trust.ts под свои пути.
Настройки
Файл: modules/anticheat/config.ts
Полезные поля:- enabled - вкл/выкл весь античит
- kickOnDetect - кикать при срабатывании
- softStrikeMax - сколько срабатываний до кика (сейчас 1)
- debug - подробный лог предупреждений
- maxPing, maxConnectsPerIp, пороги скорости и телепорта
Включить или выключить один детектор: setCodeEnabled(AcCode.Money, false);
Что происходит при срабатывании
- Запись в лог сервера: [AC] ...
- Сообщение админам в чат (adminLevel >= 1)
- Сообщение игроку
- Kick этого игрока (если kickOnDetect = true)
Жесткие коды (кик сразу): fake spawn, weapon crasher, sandbox IP, DoS.
Структура папки
Quote:anticheat/
index.ts - модуль и экспорт API
codes.ts - коды детектов
config.ts - настройки
state.ts - состояние игроков
trust.ts - API доверия для мода
punish.ts - кик и уведомления
loop.ts - события и таймер
detectors/ - проверки (движение, деньги, оружие и т.д.)
Скачать
|