Оптимизация серверной производительности в Arma Reforger: лимиты ИИ и чистка карты
Динамические режимы Conflict и Combat Operations в Arma Reforger предлагают игрокам масштабную симуляцию боевых действий, где фракции сражаются за контрольные точки, вызывают подкрепления и снабжают базы. Сердцем этих режимов является система динамического спавна ИИ (Искусственного Интеллекта), управляемая игровыми мастерами или автоматическими скриптами сценария.
Однако в условиях затяжной игровой сессии и высокого онлайна сервер начинает накапливать «игровой мусор»: десятки остовов сожженной техники, брошенное оружие, пустые магазины и трупы солдат. В сочетании с бесконтрольным спавном ботов это приводит к лавинообразному падению серверного FPS. В этой статье мы разберем, как с помощью скрытых настроек JSON и консольных параметров ограничить лимиты ИИ и настроить автоматическую чистку карты на вашем хостинге.
Часть 1: Управление нагрузкой от динамического спавна ИИ
В движке Enfusion каждый бот — это не просто physical модель, а тяжелый комплекс систем: просчет тактического поведения, навигационная сетка (NavMesh), симуляция обзора, слуха и узел инвентаря. Одновременное нахождение на карте более 80–100 активных ботов способно снизить производительность сервера до критических значений.
Для управления этой нагрузкой в официальных сценариях предусмотрена встроенная система динамической десимуляции и лимитов (Garbage Collector & Spawn Limits), параметры которой можно перегрузить через конфигурационный файл сервера config.json или файл настроек конкретной миссии server_header.json.
Настройка лимитов ИИ в конфигурационных файлах:
Добавьте или измените следующие параметры в блоке настроек сценария (gameProperties / scenarios), чтобы жестко ограничить аппетиты системы спавна подкреплений:
"gameProperties": {
"SCR_AISpawnParams": {
"m_iMaxActiveAI": 60,
"m_fDespawnRadius": 1000,
"m_fMinSpawnRadius": 300,
"m_bEnableDynamicSimulation": true
}
}
Как это работает: При включении m_bEnableDynamicSimulation сервер перестает тратить ресурсы процессора на просчет логики ботов, охраняющих дальнюю базу, если рядом нет игроков. Бот переходит в статичное состояние («засыпает») до тех пор, пока к базе не приблизится техника или пехота вашей фракции.
Часть 2: Настройка автоматической чистки карты (Garbage Collector)
Движок Enfusion имеет встроенный сборщик мусора — GarbageSystem. По умолчанию его параметры настроены слишком мягко (ради сохранения атмосферы затяжной войны), из-за чего уничтоженные Уралы и Хамви могут стоять на дорогах часами, перегружая физический движок сервера коллизиями.
Чтобы заставить сервер оперативно утилизировать уничтоженные сущности, пропишите в блоке "game" вашего config.json скрытые параметры утилизации движка:
"game": {
"GarbageSystem": {
"m_fDeadBodyLifetime": 180,
"m_fDestroyedVehicleLifetime": 300,
"m_fDroppedItemLifetime": 120,
"m_iMaxDeadBodies": 20,
"m_iMaxDestroyedVehicles": 5
}
}
Часть 3: Консольные команды администратора для экстренной очистки
Если во время ивента или спецоперации серверный FPS резко упал из-за непредвиденных лагов (например, игроки взорвали колонну снабжения из 10 машин в одной точке), администратор сервера с правами суперпользователя может выполнить принудительную чистку через встроенную внутриигровую консоль (вызывается клавишей ~ после авторизации по RCon).
| Консольная команда | Что именно она делает? | Когда применять? |
|---|---|---|
#clear dead |
Моментально удаляет все мертвые тела пехоты на карте. | После тяжелых штурмов крупных баз в режиме Conflict. |
#clear wrecks |
Уничтожает все остовы взорванной и сгоревшей техники. | Если дороги заблокированы сгоревшими машинами, вызывающими лаги физики. |
#clear items |
Очищает карту от брошенных предметов (рюкзаки, оружие, патроны). | Для тотальной разгрузки дисковой подсистемы и RAM хостинга. |
Архитектурные советы для стабильного серверного FPS
- Контролируйте базы снабжения (Supply Depots): В режиме Conflict игроки часто аккумулируют на главной базе десятки ящиков с припасами. Каждый ящик — это динамическая сущность с репликацией. Просите игроков своевременно тратить припасы на постройку укреплений, а не копить их тысячами в одной зоне.
- Регулярные автоматические рестарты: Даже при идеальной настройке Garbage Collector, движок Enfusion подвержен накоплению кэша геометрии. Оптимальный режим работы для обитаемого сервера Arma Reforger — проведение автоматических рестартов через планировщик задач хостинга каждые 6–12 часов. Это гарантирует полную очистку оперативной памяти контейнера.
Резюме для владельца сервера: Поддержание высокого FPS сервера (желательно не ниже 40–60 кадров по графику панели хостинга) напрямую зависит от вашей жесткости в отношении игрового мусора. Внедрение лимитов на спавн ИИ и быстрая утилизация уничтоженных машин позволят вашему серверу работать плавно, без просадок и фризов, даже при максимальной загрузке слотов.