Боротьба з просадками FPS та лагами сутностей (Entity Lag) на сервері Rust

Технічний посібник з оптимізації серверів Rust для виправлення низького серверного FPS та лагів. Налаштування лімітів будівель, швидкості гниття та фізики Unity.

20.05.2026 Українська

Боротьба з просадками FPS та лагами сутностей (Entity Lag) на сервері Rust

Серверна частина Rust надзвичайно вимоглива до однопотокової продуктивності процесора та швидкості дискової підсистеми. На відміну від багатьох інших survival-ігор, світ Rust повністю динамічний: гравці будують величезні багатоповерхові бази з тисяч елементів, розставляють сотні турелей, пасток, скринь та активно використовують транспорт. Усі ці об'єкти в термінології рушія Unity називаються сутностями (Entities).

Коли загальна кількість сутностей на карті (Entity Count) перекрочує критичну позначку (зазвичай це 150 000 — 200 000 об'єктів для стандартного тарифу хостингу), серверний фреймрейт починає стрімко падати, гравці стикаються із затримками при відкритті ящиків (Loot Lag), а мережевий відгук погіршується. У цій статті ми розберемо, як оптимізувати параметри фізики, налаштувати швидкість гниття та очистити карту від сміття заради стабільної роботи сервера.

1. Обмеження загальної кількості сутностей та ліміти будівель

Кожна встановлена стіна, фундамент або розміщений предмет створюють постійне навантаження на сервер, оскільки рушій повинен прораховувати їхній стан, мережеву синхронізацію та стабільність конструкції. Першим кроком оптимізації є жорсткий контроль за розростанням баз.

  • Змінна server.maxentities: Цей параметр задає гіпотетичний ліміт сутностей, який сервер намагається утримувати. Однак він не зупиняє будівництво гравців безпосередньо. Для жорсткого контролю структури баз рекомендується використовувати плагіни на кшталт EntityLimit або вбудовані ліміти модифікацій Oxide/Carbon, які фізично забороняють одному клану ставити більше, наприклад, 20 турелей або 5000 блоків на одну шафу (Tool Cupboard).
  • Оптимізація стабільності (Building Stability): Прорахунок стабільності величезних будівель навантажує процесор при кожному вибуху стіни. Якщо ваш сервер є суто тренувальним (Build/Creative/Battle), повністю вимкніть симуляцію стабільності командою:
    construction.stability false

2. Налаштування гниття будівель (Decay Scale) — головний двірник сервера

Якщо на сервері вимкнено або занадто уповільнено гниття будівель, карта за 2-3 дні покриється занедбаними будівлями гравців, які покинули гру. Будинки без шаф або ресурсів усередині повинні зникати максимально швидко, щоб звільняти оперативну пам'ять та розвантажувати процесор.

Відкрийте конфігураційний файл server.cfg у панелі хостингу та налаштуйте такі параметри:

# Множник швидкості гниття. 1.0 — стандарт (солом'яна стіна гниє за пару годин, МВК — за дві доби).
# Якщо хочете прискорити очищення карти, підніміть значення до 1.5 або 2.0.
decay.scale 1.0

# Час (у хвилинах) після знищення або спустошення шафи, через який база починає інтенсивно руйнуватися
decay.delay_twigs 10
decay.delay_wood 30
decay.delay_stone 60
decay.delay_metal 120
decay.delay_toptier 240

Важливо: Ніколи не встановлюйте decay.scale 0 на публічних класичних серверах із високим онлайном. Без гниття кількість сутностей досягне ліміту хостингу задовго до планового вайпу, що призведе до перманентних лагів.

3. Фізика Unity: Оптимізація тіків колайдерів

Кожен об'єкт у Rust має фізичну межу — колайдер, який відповідає за реєстрацію влучань куль, зіткнення гравців та логіку падіння предметів. За замовчуванням Unity оновлює фізичну сітку занадто часто.

Для зниження навантаження на CPU змініть частоту оновлення фізичного рушія у файлі запуску або через консоль:

  • physics.bouncethreshold 2.0 — збільшує мінімальну швидкість, необхідну для розрахунку відскоку об'єктів (знижує мікророзрахунки для луту, що падає).
  • physics.steps 30 — кількість фізичних тіків на секунду. За замовчуванням встановлено значення 60. Зниження до 30 або 45 значно розвантажує основне ядро процесора, практично не впливаючи на реєстрацію влучань (Hit Registration).

4. Контроль та обмеження кастомного транспорту

Модульні автомобілі, коптери, човни та коні є "динамічними сутностями". Вони постійно оновлюють свої координати, прораховують фізику тертя та перевіряють колізії, навіть якщо просто стоять на базі у гравця. Величезна кількість кинутого транспорту на дорогах та річках — сильне джерело лагів.

Команда / Змінна Оптимальне значення Ефект для продуктивності
minicopter.population 0 до 1 Щільність спавну мінікоптерів на 1 кв. км. Рекомендується знизити до мінімуму або виставити 0, якщо на сервері працює плагін на купівлю транспорту в магазинах.
modularcar.population 1 або 2 Обмежує кількість модульних машин, що спавняться та гниють на дорогах.
hotairballoon.population 0 Повністю вимикає спавн повітряних куль. Вони мають складну фізику вітру і сильно навантажують сервер під час польоту.

5. Примусове очищення карти та утилізація сміття

Крім автоматичного гниття, адміністратор повинен проводити регулярну профілактику ігрового світу. Для цього використовуються вбудовані інструменти збірника сміття (Garbage Collector) та команди очищення:

  1. Керування Garbage Collector (GC): За замовчуванням Rust очищає невикористовувану пам'ять масивно, що викликає короткочасні фризи у всіх гравців раз на кілька хвилин. Налаштуйте більш часте, але "легке" очищення, додавши в параметри запуску сервера:
    -gc.incremental true
    -gc.buffer 2048 (виділяє 2 ГБ буфера під збірник сміття, запобігаючи різким скачкам).
  2. Команда очищення покинутого дропу: Якщо гравці підірвали базу і залишили тонни луту валятися на підлозі, зберіть його примусово командою в консоль:
    global.collapsestoreboxes або видаліть усі вільні предмети на землі через: del assets/prefabs/misc/item drop/item_drop.prefab

Гайд з експрес-моніторингу: Щоб у реальному часі бачити, що саме навантажує ваш сервер, введіть у консоль команду serverinfo. Зверніть увагу на рядки EntCount (загальна кількість об'єктів) та Uptime. Якщо EntCount зростає аномально швидко (наприклад, на 50 000 за день при низькому онлайні), перевірте сервер на наявність читерів, які використовують краш-скрипти для масового спавну предметів.

Схожі статті

Оптимізація мережевих налаштувань та рейтів (Network Tweaking) у Rust

Технічний посібник із налаштування мережевих параметрів, тикрейту та черг пакетів на серверах Rust для повного усунення гумових повернень (rubberbanding) та мережевих лагів.

Читати далі

Новий старт: Посібник з автоматизації вайпів на сервері Rust

Дізнайтеся, як підтримувати ідеальний ігровий баланс за допомогою запланованих вайпів та автоматичного оновлення конфігурації.

Читати далі

Повний посібник із встановлення плагінів Oxide у Rust

Розширте можливості вашого сервера Rust, опанувавши автоматичне та ручне встановлення плагінів Oxide для покращення геймплею.

Читати далі