Кровавая луна каждый седьмой день интереснее, когда база строится всей группой, а не одним человеком в одиночной сессии. Сервер 7 Days to Die даёт именно это: общий мир, который продолжает жить между заходами, накопленный прогресс и орду, которая приходит ко всем сразу. Разберём установку, главный конфиг serverconfig.xml, генерацию карты и настройки, от которых зависит, будет ли на сервере комфортно играть.

Сколько ресурсов нужно
7 Days to Die — Unity-игра с полностью разрушаемым воксельным миром, и это дорого. Каждая разрушенная стена, каждая выкопанная шахта хранятся в сейве и подгружаются в память.
Официальных требований к выделенному серверу The Fun Pimps не публикует; для самой игры страница в Steam указывает минимум 8 ГБ RAM и рекомендует 12 ГБ. Рабочие цифры из практики для сервера:
| Память | Карта | Онлайн |
|---|---|---|
| 8 ГБ | 6144 | До 4 игроков |
| 12 ГБ | 8192 | 8–10 игроков, комфортная работа |
| 16 ГБ и выше | 10240 | Большие орды и более активный онлайн |
Процессор нужен с высокой частотой: подсчёт путей зомби в ночь орды — самое тяжёлое, что происходит на сервере, и распараллеливается оно плохо. Четыре быстрых ядра лучше восьми медленных.
Отдельно про диск: первая генерация случайного мира занимает от нескольких минут до получаса и грузит процессор на полную. На слабой машине сервер в этот момент выглядит зависшим — это нормально, дайте ему закончить.
Установка сервера 7 Days to Die
App ID выделенного сервера — 294420 (у клиента игры другой, 251570). Логин в SteamCMD анонимный, покупать игру на серверный аккаунт не нужно.
steamcmd +force_install_dir /opt/7dtd +login anonymous +app_update 294420 validate +quit
Запуск:
cd /opt/7dtd
./startserver.sh -configfile=serverconfig.xml
Под Linux серверу нужны 32-битные библиотеки и libgdiplus в некоторых дистрибутивах — если процесс падает сразу с ошибкой загрузки библиотек, ставьте зависимости, а не ищите проблему в конфиге.
Разбор serverconfig.xml
Весь сервер настраивается одним XML-файлом. Формат — набор строк вида <property name="..." value="..."/>. Пройдём по тому, что действительно меняют.
Основа:
<property name="ServerName" value="TeaHost 7DTD"/>
<property name="ServerPassword" value=""/>
<property name="ServerMaxPlayerCount" value="8"/>
<property name="ServerPort" value="26900"/>
<property name="ServerVisibility" value="2"/>
<property name="ServerDescription" value="Сервер для своих"/>
ServerVisibility: 2 — публичный, 1 — только для друзей, 0 — скрытый. Для приватной игры ставьте 0 и раздавайте IP.
Мир:
<property name="GameWorld" value="RWG"/>
<property name="WorldGenSeed" value="TeaHostWorld"/>
<property name="WorldGenSize" value="8192"/>
<property name="GameName" value="MyGame"/>
GameWorld принимает либо RWG (случайная генерация), либо Navezgane — рукотворную карту разработчиков. Navezgane стартует мгновенно и меньше грузит машину, RWG даёт свежий мир, но требует генерации. WorldGenSize кратен 1024, разумный диапазон — от 6144 до 10240. Больше — красиво, но каждый шаг вверх заметно поднимает потребление памяти.
Сложность и темп:
<property name="GameDifficulty" value="2"/>
<property name="DayNightLength" value="60"/>
<property name="DayLightLength" value="18"/>
<property name="BloodMoonFrequency" value="7"/>
<property name="BloodMoonRange" value="0"/>
<property name="BloodMoonEnemyCount" value="8"/>
<property name="XPMultiplier" value="100"/>
<property name="LootAbundance" value="100"/>
<property name="LootRespawnDays" value="30"/>
BloodMoonEnemyCount — число зомби на игрока в ночь орды. Восемь — стандарт; поднимать выше стоит только при уверенности в железе, потому что нагрузка растёт умножением на количество игроков. BloodMoonRange=0 фиксирует орду ровно на седьмой день, ненулевое значение добавляет разброс.
Производительность:
<property name="MaxSpawnedZombies" value="64"/>
<property name="MaxSpawnedAnimals" value="50"/>
<property name="ServerMaxAllowedViewDistance" value="12"/>
Вот эти три параметра — первое, что стоит снижать, если сервер начинает проседать. ServerMaxAllowedViewDistance в 12 вместо стандартных значений выше даёт заметный прирост при большом онлайне. Логика тут ровно та же, что с дальностью прорисовки в других играх, — принцип разбирал в тексте про настройку view distance.
Земельные претензии:
<property name="LandClaimSize" value="41"/>
<property name="LandClaimCount" value="3"/>
<property name="LandClaimDeadZone" value="30"/>
<property name="LandClaimExpiryTime" value="7"/>
LandClaimExpiryTime в днях определяет, когда база неигравшего человека перестаёт быть защищённой. На сервере со случайными людьми это единственная реальная защита построек от разбора.
Порты
7 Days to Die слушает диапазон: TCP 26900 и UDP 26900–26903.
ufw allow 26900/tcp
ufw allow 26900:26903/udp
Если сервер не появляется в браузере, но заходит по прямому подключению — обычно закрыт один из UDP-портов диапазона или ServerVisibility стоит в 0. Через клиент прямое подключение делается в Join a Game → Connect to IP с портом 26900.
Права администратора
Список админов лежит отдельно, в serveradmin.xml (каталог .local/share/7DaysToDie/Saves/). Проще всего добавить себя из консоли сервера:
admin add <SteamID64> 0 "owner"
Уровни от 0 (полный доступ) до 1000 (обычный игрок). Ниже 1000 открываются команды: ban, kick, give, teleportplayer, settime. Свой SteamID64 берётся в профиле Steam или из лога подключения.
Полезные консольные команды в работе:
saveworld
shutdown
lp
mem
gettime
saveworld перед перезагрузкой обязательна, mem показывает потребление и число загруженных чанков — удобно для диагностики.
Что настроить сразу после запуска
Три вещи, которые окупаются в первую неделю.
Автосейв и рестарт. Перезапуск раз в сутки с предварительным saveworld сбрасывает накопленную память Unity. Без него на седьмой-восьмой день многие серверы начинают ощутимо тормозить.
Бэкапы папки сейва. Мир 7 Days to Die бьётся при жёстком выключении, и лечится это только копией. Про схему копий — зачем нужны автобэкапы.
EAC. Античит включён по умолчанию (параметр EACEnabled в serverconfig.xml). Отключать его нужно только если ставите моды, которые с ним не работают, — и тогда сразу закладывайте, что читеры придут.
Итог
Схема запуска короткая: app_update 294420, правка serverconfig.xml под свою группу, открытые TCP 26900 и UDP 26900–26903, добавление себя в админы, ночной рестарт в расписании. Дальше можно крутить сложность и частоту орды, подгоняя мир под то, во что вам нравится играть.
Если возиться с генерацией мира и firewall нет желания, готовый сервер разворачивается за пару минут — тарифы посмотрите здесь. Понять, какой объём памяти брать под ваш онлайн, поможет разбор сколько игроков выдержит сервер.


