Оптимизация сервера Rust: FPS сервера и стабильность
Даже мощное железо не спасёт Rust-сервер, если он неправильно настроен: игроки жалуются на резину, задержки при стрельбе и фризы во время рейдов. Причина почти всегда в производительности серверного тика. В этой статье разберём, что такое server fps, как контролировать число сущностей, почему размер карты нужно соотносить с оперативной памятью и как найти плагины, которые съедают ресурсы.

Что такое server FPS и почему это главная метрика
В Rust ключевой показатель производительности — это server fps, частота обновления серверного цикла. Не путайте с FPS на клиенте: серверный FPS определяет, насколько часто сервер пересчитывает физику, движение игроков, полёт пуль и поведение AI.
Здоровое значение — стабильные 60 server fps. Когда оно проседает до 30–40, игроки чувствуют это как резину: движение рывками, задержку регистрации попаданий, «телепорты» противников. При падении ниже 20 играть становится почти невозможно, особенно в бою.
Проверить текущее значение можно командой в консоли сервера:
server.fps
```
А общую картину нагрузки покажет:Она выводит server fps, число подключённых игроков, количество сущностей и потребление памяти. Именно с этих команд начинается любая диагностика — не гадайте, а смотрите на реальные цифры перед тем, как что-то менять.
Entity count — главный враг производительности
Каждый предмет в мире — стена базы, ящик, спальник, факел, дверь — это сущность (entity), которую сервер обсчитывает. Чем их больше, тем тяжелее серверу держать стабильный тик. На старте вайпа мир пустой и server fps высокий, но к концу цикла карта застраивается мегабазами, число сущностей растёт до сотен тысяч, и FPS начинает проседать.
Посмотреть количество сущностей:
server.status
```
Или подробнее по типам через отчёт в консоли. Если entity count перевалил за разумные пределы для вашего тарифа, а FPS падает, есть несколько рычагов:
- **Ограничьте размер построек** плагином на лимит сущностей на игрока или на команду. Это не даёт одному клану застроить полкарты.
- **Настройте decay (разрушение заброшенных баз).** Параметр `decay.scale` управляет скоростью распада. При значении `1.0` заброшенные постройки со временем исчезают сами, освобождая ресурсы. Ставить `0` (отключить распад) на долгом вайпе — верный путь к деградации FPS.
- **Регулярно вайпайте.** Вайп обнуляет накопленные сущности — это ещё одна причина не растягивать цикл слишком надолго.
## Ограничение сущностей и настройки запуска
Ряд параметров запуска напрямую влияет на нагрузку. Разумный базовый набор:Разберём ключевые:
server.tickrate 30— стандартное значение. Повышение до 60 удваивает нагрузку на CPU и оправдано только на мощных тарифах с небольшим онлайном.server.saveinterval 600— сохранение раз в 10 минут. Слишком частые сейвы вызывают периодические микрофризы, слишком редкие рискуют потерять прогресс при падении.fps.limit 60— ограничение серверного FPS сверху стабилизирует нагрузку и не даёт серверу впустую жечь CPU.aimanager.nav_wait true— заставляет AI (животных, NPC) ждать готовности навигации, снижая нагрузку при старте.
Не гонитесь за максимальными значениями. Тикрейт 60 при 100 сущностях на слабом тарифе даст худший результат, чем стабильный тикрейт 30. Оптимизация — это баланс, а не выкручивание всех ползунков вверх.
Размер карты против оперативной памяти
Размер карты (server.worldsize) — один из самых недооценённых факторов нагрузки. Карта не просто больше по площади: она держит в памяти больше объектов, монументов и террейна. Большая карта при недостатке RAM приводит к падениям сервера при старте и постоянным подгрузкам.
Ориентиры по соотношению карты и памяти:
- worldsize 3000–3500 — стандарт, комфортно живёт на 8+ GB RAM.
- worldsize 4000–4500 — большая карта, требует запаса памяти и подходит для крупных проектов.
- worldsize 2500 — компактная карта для малых серверов и слабых тарифов.
Главное правило: если сервер падает при первом запуске, первым делом уменьшите worldsize. Генерация большой карты — самый памятеёмкий момент за весь цикл. Rust в целом требователен: базовому серверу нужно хотя бы 8 GB, а для 50+ игроков с плагинами закладывайте 12+ GB. Как выбрать конфигурацию под свой проект, подробно разобрано в гайде как создать сервер Rust.
Плагины-пожиратели ресурсов
Oxide-плагины расширяют возможности сервера, но каждый из них тратит CPU и память. Один плохо написанный плагин способен уронить server fps сильнее, чем сотня игроков. Тяжелее всего обычно даются экономические системы, зоны с постоянной проверкой координат, кастомные события и плагины, которые часто обращаются к диску.
Как найти виновника:
- Отслеживайте FPS до и после. Ставьте плагины по одному и смотрите
server.fps— резкое падение после конкретной установки указывает на проблему. - Используйте отчёт по нагрузке плагинов. Oxide умеет показывать, сколько времени тика занимает каждый плагин (
oxide.pluginsи профилирование хуков). Плагин, стабильно съедающий заметную долю тика, — первый кандидат на удаление или замену. - Не держите лишнего. Каждый неиспользуемый плагин это нагрузка и потенциальный конфликт. Периодически проводите ревизию и убирайте то, чем никто не пользуется.
- Обновляйте вовремя. После форс-вайпа устаревшие плагины часто работают некорректно и создают лишнюю нагрузку. Держите их в актуальных версиях.
Инфраструктура тоже важна
Оптимизация конфигов не поможет, если само железо — узкое место. Rust очень чувствителен к скорости диска и частоте процессора. Серверы TeaHost работают на NVMe-накопителях, поэтому сохранение мира и подгрузка сущностей не создают просадок, а автобэкапы снимают резервные копии без остановки сервера.
Если после всех настроек CPU в панели стабильно держится выше 80%, а server fps не поднимается — значит, вы упёрлись в потолок тарифа. В этом случае оптимизация уже сделала своё, и пора переходить на конфигурацию мощнее. Апгрейд между тарифами делается в биллинге без потери данных, а поддержка 24/7 подскажет, какой вариант подойдёт под ваш онлайн.
Итог
Стабильный Rust-сервер — это не только мощное железо, но и грамотная настройка: держите server fps около 60, контролируйте entity count через лимиты и decay, соотносите размер карты с объёмом RAM и регулярно проверяйте плагины на прожорливость. Диагностируйте по цифрам из server.status, а не на глаз, и меняйте параметры по одному.
Нужен производительный Rust-сервер на NVMe с включённой DDoS-защитой? Выберите тариф на странице цен — запуск за 60 секунд, автобэкапы и бесплатный перенос со старого хостинга. Больше руководств ищите в разделе Rust и в базе знаний.