Оптимизация Rust-сервера: FPS, tickrate и нагрузка
Как оптимизировать Rust-сервер: настройка server.fps, tickrate, worldsize, maxplayers, ai.tick и плагины Oxide для снижения нагрузки.
Кратко: Rust-сервер тормозит из-за высокого server.fps, больших карт и неоптимальных настроек AI. Снизьте server.fps до 30, уменьшите worldsize до 2500-3000, настройте gc.buffer и отключите избыточный AI - это даёт 30-50% снижения нагрузки без потери качества игры.
Оптимизация Rust-сервера: FPS, tickrate и нагрузка
Rust - одна из самых требовательных игр для серверного хостинга. Сервер на 50 игроков с картой 4500 легко нагружает 8-ядерный процессор до 100% во время рейдов, а утечки памяти после нескольких суток аптайма превращают сервер в тормозящий кошмар. В 2026 году Facepunch продолжает активно разрабатывать движок, и многие параметры оптимизации, которые работали в 2022-2023, по-прежнему актуальны - но с новыми нюансами. В этом руководстве разберём все ключевые рычаги управления производительностью: от server.fps и размера карты до плагинов Oxide и мониторинга в реальном времени.
Pterohost - хостинг Rust-серверов с NVMe-дисками, DDoS-защитой L7 и поддержкой 24/7. Стабильная работа даже в пиковые часы рейдов. Промокод 4START даёт -20% на первый заказ. Заказать Rust хостинг
server.fps: главный параметр производительности
server.fps - это количество обновлений игровой логики в секунду, аналог tickrate в других играх. Именно этот параметр определяет, как часто сервер обрабатывает движение игроков, урон, физику и сетевые апдейты.
По умолчанию Rust-сервер запускается с server.fps 30. Некоторые администраторы повышают до 60, считая это улучшением, но на практике это удваивает нагрузку на CPU при минимальном выигрыше для игроков.
Почему так? Сетевой уровень Rust работает с фиксированной частотой отправки пакетов, которая не удваивается автоматически при повышении FPS сервера. Игрок почувствует разницу только если у него очень низкий пинг (< 20 мс) и мощный клиентский ПК.
Рекомендуемые значения:
| Онлайн | server.fps | Нагрузка | Комментарий |
|---|---|---|---|
| До 30 игроков | 30 | Низкая | Стандартный вариант |
| 30-100 игроков | 30 | Средняя | Не поднимать выше |
| 100+ игроков | 20-25 | Высокая | Снижать для стабильности |
| Пустой сервер | 10-15 | Минимальная | Через плагин DynamicFPS |
Установка через RCON или консоль сервера:
server.fps 30
Для постоянного сохранения добавьте в server.cfg:
server.fps 30
Размер карты (worldsize) и количество слотов
worldsize - второй по важности параметр после server.fps. Он определяет размер игрового мира в метрах и напрямую влияет на потребление RAM и нагрузку CPU.
Влияние worldsize на ресурсы:
| worldsize | Примерный размер карты | RAM (базово) | Кол-во AI-энтити |
|---|---|---|---|
| 1500 | Маленькая | ~3-4 GB | Низкое |
| 2500 | Средняя | ~5-6 GB | Среднее |
| 3500 | Большая | ~7-9 GB | Высокое |
| 4500 | Огромная | ~10-14 GB | Очень высокое |
| 6000 | Максимальная | ~16+ GB | Экстремальное |
Параметр задаётся при запуске сервера:
./RustDedicated -batchmode \
+server.worldsize 3000 \
+server.maxplayers 50 \
+server.seed 12345 \
...
maxplayers влияет не только на лимит подключений, но и на инициализацию серверных буферов. Не выставляйте значение выше реальной вместимости сервера - система резервирует память под каждый слот.
Практическое правило: 1 GB RAM на каждые 10 игроков плюс базовые требования карты. Для 50 слотов и worldsize 3000 нужно минимум 12 GB RAM.
Настройка AI: ai.tick, ai.move, ai.think
Искусственный интеллект NPC (волки, медведи, охранники, вертолёт, Bradley) - одна из главных причин высокой нагрузки CPU. Rust обрабатывает каждый AI-тик синхронно в основном потоке, что создаёт узкое место.
Ключевые AI-команды
ai.tick 200 # интервал между AI-тиками в мс (по умолчанию ~100)
ai.move 1 # движение NPC (0 = отключить)
ai.think 1 # логика решений NPC (0 = отключить)
ai.sensetime 0.5 # как часто NPC "замечают" игроков (в секундах)
ai.tick - самый важный параметр. Значение 200 означает, что AI обновляется 5 раз в секунду вместо 10. Для большинства серверов разница незаметна для игроков, но CPU-нагрузка снижается примерно на 30%.
Не рекомендуется отключать AI полностью (ai.move 0) на постоянной основе, так как это ломает механики игры. Но ночью, когда сервер почти пуст, можно временно снизить через RCON-скрипты.
Спаун NPC и популяция животных
animal.population 100 # популяция животных (по умолчанию 100, снижайте до 50-70)
npc.enabled 1 # глобальное включение NPC
Снижение animal.population до 50 на загруженных серверах заметно снижает нагрузку без ухудшения игрового опыта.
Управление памятью: gc.buffer и sleepers
gc.buffer - буфер сборщика мусора
gc.buffer управляет буфером памяти для garbage collector Unity. Это один из самых эффективных параметров для снижения пиковой нагрузки и лагов.
gc.buffer 256 # по умолчанию (в MB)
gc.buffer 512 # рекомендуется при 8+ GB RAM
gc.buffer 1024 # для серверов с 16+ GB RAM
Логика проста: чем больше буфер, тем реже GC запускает очистку, тем меньше фризов. Но при недостатке RAM увеличение буфера даст противоположный эффект - сервер начнёт свопировать.
Добавьте в server.cfg:
gc.buffer 512
Sleepers (спящие игроки)
Спящие игроки остаются в мире после выхода и создают дополнительную нагрузку. Настройка:
server.sleepers 1 # включены (по умолчанию)
server.sleepingGuards 0 # охрана спящих - ресурсоёмко, рекомендуем отключить
На серверах с высоким онлайном server.sleepers 0 даёт заметное снижение нагрузки, но меняет геймплей - рейды становятся менее актуальными. Взвесьте это с позиции формата вашего сервера.
Bradley APC и вертолёт: точечная оптимизация
Bradley APC и патрульный вертолёт - самые ресурсоёмкие AI-энтити в Rust. Один вертолёт во время активного боя может снизить серверный FPS на 5-10 единиц.
Параметры управления:
bradley.enabled 1 # Bradley (по умолчанию включён)
heli.call 1 # вызов вертолёта игроками
heli.lifetimeminutes 15 # время жизни вертолёта
heli.guns 1 # вооружение вертолёта
Если сервер нагружен, рассмотрите:
- Снижение
heli.lifetimeminutesдо 10 - Отключение
bradley.enabledв часы пик через RCON-скрипт - Использование плагинов для контроля спауна (см. раздел про плагины)
Оптимизация через плагины Oxide/uMod
Oxide (uMod) предоставляет экосистему плагинов, часть которых напрямую влияет на производительность.
DynamicFPS
Один из наиболее полезных плагинов для оптимизации. Динамически снижает server.fps когда онлайн падает ниже порога:
{
"MinimumFPS": 10,
"MaximumFPS": 30,
"PlayerThreshold": 5,
"CheckInterval": 60
}
При онлайне меньше 5 игроков сервер автоматически снижает FPS до 10, экономя ресурсы. Ночью это даёт ощутимый выигрыш.
EntityReducer / CleanupEntities
Плагины для очистки накопившихся “брошенных” энтити: ящики на земле, трупы, мусор. Со временем без очистки количество энтити на сервере растёт и нагружает CPU.
Пример конфигурации очистки трупов:
{
"CorpseRemovalTime": 300,
"LootBagRemovalTime": 600,
"AutoCleanupInterval": 3600
}
Контроль Bradley и Heli
Плагины BradleyControl и HeliControl (доступны на uMod) позволяют гибко настраивать спаун, здоровье и агрессивность этих энтити. Это эффективнее, чем полное отключение.
Расписание перезагрузок через oxide.call и cron
Рекомендуется настроить автоматические перезагрузки каждые 12-24 часа. Rust не имеет встроенного планировщика, поэтому используйте:
- Плагин
ScheduledRestartдля Oxide - Или внешний скрипт через
crontabна Linux
Пример cron-задачи для перезагрузки каждые 12 часов:
0 6,18 * * * /usr/bin/rcon-cli --address 127.0.0.1:28016 --password "пароль" "quit"
После quit сервер перезапускается стартовым скриптом с --restart флагом.
Требования к железу в 2026 году
Rust на серверной стороне однопоточен в части основной логики - многие задачи нельзя распараллелить. Это означает, что частота процессора важнее количества ядер.
Минимальные требования по слотам:
| Слоты | CPU (рекомендация) | RAM | Диск |
|---|---|---|---|
| 10-25 | 2 ядра / 3.0+ GHz | 8 GB | 20 GB SSD |
| 25-50 | 4 ядра / 3.5+ GHz | 12 GB | 30 GB SSD |
| 50-100 | 6 ядер / 4.0+ GHz | 16 GB | 50 GB SSD |
| 100-200 | 8 ядер / 4.5+ GHz | 32 GB | 100 GB NVMe |
Диск: Rust активно читает/пишет данные мира, инвентари и чанки. Использование HDD вместо SSD даёт задержки при загрузке и сохранении - только NVMe или SSD.
Сеть: Рекомендуется 100 Mbps выделенного канала на каждые 50 игроков. При рейдах трафик кратковременно вырастает в 3-5 раз.
DDoS-защита: Rust-серверы регулярно подвергаются DDoS-атакам. Без защиты на уровне провайдера сервер будет недоступен в самый неподходящий момент - во время вайпа или крупного рейда.
Мониторинг производительности
Встроенные команды
perf 1 # показывает FPS и базовую нагрузку в реальном времени
stats # статистика сервера: игроки, энтити, ping
entity.count # количество активных энтити на сервере
server.entities # аналог entity.count
Команда perf 1 выводит в лог строки вида:
FPS: 30.1 | Entities: 45231 | Players: 47/50
Следите за числом энтити: если оно превышает 60-70 тысяч - пора чистить или перезагружать сервер.
Системный мониторинг
На Linux-сервере используйте стандартные инструменты:
# Нагрузка CPU и памяти
htop
# Потребление памяти процессом Rust
ps aux | grep RustDedicated
# Сетевой трафик
nethogs
Для долгосрочного мониторинга рекомендуется стек Prometheus + Grafana с node_exporter. Это позволяет строить графики нагрузки, выявлять паттерны (например, пики во время рейдов) и планировать перезагрузки.
Признаки проблем производительности
- FPS сервера падает ниже 20 при нормальном онлайне - проверьте количество энтити и AI
- Высокий ping всех игроков одновременно - нагрузка на CPU или сеть
- Растущее потребление RAM без стабилизации - утечка памяти, требуется перезагрузка
- Задержки при загрузке чанков - медленный диск или нехватка RAM
- Регулярные “рубки” на 1-2 секунды каждые несколько минут - GC (сборщик мусора) срабатывает слишком часто, увеличьте gc.buffer
- Дисконнекты игроков в одно время - скорее всего, проблема сети или DDoS-атака, а не производительность сервера
Полезно вести лог показаний perf 1 в файл и периодически анализировать: так видно, в какие часы нагрузка пиковая и стоит ли откладывать резервные копии или перезагрузки на ночное время.
Полный пример оптимизированного server.cfg
Ниже - рабочая конфигурация для сервера на 50-75 игроков с картой 3000:
# Основные параметры
server.fps 30
server.maxplayers 75
gc.buffer 512
# AI оптимизация
ai.tick 200
ai.sensetime 0.5
animal.population 60
# Энтити и мир
server.sleepers 1
server.sleepingGuards 0
heli.lifetimeminutes 12
# RCON (обязательно измените пароль)
rcon.web 1
rcon.port 28016
rcon.password "ВАШ_НАДЁЖНЫЙ_ПАРОЛЬ"
# Логирование
server.log 1
Этот конфиг обеспечивает стабильную работу сервера при умеренной нагрузке. После каждого изменения параметров рекомендуется следить за метриками perf 1 в течение 15-30 минут.
Связанные материалы
Если вы только разворачиваете сервер, начните с базовой настройки - Как создать сервер Rust. Для расширения функционала через плагины читайте Oxide плагины для Rust. Если сервер не отображается в списке или игроки не могут подключиться - изучите статью Rust: no servers responding.
Заключение
Оптимизация Rust-сервера - это не одноразовое действие, а постоянный процесс. Начните с базовых параметров: server.fps 30, правильный worldsize под ваш онлайн, gc.buffer 512 и ai.tick 200. Добавьте плагин DynamicFPS для автоматической адаптации и настройте регулярные перезагрузки. Следите за числом энтити через perf 1 - это главный индикатор здоровья сервера. При правильной настройке даже недорогой хостинг-план выдержит активный рейд на 50 игроков без фризов и дисконнектов.
Pterohost - игровые серверы Rust с защитой от DDoS-атак, быстрыми NVMe-дисками и круглосуточной поддержкой. Стабильность в самые горячие часы вайпа. Промокод 4START даёт -20% на первый заказ. Заказать Rust хостинг