7 Days to Die: проблема с EasyAntiCheat
Игрок пишет "не могу зайти, пишет ошибку EAC" — а вы только что подняли сервер и ничего не трогали. Или наоборот: играли месяц спокойно, поставили один overhaul-мод, и половина модов перестала грузиться, а сервер начал вести себя странно. В обоих случаях корень один — EasyAntiCheat, встроенный в 7 Days to Die и управляемый одним параметром EACEnabled в serverconfig.xml. Разберём, что именно он делает, откуда берутся ложные баны и ошибки подключения, когда его действительно стоит выключить, а когда лучше перетерпеть неудобства ради защиты.
Содержание
- Что такое EAC в 7 Days to Die и как он работает
- Параметр EACEnabled в serverconfig.xml
- Ошибки подключения из-за EAC
- Ложные баны EAC: откуда берутся и что с ними делать
- Законные причины отключить EAC: моды и Harmony-патчи
- Таблица: когда держать EAC включённым, а когда можно выключить
- Риски игры с выключенным EAC
Что такое EAC в 7 Days to Die и как он работает
EasyAntiCheat — сторонний античит-движок (разработчик Epic Games, ранее независимая компания), встроенный в клиент 7 Days to Die через Steam. В отличие от серверных бан-листов, которые ведёт админ, EAC работает на уровне драйвера на компьютере игрока: проверяет целостность процесса игры, следит за инжектами стороннего кода в память и сверяет состояние клиента с ожидаемым.
Важный момент, который часто путают: EAC в 7 Days to Die — это в первую очередь клиентская защита, но включается и выключается она на сервере через параметр EACEnabled. Если на сервере EAC включён, каждый подключающийся клиент проходит проверку целостности; если выключен — сервер вообще не требует эту проверку, и играть можно даже без установленного модуля EAC на стороне игрока.
Это отличает 7 Days to Die от игр вроде Rust, где похожий переключатель (server.secure) устроен так же, но экосистема модов там гораздо менее агрессивно вмешивается в память клиента. В 7 Days to Die же огромная часть популярных модов — это именно код, патчащий игровую логику на лету, и это прямая причина конфликта с EAC. Подробнее о том, как EAC и серверные баны разграничены в разных играх, — в статье про настройку античита и разбор ложных банов.
Параметр EACEnabled в serverconfig.xml
Конфиг лежит в корне сервера — например, /home/sdtd/7dtd/serverconfig.xml, если ставили сервер по стандартной схеме. Открываем nano serverconfig.xml и ищем строку:
<property name="EACEnabled" value="true"/>
По умолчанию значение true — EAC включён. Чтобы отключить, меняем на:
<property name="EACEnabled" value="false"/>
После правки конфига сервер нужно перезапустить — на лету параметр не применяется:
sudo systemctl restart 7dtd
Или, если сервер запущен без systemd — остановить процесс командой shutdown через Telnet-консоль и запустить заново ./startserver.sh -configfile=serverconfig.xml. Про сам процесс установки и первичной настройки сервера — в статье про поднятие сервера 7 Days to Die.
Проверить, применилось ли изменение, можно в логе запуска — ищите строку с упоминанием EAC в первые секунды после старта (journalctl -u 7dtd -f, если сервис через systemd). Если EAC выключен, там обычно явно видно отсутствие инициализации модуля проверки.
Поднять сервер 7 Days to Die за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверОшибки подключения из-за EAC
Самая частая жалоба от игроков — сервер не пускает, хотя пароль верный и порты открыты. Обычно это одна из двух ситуаций:
Клиент и сервер не совпадают по EAC-настройке. Если у игрока в Steam-версии игры EAC-модуль не установлен, повреждён или отключён на уровне лаунчера, а на сервере EACEnabled стоит true — подключение просто не проходит, обычно с сообщением о невозможности пройти проверку или таймаутом на этапе загрузки в мир. Решение: попросить игрока проверить целостность файлов игры через Steam (правая кнопка на игре → Свойства → Установленные файлы → Проверить целостность) — это переустанавливает в том числе компоненты EAC.
EAC не может достучаться до своей инфраструктуры. Сам модуль EAC при подключении обращается к внешним серверам EasyAntiCheat для верификации — если у игрока файрвол, антивирус или сетевые ограничения (например, слишком агрессивный корпоративный прокси) блокируют этот трафик, подключение виснет на экране загрузки или обрывается с ошибкой тайм-аута, которая внешне выглядит как проблема сервера, а на деле — проблема клиента.
Отдельная категория — известные на некоторых дистрибутивах Linux проблемы совместимости самого модуля EAC на серверной стороне: если Dedicated Server не стартует вообще, зависает на инициализации или падает сразу после запуска без понятной причины в общем логе, стоит попробовать временно выставить EACEnabled в false именно как диагностический шаг — если сервер после этого стартует нормально, причина была в EAC-компоненте, а не в конфиге мира или модах.
# быстрая проверка: временно выключить EAC и посмотреть, стартует ли сервер
nano serverconfig.xml # EACEnabled -> false
sudo systemctl restart 7dtd
journalctl -u 7dtd -f
Ложные баны EAC: откуда берутся и что с ними делать
Как и в других играх, EAC в 7 Days to Die иногда банит или кикает игроков без реального читерства. Причины почти всегда на стороне клиента:
- Оверлеи и резидентный софт — Discord, MSI Afterburner/RivaTuner, GeForce Experience, ReShade и подобные твики внедряются в память процессов через те же механизмы, что и настоящие читы. EAC не различает намерения, он видит инжект кода и реагирует одинаково.
- Нестабильное сетевое соединение — резкие скачки пинга или потеря пакетов иногда интерпретируются как попытка манипуляции состоянием игры.
- Устаревшие или бета-драйверы видеокарты — конфликтуют с проверками целостности памяти, которые EAC делает на уровне драйвера.
- Сторонние лаунчеры и моды, поставленные поверх активного EAC — это отдельная и самая частая причина именно в 7 Days to Die, разберём в следующем разделе.
Если бан выдал именно EAC (сообщение об ошибке ссылается на EasyAntiCheat, а не на серверный бан-лист), владелец сервера физически не может его снять — это решение принимается на стороне инфраструктуры EAC, а не вашего serverconfig.xml. Единственный путь для игрока — официальная апелляция через сайт easy.ac с указанием SteamID64, примерного времени бана и названия игры. Вы как админ можете только подтвердить со своей стороны отсутствие подозрительной активности в логах — это ускоряет разбор, но не гарантирует результат.
Если же бан выдал сервер (например, встроенный список банов или собственный плагин модерации) — это уже полностью в вашей власти, снимается через Telnet или консоль сервера командой ban remove <steamid> или через игровую команду unban.
Законные причины отключить EAC: моды и Harmony-патчи
Это главный источник конфликтов именно в 7 Days to Die, и он же — самая частая законная причина держать EACEnabled в false на постоянной основе, а не разово для диагностики.
Огромная часть популярных overhaul-сборок (Darkness Falls, War of the Walkers и многие другие) и отдельных модов используют Harmony-патчи — .dll-файлы в папке Scripts/, которые на лету переписывают методы игровой логики в памяти процесса. Это ровно тот тип поведения, который EAC создан ловить и блокировать: с точки зрения античита такой мод неотличим от инжекта чита.
Практические последствия при включённом EAC и установленных Harmony-модах:
- Моды с кодом либо вообще не загружаются, либо сервер выдаёт ошибки при старте с упоминанием отклонённых сборок;
- Часть игровых механик, которые мод должен был изменить, продолжает работать по вайлу — то есть по правилам ванильной игры, что сбивает баланс и путает игроков;
- В логе сервера при старте могут появляться предупреждения о заблокированных модулях без явной привязки к конкретному моду — из-за этого проблему легко принять за баг самого мода, а не за конфликт с EAC.
Если ваш мод-лист состоит только из XML-правок (изменение характеристик предметов, рецептов крафта, лута) — EAC можно не трогать, такие моды не патчат код и с античитом не конфликтуют. Но как только в списке появляется хотя бы один мод с .dll в Scripts/, почти наверняка придётся выставить:
<property name="EACEnabled" value="false"/>
Разница между простыми XML-модами и Harmony-модами подробно разобрана в статье про установку модов через Mod Launcher, а обзор конкретных overhaul-сборок и их требований к EAC — в статье про популярные overhaul-моды.
Таблица: когда держать EAC включённым, а когда можно выключить
| Ситуация | EACEnabled | Комментарий |
|---|---|---|
| Публичный ванильный сервер | true | Базовая защита от читеров, минимум неудобств для игроков |
| Публичный сервер с XML-модами (без кода) | true | XML-правки не конфликтуют с EAC |
| Сервер с Harmony/overhaul-модами (Darkness Falls и т.п.) | false | Почти всегда обязательно — иначе моды не заработают полностью |
| Закрытый сервер для друзей без модов | На усмотрение | Риск ниже из-за небольшого круга игроков, но защита всё равно не лишняя |
| Диагностика падений сервера на старте (Linux) | false временно | Только чтобы проверить гипотезу, вернуть true после диагностики, если причина не в EAC |
| Тестовый стенд для разработки модов | false | Стандартная практика, продакшн-сервер это не затрагивает |
Риски игры с выключенным EAC
Стоит явно проговорить это с собой и с комьюнити сервера, прежде чем выключать EAC ради модов, а не оставлять галочку "потому что так проще".
С выключенным EACEnabled сервер перестаёт получать защиту уровня клиента от читерских инструментов, которые EAC умеет ловить сигнатурно — инжекты чит-DLL, модификации памяти, известные паблик-чит-программы. Это не значит, что сервер остаётся вообще без защиты: серверная логика (лимиты урона, честность генерации лута, серверная валидация части действий) продолжает работать независимо от EAC, но клиентские читы (эспhack через модифицированный рендер, автоматический прицел через инжект в память) ловить становится некому на уровне движка.
На практике это компромисс, который принимают почти все крупные модовые сообщества 7 Days to Die — потому что без него теряется доступ к overhaul-контенту, ради которого игроки вообще идут на модовый сервер. Разумные способы частично компенсировать риск:
- Держать сервер приватным (
ServerVisibilityне2) и раздавать IP только доверенному кругу — резко снижает вероятность привлечь читеров, которые сканируют публичные списки серверов; - Ставить поверх выключенного EAC собственный слой модерации — админы, которые следят за статистикой и жалобами, плюс логирование подозрительных действий через серверные моды;
- Не путать выключенный EAC с отсутствием любого контроля — банить вручную через Telnet/RCON тех, кто откровенно читерит, никто не отменял.
Если сервер публичный и без модов с кодом — оставлять EACEnabled в true практически бесплатно с точки зрения неудобств и ощутимо снижает риск читеров. Общий принцип разбора жалоб на баны и настройки античита в разных играх — в статье про настройку античита и работу с ложными банами.
Поднять сервер 7 Days to Die за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Можно ли включить EAC только для части модов, а остальные оставить без проверки?
Нет, параметр EACEnabled глобальный для всего сервера — либо проверка есть для всех подключений, либо её нет вообще. Выборочно разрешить одни моды и заблокировать другие через настройки EAC нельзя.
Отключение EAC ускорит работу сервера?
Практически нет. EAC — это в основном клиентская проверка, на серверную производительность она почти не влияет. Причина выключать его — совместимость с модами или диагностика, не производительность.
Игрока забанил EAC — я могу снять этот бан со своей стороны?
Нет, если это именно EAC-бан (не серверный список банов). Решение принимается на стороне инфраструктуры EasyAntiCheat, единственный путь — официальная апелляция через easy.ac.
После выключения EAC старые баны, выданные EAC, тоже снимутся?
Нет, EAC-баны привязаны к аккаунту игрока в системе EasyAntiCheat и не зависят от текущей настройки конкретного сервера — при повторном включении EAC на любом сервере бан снова будет действовать.
Нужно ли что-то настраивать на стороне клиента, если сервер отключил EAC?
Нет, это исключительно серверная настройка. Клиент просто подключается без прохождения проверки — никаких дополнительных действий от игрока не требуется.
Как понять, что именно EAC мешает моду загрузиться, а не сам мод сломан?
Проверьте, есть ли в моде .dll-файлы в папке Scripts/ — если да и при EACEnabled=true мод не работает, а после false заработал, причина точно в EAC. Если мод состоит только из XML и всё равно не грузится — ищите причину в самом моде или его совместимости с версией игры.