Оптимизация сервера Rust: от чего лагает и что помогает
Коротко: введите serverinfo в консоли сервера, чтобы увидеть Framerate и EntityCount сервера. Сервер Rust тормозит, когда ему больше нужно считать: больше построек и предметов в мире, больше спавнов на большой карте, NPC и плагины. Настройки ниже управляют каждым из этих пунктов. Настройки тикрейта оставьте по умолчанию.
Как узнать, как дела у сервера
Заголовок раздела «Как узнать, как дела у сервера»| Команда | Что показывает |
|---|---|
serverinfo | Framerate, EntityCount (всё в мире), Players, Memory, NetworkIn и NetworkOut, Uptime. |
server.fps | Только частота кадров сервера. |
Вводите их в консоли сервера, через RCON или в консоли F1 как админ. В Crucible Local Server плитка Частота кадров на простом виде показывает то же число, пока сервер В сети.
Следите за частотой кадров, пока идут лаги. Если она падает, серверу тяжело от собственной работы, и остальная страница вам подходит. Если держится ровно, смотрите на сеть или на ПК самого игрока.
Лимит частоты кадров
Заголовок раздела «Лимит частоты кадров»fps.limit это максимум кадров в секунду, на которых будет работать сервер (Rust сообщает 240). Если его снизить, на том же ПК освобождается процессор для другого, например для второго сервера. Для сервера, который и так работает ниже лимита, он ничего не даёт.
Тикрейт: не трогайте
Заголовок раздела «Тикрейт: не трогайте»| Настройка | По умолчанию | Что делает |
|---|---|---|
server.tickrate | 10 | Сколько раз в секунду сервер обрабатывает RCON, Rust+ и проверки соединения. Игру плавнее он не делает. |
player.tickrate_sv | 16 | Сколько раз в секунду сервер обновляет каждого игрока. Rust разрешает от 16 до 128, и каждый шаг вверх это больше работы для каждого игрока на сервере. |
Число сущностей
Заголовок раздела «Число сущностей»Каждый строительный блок, размещаемый предмет, выброшенный предмет, труп, животное и бочка это сущность, а сервер следит за каждой и сохраняет каждую. За вайп число растёт, пока игроки строят.
| Настройка или команда | По умолчанию | Что делает |
|---|---|---|
server.itemdespawn | 300 | Базовое число секунд, сколько выброшенный предмет лежит на земле, пока не исчезнет. Некоторые предметы лежат дольше. |
server.corpsedespawn | 300 | Сколько секунд остаётся труп. |
entity.countby <steamid> | Считает всё, что поставил один игрок. | |
entity.deleteby <steamid> | Уничтожает всё, что поставил один игрок. Отмены нет. |
Decay разрушает постройки, за которыми никто не следит, и именно он вычищает с карты брошенные базы. С decay.scale 0 ничего не разрушается, так что каждая база стоит до вайпа, а число сущностей только растёт. На длинном вайпе decay лучше оставить включённым; настройки на странице отключение decay.
Размер карты и спавны
Заголовок раздела «Размер карты и спавны»Rust наполняет карту рудными узлами, растениями, подбираемыми предметами и животными по площади: у каждого типа спавна есть плотность, и Rust стремится к ней на всей подходящей земле. На большой карте всего больше, и серверу больше считать. Rust ограничивает некоторые типы спавна площадью карты 4000 m. Как выбрать размер: размеры карт Rust.
| Настройка | По умолчанию | Что делает |
|---|---|---|
spawn.max_density | 1 | Масштабирует, сколько каждого типа спавна держит карта. 0.5 это половина. |
spawn.min_density | 0.5 | Типы спавна, зависящие от числа игроков, на пустом сервере начинают с этого значения и поднимаются до spawn.max_density по мере заполнения. |
spawn.tick_populations | 60 | Секунды между раундами спавна. Чем больше число, тем медленнее карта пополняется. |
| Настройка | Что делает |
|---|---|
ai.npc_enable false | Учёные не появляются на монументах и свалках, а Rust не строит навмеши монументов, так что сервер стартует быстрее. Животные по-прежнему появляются. |
aimanager.nav_disable true | Rust вообще не строит навмеш, так что сервер стартует намного быстрее, но NPC и животные не могут двигаться. Только для сервера для стройки или тестов. |
Задайте обе в server.cfg или в строке запуска, чтобы они действовали с момента старта сервера. См. пример Rust server.cfg.
Плагины
Заголовок раздела «Плагины»Каждый плагин выполняет на сервере собственный код, и один медленный плагин может просадить частоту кадров у всех. o.plugins на Oxide или c.plugins на Carbon показывает, что загружено. Чтобы найти медленный, убирайте плагины из папки oxide/plugins или carbon/plugins по одному, перезапускайте и следите за частотой кадров. В Crucible Local Server плагинами управляют на вкладке Моды; см. моды и плагины.
Сохранения
Заголовок раздела «Сохранения»server.saveinterval (600) это как часто сохраняется мир, в секундах, и каждое сохранение записывает все сущности мира. Чем больше сущностей, тем дольше сохранение, так что не ставьте слишком маленькое значение.
Перезапуски
Заголовок раздела «Перезапуски»Плановый перезапуск даёт долго работающему серверу чистый старт. Crucible Local Server умеет перезапускаться по ежедневному расписанию и ставить обновления Rust, пока сервер выключен; см. автоматический перезапуск сервера.
В Crucible Local Server
Заголовок раздела «В Crucible Local Server»Настройки Производительность на вкладке Конфиг:
- Пропустить навмеш ИИ (быстрее запуск) это
aimanager.nav_disableиз таблицы выше: намного быстрее старт, а NPC и животные не двигаются. - Высокий приоритет даёт серверу больше процессора, когда работают другие приложения.
- Ядра ЦП (дополнительно) привязывает сервер к перечисленным вами ядрам, например
0-7. Оставьте пустым, чтобы использовать все ядра.
Каждый дополнительный сервер, запущенный одновременно, стоит реальной памяти и процессора, поэтому Разрешить одновременный запуск нескольких серверов по умолчанию выключено. См. настройки сервера.
Связанное
Заголовок раздела «Связанное»- Переменные сервера Rust: каждая настройка с этой страницы и её значение по умолчанию
- Админ-команды Rust
- Как изменить максимум игроков
- Как разместить кастомную карту Rust
