Rust на сервере: частые ошибки и решения
Rust — один из самых требовательных игровых серверов, и большинство проблем с ним упираются в нехватку ресурсов и рассинхрон версий с модами. Сервер вылетает по памяти к концу вайпа, Oxide отваливается после обновления, игроки жалуются на лаги. Разберём частые ошибки сервера Rust по симптому, причине и решению с командами — от памяти и Oxide до фаервола и производительности.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Сервер вылетает по нехватке памяти
Самая частая беда Rust: сервер работает после вайпа, но через несколько дней начинает вылетать, а в системном логе появляются записи об убитом процессе. Причина в природе игры — по мере того как игроки застраивают карту, сервер держит в памяти всё больше объектов, и потребление RAM растёт к концу цикла. Если памяти впритык, ближе к вайпу её перестаёт хватать.
Проверьте, что именно произошло, и оцените реальное потребление.
dmesg | grep -i oom
free -h
Если видите записи OOM-киллера — памяти не хватило физически. Здесь есть два пути. Быстрый и временный — уменьшить размер карты параметром server.worldsize и снизить максимум игроков, чтобы мир помещался в имеющуюся память. Правильный и долгосрочный — добавить RAM, потому что Rust по своей природе прожорлив, и для активного сервера 8 ГБ это минимум, а комфортно от 12–16 ГБ. Это не ошибка настройки, а объективное требование игры. Планируйте память по пиковому состоянию застроенной карты в конце вайпа, а не по пустой карте после сброса.
Oxide не работает после обновления Rust
Классика: вышло обновление Rust, вы обновили сервер, и теперь он либо не запускается, либо запускается, но плагины не грузятся. Причина всегда одна — Oxide (uMod) жёстко привязан к версии сервера, и старая сборка Oxide несовместима с новыми серверными файлами. После каждого обновления Rust фреймворк надо обновлять тоже.
Порядок действий такой: сначала обновите сервер через SteamCMD, затем скачайте свежую сборку Oxide под этот билд и распакуйте её поверх, заменив файлы.
su - rust
steamcmd +force_install_dir /home/rust/server +login anonymous +app_update 258550 validate +quit
После обновления сервера установите совпадающую версию Oxide и только потом запускайте сервер. Если после обновления конкретный плагин перестал работать, значит, он не совместим с новой версией и ждёт обновления от автора — временно уберите его из каталога плагинов, чтобы он не мешал старту. Хорошая практика — не обновлять сервер в первые часы после выхода патча, а подождать, пока подтянутся Oxide и ключевые плагины, иначе рискуете остаться со сломанным сервером в самый активный момент.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSНизкий FPS сервера и лаги для игроков
Игроки жалуются на резину и задержки, постройки появляются с лагом. У сервера Rust есть свой показатель производительности — серверный FPS, который в норме держится около 60 и выше. Когда он проседает, сервер не успевает обрабатывать мир. Посмотреть его можно через RCON командой server.fps.
Причин просадки несколько. Первая — упор в процессор: Rust тяжело считает физику, и на слабом CPU серверный FPS падает при большом онлайне. Помогает более быстрый процессор. Вторая — слишком много плагинов или тяжёлый плагин, который на каждом тике делает лишнюю работу. Отключайте плагины по одному и смотрите, какой возвращает производительность. Третья — медленный диск: во время автосохранения мира на HDD сервер подвисает для всех, поэтому под Rust нужен SSD.
Если процессор и диск в порядке, а лаги остаются при большом онлайне, сервер просто перерос свой VPS. Rust требователен, и честнее взять машину помощнее, чем бесконечно урезать настройки. У MAATRIX можно подобрать VPS с быстрым процессором, SSD и достаточной памятью в нужной локации и оплатить из России картой, СБП или криптой, перенеся мир простым копированием каталога identity.
Сервер не виден в браузере игры
Сервер запущен, но игроки не находят его в списке. У Rust есть особенность: сервер должен успешно зарегистрироваться в мастер-сервере, и для этого нужен корректно открытый порт запросов и правильно заданный публичный адрес. Проверьте, что игровой порт и порт запросов открыты.
ufw allow 28015:28016/udp
ss -ulnp | grep 28015
Rust использует UDP-порт 28015 для игры и 28016 для запросов Steam — оба должны быть открыты именно по UDP. Частая ошибка — открыть только игровой порт и забыть про порт запросов, тогда сервер работает, но не появляется в списке. Ещё одна причина — сервер за NAT с неверно определённым внешним адресом; на обычном VPS с белым IP такой проблемы нет, но проверьте, что провайдер не режет UDP-трафик сетевым фильтром. Пока сервер не зарегистрировался, игроки могут подключиться напрямую по IP через консоль клиента.
Карта не та или прогресс сбросился
Игроки возмущаются, что карта изменилась или постройки пропали. Причин две, и обе связаны с идентичностью мира. Карта в Rust определяется двумя параметрами: server.seed и server.worldsize. Если вы случайно поменяли любой из них, генерируется совершенно другой мир, а старые постройки оказываются в никуда. Проверьте, что оба параметра в команде запуска и в systemd-юните не менялись.
Вторая причина потери прогресса — повреждение или удаление каталога identity, где хранится состояние мира. Именно поэтому регулярный бэкап этого каталога обязателен.
tar -czf /home/rust/backups/identity-$(date +%F).tar.gz /home/rust/server/server/myserver
Настройте такое архивирование по расписанию через cron и храните копии отдельно от основного диска. Тогда даже при сбое или ошибочном вайпе вы восстановите мир из последней копии. И зафиксируйте seed и worldsize в юните, чтобы случайная правка не сгенерировала новый мир под старым именем.
Сервер не поднимается после перезагрузки
После ребута VPS сервер Rust не стартовал сам. Причина в отсутствии автозапуска или в ошибке юнита. Проверьте состояние сервиса и журнал.
systemctl status rust
journalctl -u rust -n 40
Частые причины падения при старте — неверный рабочий каталог, нехватка памяти в момент запуска, если на сервере крутится ещё что-то тяжёлое, или несовместимая версия Oxide после обновления. Журнал обычно указывает на проблему прямо. Если юнита автозапуска нет, создайте его и включите через systemctl enable. Учтите, что Rust стартует не мгновенно: генерация или загрузка большой карты занимает время, и в первые минуты сервер ещё не принимает игроков — это нормально, а не сбой.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Почему сервер Rust вылетает через несколько дней после вайпа?
По мере застройки карты растёт потребление памяти. Если RAM впритык, к концу вайпа её перестаёт хватать и вмешивается OOM-киллер. Нужен запас памяти по пиковому состоянию застроенной карты.
После обновления Rust не грузятся плагины — что делать?
Oxide привязан к версии сервера. Обновите сервер через SteamCMD, затем поставьте совпадающую свежую сборку Oxide. Несовместимые плагины временно уберите из каталога.
Сервер запущен, но его нет в списке игры?
Скорее всего, закрыт UDP-порт запросов 28016. Откройте оба порта 28015 и 28016 по UDP и убедитесь, что провайдер не режет UDP-трафик.
Как не потерять карту и постройки на сервере Rust?
Не меняйте server.seed и server.worldsize и настройте бэкап каталога identity по расписанию через cron, храня копии отдельно от основного диска.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.