MAATRIX GAMES / Блог / Unturned: лагает при росте мира/производства

Unturned: лагает при росте мира/производства

MAATRIX GAMES

Первую неделю сервер летает, а через месяц — фризы каждые 15 минут, лут долго прогружается, а зомби телепортируются рывками. Это классика Unturned: чем больше игроки настроили баррикад, машин и структур, тем тяжелее становится каждый тик серверу. Разберём, что именно раздувается со временем, где реально жмёт — диск, CPU или память — и как привести сервер в чувство без полного вайпа.

Почему рост базы игроков бьёт по тикрейту сильнее, чем рост онлайна

В большинстве шутеров и RP-серверов лаги растут вместе с числом игроков. В Unturned основная нагрузка — не онлайн, а количество объектов в мире: баррикады, структуры, брошенные машины, ловушки, генераторы, растения на грядках. Каждый такой объект сервер обязан помнить, симулировать (у построек есть здоровье, у машин — топливо и заряд батареи, у растений — стадии роста) и регулярно сохранять на диск.

Пока игроков десяток и они только начали строиться, счёт объектов идёт на сотни. Через месяц активного PvP или PvE-сервера с открытым строительством счёт легко уходит за десятки тысяч: заброшенные базы копятся, потому что игроки уходят, а их постройки остаются. Сервер не удаляет их сам — разрушение чужой базы такое же трудоёмкое действие для движка, как и постройка новой.

Итог: тикрейт (внутренняя частота обновления мира) проседает не от того, что "много людей стреляют", а от того, что на каждый тик сервер обходит гигантский список сущностей. Отсюда и характерная картина — лут долго не появляется, зомби двигаются рывками, а не плавно, машины подтормаживают при рестарте физики.

Автосейв — главный подозреваемый в резких фризах

Если лаги не постоянные, а бьют раз в 10-15 минут короткими, но заметными фризами — почти наверняка это автосохранение. Unturned пишет на диск полный снимок мира: Structures.dat, Barricades.dat, Vehicles.dat, Animals.dat, Zombies.dat в папке уровня внутри Servers/<имя_сервера>/Level/<карта>/. Чем больше построек, тем крупнее эти файлы и тем дольше идёт запись — а на дешёвом HDD или перегруженном сетевом диске это превращается в заметный стопор игры на всех подключённых клиентах разом.

Интервал автосейва задаётся командой в Commands.dat (лежит в той же папке сервера, что и Config.json):

AutoSave 15

Значение — в минутах. Уменьшать интервал ради "подстраховки от краша" — плохая идея на разросшемся мире: чаще сейвы = чаще фризы. Разумный компромисс на большом мире — 20-30 минут вместо дефолтных 15, при условии что у вас включён нормальный аптайм и нет частых крашей. Если сервер падает редко, лучше пожертвовать парой минут прогресса при краше, чем ловить фриз каждую четверть часа при живом онлайне.

Второй рычаг — диск. Автосейв на NVMe SSD пишет файлы кратно быстрее, чем на HDD или медленный сетевой том, и просадка тикрейта становится почти незаметной даже на крупных мирах. Если сервер арендован там, где диск — обычный SATA SSD или тем более HDD, рост мира будет ощущаться заметно раньше, чем на NVMe.

Поднять сервер Unturned за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Чистка заброшенных построек и лимиты на клеймы

Второй по значимости фактор — накопление построек, которыми никто не пользуется. У ванильного Unturned нет встроенного автоматического сноса заброшенных баз — это либо ручная работа админа через RCON/консоль сервера, либо задача для плагина.

Что можно сделать без плагинов:

  • Периодически (раз в 1-2 недели) объезжать карту и вручную сносить явно заброшенные постройки командой удаления объекта в консоли сервера.
  • Ограничить зону застройки — часть игроков специально ставит базы в неиграбельных местах (под картой, в воде, на границе региона), это чистый мусор для сервера.
  • Договориться с сообществом о правиле "неактивность N дней = база помечается под снос", это снимает конфликты при чистке.

Если сервер живёт на OpenModHub/OpenMod (актуальный фреймворк для Unturned, пришедший на смену устаревающему RocketMod) — есть плагины, которые считают активность владельца базы и автоматически снимают клейм или уведомляют о предстоящем сносе. Это избавляет от львиной доли ручной работы, но требует времени на настройку и тестирование на вашей версии сервера — не все плагины одинаково хорошо переживают апдейты игры.

Отдельно стоит вопрос лимитов: если у вас PvE-сервер с щедрым строительством, разумно с самого старта завести мягкий лимит на число баррикад/структур на игрока или группу. Задать это правило заранее сильно дешевле, чем разгребать разросшийся мир через полгода.

Зомби и спавн: где ещё копится нагрузка

Зомби в Unturned — не просто декорация, у каждого работает ИИ поиска цели и патрулирования, и чем больше их одновременно активно рядом с игроками, тем выше нагрузка на тик. На картах с плотной застройкой (много игроков рядом = много зон агро одновременно) это накладывается на нагрузку от построек и усиливает эффект.

Что реально влияет на нагрузку от зомби:

  • Плотность спавна на уровне — задаётся в ассетах карты/зонах спавна, штатно её тонко настраивать сложно без редактирования уровня, но на кастомных или изменённых картах стоит проверить, не завышена ли плотность относительно вашего железа.
  • Радиус, в котором зомби вообще активны и "думают" — чем плотнее застроена активная зона игроков, тем больше зомби одновременно требуют расчёта ИИ.
  • Ночные волны и ивенты (если используются моды/плагины на баланс) — они кратковременно, но заметно поднимают нагрузку, и часто именно на этих пиках сервер ловит просадку тикрейта, которую списывают на "рост мира", хотя причина в конкретном событии.

Если фризы совпадают по времени с ночным циклом или конкретной зоной карты, а не идут равномерно — ищите причину именно здесь, а не в общем объёме построек. Диагностика по логам и мониторингу нагрузки в реальном времени разобрана в статье про мониторинг TPS и лагов на игровом сервере — там же есть общий подход, применимый и к Unturned.

Мастерская Steam и моды: скрытая цена контента

Каждый workshop-мод — это не только новый контент, но и дополнительная работа сервера: загрузка ассетов при старте, а для многих модов — дополнительная логика, которая крутится каждый тик (новое оружие с особой механикой, кастомные транспортные средства, новые типы зомби). Один-два лёгких косметических мода почти не заметны. Десяток модов с новыми механиками, добавленными вперемешку без проверки совместимости — заметная просадка производительности, причём часто именно на разросшемся мире, где и без того каждый тик тяжелее.

Практический совет: если сервер начал лагать после роста мира именно с определённого момента — проверьте, не совпало ли это с добавлением нового мода, а не только с накоплением построек. Отключите моды по одному на тестовом окне с низким онлайном и сравните нагрузку — это быстрее, чем гадать по логам.

Список установленных модов и их ID хранится в Config.json сервера в разделе Workshop — держите его актуальным и без "мёртвых" записей от модов, которые давно не используются, но всё ещё грузятся при рестарте.

RAM и CPU: сколько реально нужно на разросшемся мире

Базовая рекомендация под старт Unturned-сервера — около 2 ГБ RAM, этого достаточно для небольшой группы и свежего мира. Но по мере роста построек, зомби-популяции и модов потребление памяти растёт нелинейно: чем больше сохранённых объектов сервер держит в памяти между сейвами, тем выше базовый расход, независимо от онлайна.

Ориентировочные уровни (именно ориентир, не точный бенчмарк — фактический расход зависит от модов и плотности построек на вашей карте):

СценарийRAMCPU
Свежий мир, до 10 игроков, без модов2 ГБ2 ядра, высокая частота на ядро
Разросшийся мир, 10-20 игроков, лёгкие моды4 ГБ2-4 ядра
Крупный PvE/RP мир, 20+ игроков, много модов6-8 ГБ4 ядра, приоритет частоте, не количеству

Важный нюанс: Unturned, как и большинство серверов на движках такого типа, симуляцию тика гонит преимущественно на одном потоке. Это значит, что упереться в лаги можно и при формально свободных ядрах — если частота на ядро низкая, добавление ядер не спасёт тикрейт. Подробнее логика такого выбора разобрана в статье сколько ядер CPU нужно под стабильный тикрейт сервера — она не про Unturned конкретно, но методика применима один в один. Общий подход к расчёту памяти под рост мира — в статье сколько RAM нужно под игровой сервер.

Если сервер только разворачиваете и хотите избежать переезда на середине сезона — процесс первого запуска через SteamCMD, Commands.dat и проброс портов пошагово разобран в статье как поднять сервер Unturned.

Поднять сервер Unturned за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Частые вопросы

Помогает ли простой рестарт сервера от лагов на разросшемся мире?

Временно да — освобождается память под накопленные за сессию данные, но причина (объём объектов на диске, автосейв, зомби-нагрузка) никуда не девается и лаги вернутся по мере наполнения онлайна.

Можно ли просто уменьшить размер карты, чтобы разгрузить сервер?

Нет, размер карты фиксирован ассетом уровня и не меняется на лету. Разгрузка идёт через число объектов и плотность активности, а не через границы карты.

Стоит ли вайпать сервер при сильных лагах?

Это крайняя мера — сначала попробуйте чистку заброшенных баз, тюнинг автосейва и проверку модов. Вайп решает проблему мгновенно, но убивает прогресс лояльных игроков, которые как раз и держат сервер живым.

Зависит ли лаг от того, PvP сервер или PvE?

Косвенно — PvE-сервера обычно накапливают больше долгоживущих построек (никто их не разрушает в бою), поэтому объём объектов на PvE в среднем растёт быстрее при равном онлайне.

Как понять, диск виноват или CPU?

Если фриз короткий и предсказуемо совпадает с интервалом автосейва — почти всегда диск. Если просадка тикрейта постоянная и не привязана к конкретному моменту — вопрос к CPU и общей нагрузке от объектов/зомби.