Pterohost docs

Оптимизация 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-252 ядра / 3.0+ GHz8 GB20 GB SSD
25-504 ядра / 3.5+ GHz12 GB30 GB SSD
50-1006 ядер / 4.0+ GHz16 GB50 GB SSD
100-2008 ядер / 4.5+ GHz32 GB100 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 хостинг