Читеры на сервере DayZ — как бороться
Заявка в Discord "у вас читеры, разберитесь" прилетает рано или поздно на любой живой сервер DayZ — вопрос только в том, готовы ли вы её разобрать за пять минут по логам или будете гадать по скриншоту с килфидом. BattlEye встроен в DayZ по умолчанию и уже неплохо режет паблик-читы, но одного его редко хватает — разберём, как читать его логи, где усилить фильтры, какие community-инструменты реально закрывают дыры, и как выстроить процесс банов без "показалось / не показалось".
Содержание
- Что вообще детектит BattlEye в DayZ, а что нет
- Логи и фильтры BattlEye: где искать battleye/*.txt
- Подозрительные паттерны: на что смотреть в логах и статистике
- VPPAdminTools: расследование прямо в игре
- CFTools Cloud: облачная статистика и бан-менеджмент
- Whitelist модов и проверка подписей
- Бан-лист, апелляции и процесс разбора инцидента
Что вообще детектит BattlEye в DayZ, а что нет
BattlEye в DayZ работает в двух режимах одновременно. Первый — сигнатурный: клиентский модуль BE знает паттерны известных чит-программ и банит их сам, без участия сервера. Второй — скриптовый, специфичный именно для DayZ из-за движка Enfusion/Enforce Script, где часть игровой логики выполняется как скрипт: BE следит за вызовами скриптовых функций и может ловить читы, которые дёргают их напрямую (телепорт через SetPosition, спавн предметов, бесконечная стамина).
Чего BE не ловит сам по себе — это аим-ассист через эмуляцию ввода (чит не трогает память процесса, а просто двигает "мышь" программно) и внешний ESP через оверлей, который рисует поверх экрана, не вмешиваясь в игру. Тут нужен второй слой — статистика поведения и живое наблюдение админом, до этого дойдём ниже.
Честно: 100% детекта нет ни у одной системы, и DayZ не исключение. Задача — не "поставить и забыть", а держать процесс, который ловит основную массу и даёт инструменты разобрать спорные случаи.
Логи и фильтры BattlEye: где искать battleye/*.txt
При старте сервера с параметрами -adminlog -netlog (см. статью про поднятие сервера DayZ) BattlEye автоматически создаёт папку battleye внутри вашей папки профиля — обычно это ~/dayzserver/profiles/battleye/. Там лежит рабочий комплект:
- BEServer_x64.log — главный журнал: сюда пишутся все кики и баны BE с причиной и BE GUID игрока. Первое место, куда смотреть при жалобе.
- BEServer_x64.cfg — конфиг самого BE-модуля: RCon-пароль, порт,
MaxPing,RConPasswordи прочие серверные параметры подключения к BattlEye. - scripts.txt — фильтр скриптовых нарушений. Именно этот файл ловит попытки вызвать нелегальные игровые функции из чита — телепорты, дюп предметов, изменение параметров персонажа через скрипт.
- publicvariable.txt — фильтр на подмену публичных сетевых переменных, ещё один частый вектор для читов, лезущих в синхронизацию клиент-сервер.
- bans.txt — глобальный бан-лист BattlEye по BE GUID, применяется на уровне самого модуля, отдельно от игрового бан-листа DayZ.
По умолчанию файлы фильтров в DayZ либо пустые, либо содержат минимальный набор правил — усиливать их приходится вручную. Формат строки в фильтре такой: <номер> <паттерн_совпадения> <количество_срабатываний> <действие> ["сообщение"], например:
5 !="" kick
Это не готовый рабочий фильтр для копипаста — конкретные паттерны и пороги зависят от версии игры и набора модов на сервере, и BE периодически меняет форматы под новые версии DayZ. Разумный подход: не писать фильтры с нуля самостоятельно, а брать актуальные community-шаблоны фильтров под текущий патч DayZ и адаптировать пороги под свой сервер — слишком агрессивный фильтр банит честных игроков с плохим пингом, слишком мягкий пропускает читы.
После правки любого файла в battleye/ изменения подхватываются либо автоматически (BE периодически перечитывает фильтры), либо командой #reload через RCon-консоль без полного рестарта сервера.
Поднять сервер DayZ за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверПодозрительные паттерны: на что смотреть в логах и статистике
Когда логов BE недостаточно для однозначного вывода, ищите паттерны руками или через плагин статистики (о них — в разделе про CFTools ниже).
- Телепорты и резкие скачки позиции. Отличить теневой чит от лаг-компенсации на плохом соединении непросто: у легитимного игрока при скачке пинга клиент "дёргается", но быстро возвращается в согласованную с сервером позицию. Настоящий телепорт-чит выглядит как мгновенное перемещение на большую дистанцию без промежуточных кадров движения — такие вызовы и должен ловить фильтр
scripts.txt, если он настроен под актуальный патч. - Аномальная точность стрельбы. Один эффектный флик-хедшот через кусты ничего не доказывает — у DayZ щедрая система прицеливания на близких дистанциях. Смотреть стоит на серию: стабильно высокий процент попаданий в голову через препятствия, стрельба без визуального контакта — это уже повод для расследования, а не единичное совпадение.
- Мгновенная реакция на игрока из-за угла или из кустов — классический признак wallhack/ESP, проверяется наблюдением (спектейт) или демозаписью стрима игрока, если он есть — серверных логов для этого DayZ не пишет.
- Дюп предметов и аномальный лут — резкий рост редких предметов у конкретного игрока в базе персистентности — повод проверить
ADM-логи (-adminlog) на подозрительные транзакции инвентаря рядом по времени.
Без хотя бы двух совпадающих признаков плюс лог BE обвинение строится на "мне показалось" — плохая основа для бана.
VPPAdminTools: расследование прямо в игре
VPPAdminTools (Vanilla Plus Admin Tools) — один из самых распространённых community-модов для администрирования DayZ-сервера, ставится как обычный серверный мод через Steam Workshop и подключается параметром -serverMod= при запуске сервера:
./DayZServer -config=serverDZ.cfg -port=2302 -profiles=profiles -dologs -adminlog -netlog \
-mod=@CF \
-serverMod=@VPPAdminTools
Мод даёт админ-меню прямо в клиенте: телепорт к любому игроку или точке на карте, freecam-режим для скрытого наблюдения (полезно именно для того, чтобы понаблюдать за подозрительным игроком со стороны, не спалившись), спавн предметов для тестов, кик/бан из меню без RCon-консоли, просмотр инвентаря и статов игрока. Для разбора жалобы это ощутимо быстрее ручных RCon-команд: подлетели freecam'ом к точке боя, посмотрели траекторию и поведение — картина инцидента готова без стороннего софта.
Важный нюанс: права в VPPAdminTools завязаны на список SteamID64 в конфиге мода — держите этот список в приватности и раздавайте админку только доверенным людям, freecam и телепорт в чужих руках — это фактически легальный чит-инструмент.
CFTools Cloud: облачная статистика и бан-менеджмент
CFTools Cloud — сторонний облачный сервис (cftools.cloud) для администрирования серверов DayZ, работающий поверх RCon-подключения к вашему серверу без изменения игровых файлов. Регистрация сервера в панели CFTools даёт несколько практичных вещей для борьбы с читерами:
- Централизованный бан-менеджмент — баны применяются через панель, синхронизируются с несколькими вашими серверами сразу, история хранится отдельно от логов BE и не теряется при ротации файлов.
- Discord-вебхуки — кики и баны BattlEye, события подключения/отключения игроков летят в ваш Discord-канал в реальном времени, не нужно вручную мониторить
BEServer_x64.log. - GameLabs-действия — часть функций, аналогичных VPPAdminTools (телепорт, спектейт, управление погодой/временем), доступна прямо из веб-панели без захода в игру — удобно для модерации со смартфона.
- Статистика игроков — накопительные метрики по сессиям (килы, смерти, время на сервере) помогают заметить аномалии не по одному матчу, а по истории — резкий скачок K/D у ранее незаметного аккаунта виден сразу в профиле.
CFTools не заменяет BattlEye и не является полноценным античитом — это диспетчерская для админа поверх существующих логов и RCon, которая экономит время на рутине. Часть функций сервиса бесплатна, часть (расширенная аналитика, приоритетная очередь) — платная подписка; актуальные тарифы смотрите на сайте сервиса, здесь они меняются чаще, чем стоит фиксировать в статье.
Whitelist модов и проверка подписей
Отдельный источник читов на модовых серверах DayZ — не внешние программы, а сам клиент с подменённым или доработанным модом. Базовая защита уже встроена в конфиг serverDZ.cfg (см. статью про базовую конфигурацию сервера):
verifySignatures = 2;
forceSameBuild = 1;
verifySignatures = 2 заставляет сервер проверять подписи всех модов у подключающегося клиента и отклонять несовпадающие — отключать этот параметр даже "временно для теста" на публичном сервере не стоит. forceSameBuild требует от клиента точно ту же версию игры, что и на сервере, отсекая расхождения, которыми иногда пользуются для обхода проверок.
Дальше — дисциплина по составу модлиста: держите в -mod= и -serverMod= только моды из проверенных источников, периодически сверяйте, что версии на сервере совпадают с последними Workshop-обновлениями (устаревший мод — частая причина расхождения подписей и ложных отказов в подключении честным игрокам). Про сам процесс установки и порядок модов — в статье про установку модов на DayZ-сервер.
Если запускаете закрытый whitelist-сервер (только для своего комьюнити), дополнительно ограничьте доступ через password в serverDZ.cfg и список разрешённых SteamID64 через VPPAdminTools или средства панели хостинга — это резко снижает поток случайных читеров с паблика, но не избавляет от риска "своего" читера внутри закрытого круга.
Бан-лист, апелляции и процесс разбора инцидента
Баны в DayZ живут на двух независимых уровнях, и путать их — частая ошибка новых админов.
Баны BattlEye — хранятся в battleye/bans.txt, применяются автоматически при срабатывании сигнатур или скриптовых фильтров, снять такой бан вручную можно, отредактировав файл и выполнив #reload bans через RCon, но если бан выдан за реальное нарушение — снимать его без проверки логов не стоит.
Баны самого сервера DayZ — управляются через RCon-консоль (подключение по протоколу BE RCon, порт задаётся в BEServer_x64.cfg) командами вида #ban <BE GUID> [время] [причина] для временного бана или без времени — для перманентного, список хранится в ban.txt в папке профиля. Смотреть на конкретную причину бана в этом файле — первое, что стоит сделать, прежде чем отвечать на апелляцию.
Рабочий процесс на жалобу "забанили несправедливо":
- Спросите SteamID64 или BE GUID и примерное время инцидента — без этого искать в логах бессмысленно.
- Проверьте оба лога —
BEServer_x64.logна причину BE-бана иADM-лог сервера на действия игрока незадолго до бана (резкие смены позиции, аномальные килы). - Если основание слабое (единичное срабатывание фильтра при нестабильном пинге, ложное совпадение скриптового паттерна) — снимайте бан и коротко объясните причину в тикете.
- Если паттерн подтверждается несколькими независимыми признаками — оставляйте бан и зафиксируйте решение в отдельном админ-логе (кто, когда, почему), это экономит время при повторных апелляциях. Общие принципы работы с жалобами и встроенными античитами разных игр разобраны в статье про античит и ложные баны.
Держите короткий регламент апелляций (куда писать, какие данные приложить) в закреплённом сообщении Discord — это снижает поток однотипных жалоб и приучает игроков сразу давать нужные данные.
Поднять сервер DayZ за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Достаточно ли одного BattlEye без сторонних инструментов?
Для небольшого приватного сервера — часто да, особенно если фильтры scripts.txt/publicvariable.txt настроены под актуальную версию игры. На крупном публичном сервере с большим потоком новых игроков разумно добавить CFTools Cloud или аналог хотя бы ради вебхуков и истории банов — вручную мониторить логи 24/7 нереально.
Можно ли снять бан BattlEye вручную, отредактировав bans.txt?
Технически да, но делайте это только после проверки причины бана в BEServer_x64.log — файл банов не хранит развёрнутое объяснение, только идентификатор и код нарушения.
VPPAdminTools конфликтует с другими админ-модами?
Возможны конфликты при одновременной установке нескольких модов, дающих похожее админ-меню (пересечение горячих клавиш или UI-элементов) — ставьте один основной инструмент администрирования, а не несколько сразу, и проверяйте порядок загрузки в -serverMod=.
Что делать, если фильтр scripts.txt начал банить честных игроков после обновления DayZ?
Отключите проблемное правило фильтра (закомментируйте строку) до выяснения причины, проверьте форум сообщества BattlEye/DayZ на предмет уже известной проблемы с текущим патчем — после крупных обновлений игры паттерны скриптовых вызовов иногда меняются, и старые фильтры временно ловят легитимный игровой код.
Нужен ли whitelist по SteamID на публичном сервере?
Обычно нет — это скорее инструмент для закрытых комьюнити-серверов. На публичном сервере полагайтесь на verifySignatures, BattlEye и процесс банов по факту нарушения, а не на предварительный отбор игроков.