7 Days to Die — serverconfig.xml построчно
Базовую установку 7 Days to Die пройти несложно — SteamCMD скачал бинарники, сервер запустился с настройками по умолчанию, и вроде всё работает. Но дефолтный serverconfig.xml — это компромисс разработчиков между «подходит всем» и «не сломается ни у кого», а не настройка под вашу конкретную группу игроков. Разберём файл построчно, по блокам: что каждый параметр реально делает, какие значения безопасно крутить, а какие лучше не трогать без понимания последствий.
Содержание
Идентификация сервера и доступ
Первый блок конфига — то, что видят игроки в браузере серверов и при подключении:
<property name="ServerName" value="MAATRIX Survival"/>
<property name="ServerDescription" value="PvE сервер с еженедельной ордой"/>
<property name="ServerWebsiteURL" value=""/>
<property name="ServerPassword" value=""/>
<property name="ServerPort" value="26900"/>
<property name="ServerVisibility" value="2"/>
<property name="ServerMaxPlayerCount" value="8"/>
<property name="ServerReservedSlots" value="0"/>
<property name="ServerAdminSlots" value="0"/>
ServerVisibility определяет, кто видит сервер: 2 — публичный список серверов, 1 — доступен только по прямому IP, 0 — полностью скрыт. Для приватного сервера с друзьями обычно берут 1 и просто рассылают IP:порт вручную, не полагаясь на пароль как единственную защиту.
ServerMaxPlayerCount — это жёсткий потолок, а не рекомендация: 21-й игрок физически не сможет зайти, даже если сервер не нагружен. Если у вас есть костяк постоянных игроков и хочется гарантировать им место даже при заполненном лобби — используйте ServerReservedSlots вместе с правами ServerReservedSlotsPermission (по умолчанию требуется permission level 0-100, обычно ставят 90-100 для доверенных). Подробнее про расчёт вместимости и связанные параметры — в статье про лимит игроков на сервере.
Отдельно — TelnetEnabled, TelnetPort и TelnetPassword: это административная консоль сервера, аналог RCON в других играх. Порт по умолчанию 8081, и если вы его открываете на файрволе, обязательно смените пароль со значения по умолчанию — открытый Telnet со стандартным паролем это открытая дверь для перехвата сервера.
Генерация мира
Эти параметры читаются один раз — в момент первого запуска, когда мир ещё не создан:
<property name="GameWorld" value="RWG"/>
<property name="WorldGenSeed" value="maatrix2026"/>
<property name="WorldGenSize" value="6144"/>
<property name="GameName" value="MyGame"/>
<property name="MaxUncoveredMapChunksPerPlayer" value="131072"/>
GameWorld может быть либо RWG (процедурная генерация по сиду), либо название одной из готовых карт (Navezgane, PREGEN01 и другие, если они лежат в папке Data/Worlds). WorldGenSeed и WorldGenSize имеют смысл только для RWG — размер задаётся в тайлах карты, чем больше значение, тем дольше первая генерация и тем больше весит папка сохранения.
Ключевая грабля: изменение WorldGenSeed, WorldGenSize или GameWorld после того, как мир уже сгенерирован под текущим GameName, ничего не даст — сервер продолжит грузить существующее сохранение из Data/Saves. Чтобы пересоздать мир, либо смените GameName на новое значение (старое сохранение при этом остаётся на диске нетронутым), либо удалите папку сохранения вручную. MaxUncoveredMapChunksPerPlayer ограничивает, сколько чанков карты игрок может «раскрыть» на общей карте — параметр скорее антигрифер-инструмент против забивания диска чужими исследованиями, чем настройка производительности.
Поднять сервер 7 Days to Die за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверСложность, PvP и поведение зомби
Блок, который задаёт общий характер геймплея на сервере:
<property name="GameDifficulty" value="2"/>
<property name="PlayerKillingMode" value="3"/>
<property name="BuildCreate" value="false"/>
<property name="DropOnDeath" value="1"/>
<property name="EnemySpawnMode" value="true"/>
<property name="EnemyDifficulty" value="0"/>
<property name="ZombieMove" value="0"/>
<property name="ZombieMoveNight" value="3"/>
<property name="ZombieFeralMove" value="3"/>
GameDifficulty — шкала от 0 (Scavenger, самый лёгкий) до 5 (Insane), где 2 (Nomad) — стандартный баланс для смешанной группы. Это влияет на урон зомби и их живучесть, но не на их количество — за плотность спавна отвечают другие параметры (см. следующий раздел).
PlayerKillingMode регулирует PvP: 0 — игроки не могут наносить урон друг другу, 1 — можно бить только союзников (в том же клане), 2 — можно бить только незнакомцев, 3 — открытый PvP для всех. Для кооперативного PvE-сервера ставят 0, для классического survival с элементом соперничества — 3.
DropOnDeath определяет, что происходит с инвентарём при смерти: 0 — ничего не падает, 1 — падает весь инвентарь (жёсткий вариант по умолчанию), 2 — падает только тулбар, 3 — падает всё, кроме тулбара. Для новичковых серверов часто смягчают до 2 или 0, чтобы смерть не отбивала желание играть дальше.
ZombieMove, ZombieMoveNight и ZombieFeralMove задают скорость передвижения зомби в разных ситуациях (днём, ночью вне орды, в феральном состоянии) по шкале от 0 (Walk) до 4 (Nightmare, постоянный бег). Про их связку с производительностью и отдельный параметр ZombieBMMove для орды Blood Moon — в статье про лаги при большой орде зомби, там же разобрано, почему бегущие зомби нагружают CPU сильнее шаркающих.
Кровавая луна: тонкая настройка орды
Это, пожалуй, самый обсуждаемый блок конфига — именно от него зависит, будет ли еженедельная орда испытанием или уничтожением сервера:
<property name="BloodMoonEnemyCount" value="8"/>
<property name="BloodMoonRange" value="30"/>
<property name="BloodMoonWarning" value="8"/>
<property name="BloodMoonFrequency" value="7"/>
<property name="MaxSpawnedZombies" value="64"/>
<property name="MaxSpawnedAnimals" value="50"/>
BloodMoonEnemyCount — максимум зомби орды одновременно на одного игрока (не на весь сервер), по умолчанию 8. При онлайне в 6-8 человек это легко даёт полсотни и больше активных зомби разом. MaxSpawnedZombies — отдельный от него общий потолок по всему серверу, включая и орду, и фоновый спавн: даже если каждому игроку выделено немного зомби, суммарно счётчик может упереться именно в этот параметр раньше, чем в лимит на игрока.
BloodMoonFrequency — раз в сколько игровых дней приходит кровавая луна (по умолчанию 7). Значение 0 полностью отключает орду по расписанию — актуально для чисто билд-серверов, где акцент на строительстве, а не на выживании. BloodMoonWarning — за сколько игровых часов до наступления орды экран начинает окрашиваться красным, предупреждая игроков. BloodMoonRange влияет на дальность, с которой зомби орды детектируют и идут к игроку.
Практический совет по балансу: для серверов, где важнее плотность вызова, чем стабильность тика, дефолтные значения (8 и 64) можно оставить как есть. Если орда регулярно кладёт сервер на лопатки — снижайте сначала MaxSpawnedZombies до 40-50, затем BloodMoonEnemyCount до 4-6, меняя по одному параметру за раз, чтобы понимать, что именно сработало. Подробный разбор, почему нагрузка от орды растёт нелинейно и при чём тут частота CPU хостинга, а не число ядер — в статье про оптимизацию под орду зомби.
Лут и экономика мира
Параметры, которые определяют, насколько щедрый и быстро восстанавливающийся лут на сервере:
<property name="LootAbundance" value="100"/>
<property name="LootRespawnDays" value="7"/>
<property name="AirDropFrequency" value="72"/>
<property name="AirDropMarker" value="false"/>
LootAbundance задаётся в процентах от базового количества лута в контейнерах: 100 — стандарт, 50 — вдвое меньше добычи (жёстче, дольше геймплей на дефиците ресурсов), 200 — вдвое больше (расслабленный фарм, быстрее прогресс по крафту и обвесам). Значение применяется к новым контейнерам при их генерации — уже открытые лутбоксы задним числом не меняются.
LootRespawnDays — через сколько игровых дней уже обысканные контейнеры «обновляются» и в них снова появляется лут. По умолчанию 7 дней. Для небольших групп, где карта быстро вычищается, разумно снизить до 3-5 дней, чтобы не приходилось выезжать за лутом слишком далеко от базы. Для серверов с упором на исследование, наоборот, можно увеличить — это заставляет игроков расширять зону разведки.
AirDropFrequency (в игровых часах) задаёт периодичность падения снабженческих контейнеров-airdrop — по умолчанию раз в 72 часа (трое суток). AirDropMarker включает или выключает метку места падения на карте для всех игроков — полезно отключить (false) на PvP-серверах, чтобы airdrop не превращался в гарантированный лут для того, кто первым увидел уведомление, а требовал реального поиска.
Клановые участки и лимиты сервера
Параметры Land Claim определяют, как работает защита баз от гриферов и других игроков:
<property name="LandClaimSize" value="41"/>
<property name="LandClaimCount" value="1"/>
<property name="LandClaimDeadZone" value="30"/>
<property name="LandClaimExpiryTime" value="7"/>
<property name="LandClaimDecayMode" value="0"/>
<property name="LandClaimOnlineDurabilityModifier" value="4"/>
<property name="LandClaimOfflineDurabilityModifier" value="4"/>
LandClaimSize — сторона квадрата защищённой территории вокруг клеймового блока, в блоках (41 — значение по умолчанию, участок примерно 41×41). LandClaimCount — сколько клеймов может держать один игрок одновременно; для серверов, где хочется избежать застройки всей карты одним активным игроком, часто снижают до 1.
LandClaimExpiryTime — через сколько дней неактивности игрока его клейм-блок теряет защиту (по умолчанию 7 дней простоя). После истечения территория становится уязвима для разрушения по правилам LandClaimDecayMode. Это прямой инструмент борьбы с «застолблённой, но заброшенной» территорией, которая копится на долгоживущих серверах.
LandClaimOnlineDurabilityModifier и LandClaimOfflineDurabilityModifier — множители прочности блоков внутри клейма, когда владелец онлайн и когда офлайн соответственно. По умолчанию оба 4 (учетверённая прочность). Часть серверов сознательно снижает offline-модификатор до 2-3, чтобы рейды на заброшенные базы были возможны, но не тривиальны — это тонкая настройка баланса между защитой строителей и интересом рейдеров, единого правильного значения тут нет, зависит от философии конкретного сообщества.
Поднять сервер 7 Days to Die за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Нужно ли перезапускать сервер после правки serverconfig.xml?
Да, для подавляющего большинства параметров — сервер читает файл только при старте. Изменения вступят в силу после systemctl restart (или перезапуска процесса на вашей панели), сохранения мира при этом не трогаются.
Можно ли менять WorldGenSeed на уже запущенном сервере?
Нет смысла — сид применяется только при первичной генерации мира под текущим GameName. Чтобы сгенерировать новый мир, смените GameName на новое значение или удалите папку сохранения в Data/Saves.
Как понять, что LootAbundance стоит снижать, а не повышать?
Если игроки за пару дней фармят полный комплект брони и оружия и дальше играть неинтересно — снижайте. Если группа маленькая и постоянно упирается в нехватку ресурсов для базового крафта — повышайте или сокращайте LootRespawnDays.
Что случится, если поставить BloodMoonEnemyCount слишком большим?
Рост нагрузки на CPU от этого параметра практически экспоненциальный, а не пропорциональный — на слабом железе сервер может начать резко проседать по тику именно в момент орды, вплоть до полной заморозки на несколько секунд.
Все ли параметры serverconfig.xml документированы в самом файле?
Нет, часть комментариев в дефолтном XML устарела или описывает поведение неточно — при сомнениях лучше свериться с актуальной версией на официальной вики игры, особенно после крупных обновлений.
Можно ли редактировать конфиг во время работы сервера?
Технически файл можно открыть и сохранить в любой момент, но применятся правки только после перезапуска процесса — «горячей» перезагрузки конфига без рестарта в игре нет.