Серверу DayZ нужно 4-6 ГБ памяти для приватной группы из десяти-двадцати человек на ванили, 6-8 ГБ для типичного публичного сервера на 30-40 слотов, 8-10 ГБ для загруженного ванильного сервера на 40-60 слотов и 10-12 ГБ для сервера с большим количеством модов масштаба Expansion, торговцами и AI. Память растёт вместе со списком модов и с тем, что сохраняется на карте, гораздо сильнее, чем с числом игроков: сервер на 30 слотов с большим паком модов потребляет больше, чем ванильный на 60. Ресурс, который на DayZ обычно заканчивается первым, - вовсе не память, а FPS сервера, то есть одно загруженное ядро, поэтому сначала докажите, чего именно вам не хватает, а потом покупайте больше того или другого.
Что сервер DayZ держит в памяти#
Сервер DayZ симулирует карту площадью 225 квадратных километров (Чернарусь; Ливония меньше) с постоянной экономикой. Его память состоит из четырёх крупных частей.
- Карта и базовый уровень движка. Рельеф, здания, навигационные данные для заражённых и животных и сам движок. Это оплачивается до того, как кто-то зайдёт, и зависит от карты.
- Центральная экономика. Каждый предмет на карте - объект. Задача экономики - держать количество каждого типа предметов около целевого, поэтому сервер с ванильным
types.xmlв любой момент держит десятки тысяч предметов - в зданиях, на заражённых, на земле, в инвентарях игроков. - Постоянные объекты. Палатки, бочки, ящики, стены и ворота баз, закопанные тайники и транспорт переживают перезапуски благодаря системе персистентности. Всё, что внутри них, тоже сохраняется. Именно эта часть растёт за время жизни сервера.
- Моды. Скрипты, конфиги и ассеты каждого мода, загруженные в сервер, и каждый предмет, который они добавляют в экономику.
Сами игроки стоят сравнительно немного: их персонаж, инвентарь и сетевое состояние. Косвенно они стоят всего, что строят, копят и бросают.
RAM по слотам и списку модов#
| Сервер | RAM | vCPU | Примечания |
|---|---|---|---|
| 10-20 слотов, ваниль | 4-6 GB | 2 | Комфортно для приватной группы |
| 30-40 слотов, ваниль | 6-8 GB | 2-3 | Типичный публичный сервер |
| 40-60 слотов, ваниль | 8-10 GB | 3+ | Пределом становится FPS сервера, а не память |
| 30-50 слотов, много модов | 10-12 GB | 3+ | Списки масштаба Expansion, торговцы, AI |
| Карта сообщества (Namalsk, Deer Isle и подобные) | плюс 1-2 GB | - | Зависит от размера и плотности карты |
Как это читать:
- Моды двигают вас вниз по таблице быстрее, чем слоты. Сервер с Expansion, его рынком, транспортом и модулями AI плюс строительством баз и паками оружия - это совсем другая машина, чем ванильный сервер с тем же числом слотов.
- Возраст тоже двигает вниз. Сервер, который никогда не вайпает постоянное хранилище, накапливает базы и тайники вместе с их содержимым. Сервер на третьем месяце вайпа потребляет заметно больше, чем на первой неделе.
- Столбец CPU важен не меньше столбца RAM. Симуляция DayZ работает в главном потоке. Сервер на 60 слотов упирается в FPS сервера задолго до того, как закончится память.
В руководстве по серверу DayZ и модам используются те же цифры и от начала до конца описана установка.
Центральная экономика - это настройка памяти#
Лутом в DayZ управляют файлы центральной экономики в папке миссии - mpmissions/dayzOffline.chernarusplus/ для ванильной Черноруси. Два из них задают числа, важные для памяти.
types.xml
У каждого типа предметов есть целевое количество (nominal), минимум (min), lifetime в секундах до исчезновения нетронутого предмета и время пополнения restock:
<type name="AKM"> <nominal>8</nominal> <lifetime>14400</lifetime> <restock>0</restock> <min>4</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost></type>Сумма nominal по всем типам - это примерно то, сколько предметов экономика старается держать в мире. Удвоение лута через умножение nominal - очень частое изменение на серверах сообществ - примерно удваивает эту часть памяти и добавляет экономике работы для CPU. Длинные значения lifetime означают, что выброшенные и брошенные предметы остаются дольше. Моды, добавляющие оружие и снаряжение, добавляют свои записи, и некоторые паки модов поставляются с щедрыми nominal. Каждое поле разобрано в статье types.xml и экономика лута.
globals.xml
Глобальные ограничения и таймеры очистки находятся в db/globals.xml. Вот те, что важны для памяти:
| Переменная | Типичное значение по умолчанию | Эффект |
|---|---|---|
ZombieMaxCount | 1000 | Сколько заражённых одновременно живо на карте |
AnimalMaxCount | 200 | Сколько животных одновременно живо |
CleanupLifetimeDeadPlayer | 3600 | Сколько секунд лежит тело игрока |
CleanupLifetimeDeadInfected | 330 | Сколько секунд лежит тело заражённого |
CleanupLifetimeDeadAnimal | 1200 | Сколько секунд лежит туша животного |
CleanupLifetimeRuined | 330 | Сколько секунд лежит испорченный предмет |
Повышение ZombieMaxCount ради более сложного сервера - частое дело, и оно пропорционально стоит памяти и CPU. Удлинение таймеров очистки дольше держит на карте тела и испорченное снаряжение, а на загруженном PvP-сервере это сотни лишних объектов с полными инвентарями. Проверьте значения в своём файле: файлы миссий обновляются вместе с игрой, а некоторые миссии сообществ их меняют.
Персистентность: часть, которая растёт#
Постоянное хранилище находится в каталоге storage_1 папки миссии (число - это instanceId из serverDZ.cfg). Каждая палатка, бочка, стена, ворота, закопанный тайник и машина записываются туда и загружаются при каждом запуске вместе с содержимым.
Это даёт DayZ такой же медленный рост, как у любой игры на выживание со строительством баз:
- Первая неделя - это в основном экономика и базовый уровень карты.
- Второй месяц добавляет каждую базу на карте, каждый тайник, о котором никто не помнит, и каждую машину, которую кто-то оставил в сарае.
- Заброшенные базы сами не исчезают, если не задействованы флаги территорий и правила их обновления. На ванили флаг, который не обновляют, со временем позволяет базе сгнить; на серверах без флагов постоянные предметы полагаются на собственное время жизни.
Полный вайп персистентности сбрасывает всё это и обычно делается вместе с обновлением карты или по фиксированному графику. Что может удалить частичный вайп и что удаляет полный, описано в статье вайпы сервера DayZ и персистентность.
Доказательство по собственным логам сервера#
DayZ умеет писать собственную память и FPS в файл .RPT сервера - это самый простой способ получить реальные цифры за целую сессию. Добавьте в serverDZ.cfg:
logAverageFps = 60;logMemory = 60;logPlayers = 60;Каждое значение - интервал в секундах. С этими настройками в RPT-логе периодически появляются строки со средним FPS сервера, используемой памятью и числом игроков. Оставьте это работать на весь цикл перезапуска в загруженный вечер, и у вас будут ровно те данные, которые нужны для решения о ресурсах.
На что смотреть:
- Память на протяжении цикла. Она растёт с запуска по мере заполнения экономики и расхождения игроков по карте. Если перед следующим перезапуском по расписанию она в пределах примерно 10% от лимита, вам не хватает.
- FPS сервера под нагрузкой. Если по мере заполнения сервера FPS проседает к однозначным числам, а память ещё с запасом, предел - CPU. Больше памяти не поможет; помогут меньше заражённых, меньше лута, меньше AI и меньше тяжёлых модов.
- Связь между ними. Сервер, у которого FPS равномерно падает в течение сессии вместе с ростом памяти, - классический случай для более короткого интервала перезапуска, а не для тарифа побольше.
Общий метод описан в статье CPU или RAM: что тормозит ваш сервер, а что делать, когда упор в ядро, - в статье требования игрового сервера к CPU.
Параметры запуска, затрагивающие память и CPU#
В строке запуска сервера DayZ есть несколько параметров, которые стоит знать при расчёте ресурсов:
$ ./DayZServer -config=serverDZ.cfg -port=2302 -profiles=profiles \ -cpuCount=2 -limitFPS=60 -dologs -adminlog -freezecheck \ "-mod=@CF;@Dabs Framework;@DayZ-Expansion-Core"Что делает каждый из важных:
- `-cpuCount` сообщает движку, под сколько ядер планировать рабочие потоки. Задайте его по числу ядер, которые у вас действительно есть; значение выше выделенного объёма лишь создаёт потоки, которые конкурируют друг с другом.
- `-limitFPS` ограничивает частоту кадров симуляции сервера. Ограничение не даёт серверу жечь CPU на кадры, от которых никому нет пользы, и оставляет запас для моментов, когда он нужен.
- `-mod` и `-serverMod` перечисляют моды, загружаемые с обеих сторон и только на сервере. Каждая запись - это память при запуске; серверные моды (инструменты администратора, логирование, помощники античита) не исключение.
- `-freezecheck` заставляет сервер остановиться самому, если он завис, - это лучше, чем замёрзший процесс, удерживающий игроков минутами.
На хостинге с панелью это переменные на вкладке Startup, а не строка, которую вы вводите, и список модов обычно вынесен в отдельное поле.
Моды: самая большая переменная#
Сообщество моддеров DayZ большое, а его крупные фреймворки весомы. Цена зависит от того, что делает мод:
- Фреймворки и моды администрирования - Community Framework, инструменты администратора, логирование - добавляют умеренно памяти и часто являются зависимостями всего остального.
- Контентные паки - оружие, одежда, транспорт - добавляют ассеты и записи экономики. Каждый новый тип предметов, который спавнится, - это больше объектов на карте.
- Системные моды - рынок, AI, квесты, территории и транспорт Expansion; моды торговцев; переработки строительства баз - добавляют больше всего, потому что добавляют работающие системы и постоянное состояние, а не только предметы.
Expansion модульный, поэтому сервер может запускать его ядро и модули строительства баз без AI и рынка, и разница в памяти и CPU существенная. Устанавливайте те модули, которыми действительно будете пользоваться. Модули и порядок их настройки описаны в руководстве по серверу с модом DayZ Expansion.
Разбор на примере: 40 слотов с Expansion#
Сообщество хочет сервер на Черноруси на 40 слотов с модулями ядра, строительства баз, транспорта и рынка Expansion, паком оружия, паком одежды и горсткой модов администрирования и удобства. Лут ванильный, оружия - в полтора раза больше. Вот как рассчитать это без угадывания.
- Начните с таблицы. Сорок слотов на ванили - это 6-8 ГБ. Системы Expansion и два контентных пака переводят сервер в строку с модами, 10-12 ГБ. Начните с 10 ГБ, ожидая, что придётся перейти выше.
- Измерьте базовый уровень. Запустите сервер с полным списком модов, без игроков и с включённым
logMemory. Дождитесь, пока экономика закончит спавнить лут - после запуска это занимает время, - и запишите цифру. Это базовый уровень для этого списка модов и настройки лута. - Измерьте целый вечер. Дайте серверу отработать весь цикл перезапуска в пиковое время с тридцатью с лишним игроками. Запишите память в конце цикла, прямо перед перезапуском по расписанию, и самый низкий FPS сервера.
- Решите. Если цифра в конце цикла ниже примерно 85% тарифа, а FPS в норме, тариф подходит. Если память близка к лимиту, либо перейдите на тариф выше, либо сократите интервал перезапуска с четырёх часов до трёх. Если FPS проседает при нормальной памяти, ответ - меньше AI, меньше заражённых или более лёгкий рынок, а не больше памяти.
- Повторите через первый месяц. Персистентность вырастет с каждой базой, поэтому для долгой перспективы важна цифра в конце цикла на пятой неделе.
На практике такой сервер на втором месяце обычно устанавливается на 9-11 ГБ в конце цикла, поэтому 12 ГБ - комфортный тариф, а 10 ГБ - впритык. Цифры на вашем сервере будут другими; метод - тот же.
Перезапуски - часть замысла#
Серверы DayZ перезапускаются по расписанию, обычно каждые три-четыре часа. Это не признание поражения: FPS сервера за долгую сессию деградирует, память растёт по мере того, как экономика и игроки расходятся по карте, а перезапуск чисто записывает персистентность и возвращает сервер к базовому уровню. При перезапуске же перераспределяются лут и заражённые, и игроки к этому привыкли.
Файл миссии db/messages.xml может объявлять перезапуски и останавливать сервер при заданном аптайме, а расписание в панели может запускать перезапуск и backup по cron-выражению. Выбор интервала описан в статье расписания перезапусков, которые помогают. На RE:NODE кнопка Restart - это корректная остановка, поэтому персистентность записывается до завершения процесса; сервер, достигший лимита памяти, останавливается и чисто перезапускается, а не уходит в swap. Для ноды это безопасно, а для игроков резко - ещё одна причина держать запас под лимитом, а не работать на грани.
Тарифы DayZ на RE:NODE начинаются с 6 ГБ с тремя выделенными портами, от $19 в месяц, и доходят до 12 ГБ на вершине линейки - как раз под ванильный сервер на 40 слотов внизу и большой сервер с Expansion наверху. Для установки нужен логин Steam с купленной игрой, который вводится на вкладке Setup; разумно использовать запасной аккаунт.
FAQ#
Хватит ли серверу DayZ 6 ГБ?
Для ванильного сервера на 30-40 слотов или слегка модифицированного - да. Для сервера с большим количеством модов, системами Expansion, торговцами и AI закладывайте 10-12 ГБ. Прежде чем решать, включите logMemory в serverDZ.cfg и прочитайте полный цикл.
Растёт ли потребление RAM в DayZ с числом игроков?
Напрямую - не сильно. Каждый игрок стоит немного сетевого состояния и инвентаря. Косвенно больше игроков строят больше баз, копят больше предметов и дальше расходятся по карте - вот туда и уходит память. Моды влияют сильнее, чем слоты.
Почему сервер DayZ замедляется перед каждым перезапуском?
FPS сервера за долгую сессию деградирует по мере накопления объектов, тел и активности игроков, а память растёт вместе с ним. Именно поэтому серверы DayZ перезапускаются каждые несколько часов. Если становится плохо в течение часа после перезапуска, смотрите на множители лута, число заражённых и тяжёлые моды.
Увеличит ли удвоение лута потребление памяти?
Да. Центральная экономика держит количество предметов около целевых nominal, поэтому удвоение nominal примерно удваивает число объектов лута на карте. Это ещё и добавляет работы экономике и персистентности. Повышайте типы предметов, которые нужны игрокам, а не всё подряд.
Сколько RAM нужно DayZ Expansion?
Закладывайте 10-12 ГБ для сервера с большинством модулей Expansion и 30-50 игроками. Больше всего добавляют модули AI, рынка и транспорта. Если запускать только используемые модули и держать в разумных пределах запасы торговцев и количество AI, потребление будет ближе к нижней границе.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.