В этом руководстве мы скачаем, установим и настроим игровой сервер Rust на Windows и Linux.
Это руководство посвящено настройке ванильного сервера, но также будут приведены ссылки на дополнительные руководства по установке модов и аддонов, таких как uMod (ранее Oxide).
Требования
- Сервер или компьютер с как минимум 9 - 10 ГБ свободного места.
- Сервер или компьютер с как минимум 8 ГБ доступной оперативной памяти (зависит от размера мира, количества игроков и т.д.).
- Вы также можете воспользоваться этим удобным инструментом, который поможет оценить необходимый объём ОЗУ исходя из размера карты сервера, количества игроков и других параметров!
- Базовое понимание навигации по папкам и файлам, а также умение выполнять команды.
- Windows: использование PowerShell и/или командной строки.
- Linux: использование команд оболочки через терминал.
Хотя это и не обязательно, настоятельно рекомендуется создать отдельного пользователя в Windows или Linux для запуска Rust-сервера — это повысит безопасность.
Загрузка файлов сервера
Прежде всего, вам нужно скачать файлы игрового сервера с помощью SteamCMD.
Я подготовил отдельное руководство о том, как скачать и использовать SteamCMD. Пожалуйста, ознакомьтесь с ним ниже, если не знаете, как это делать. Перед прочтением руководства уточню: App ID Rust-сервера — 258550 как для Windows, так и для Linux.
https://moddingcommunity.com/blog/how-to-download-run-steamcmd/
После того как вы скачали сервер, перейдите в папку или директорию со следующим исполняемым файлом.
- Windows:
RustDedicated.exe - Linux:
RustDedicated
Запуск сервера
К этому моменту вы должны находиться в папке с исполняемым файлом Rust-сервера. Мы начнём с выполнения стартовой команды в оболочке системы, а затем создадим скрипт для автоматического запуска сервера.
Стартовые команды
Прежде чем продолжить, я хотел бы разобрать и объяснить необходимые стартовые команды. Они являются общими как для Windows-, так и для Linux-серверов Rust.
| Команда | По умолчанию | Описание |
|---|---|---|
server.ip |
0.0.0.0 |
IP-адрес, к которому привязывается сервер. Используйте 0.0.0.0, чтобы привязаться ко всем IP-адресам и сетевым интерфейсам (наиболее распространённый вариант). |
server.port |
28015 |
UDP-порт, к которому привязывается сервер. |
server.tickrate |
10 |
Тикрейт, на котором работает сервер. Увеличение этого значения потребует больше ресурсов. Используйте 10, если не уверены. |
server.hostname |
N/A | Имя хоста сервера, отображаемое, когда пользователи ищут сервер в браузере серверов (или через A2S-запросы). |
server.identity |
N/A | Название папки, создаваемой внутри папки servers/. Эта папка содержит дополнительные файлы конфигурации, сохранения карты, данные игроков и многое другое. |
server.level |
Procedural Map |
Уровень, на котором работает сервер. |
server.worldsize |
4000 |
Размер мира при генерации нового. |
server.seed |
8675309 |
Сид, используемый при генерации нового мира. |
server.maxplayers |
200 |
Максимальное количество игроков, одновременно находящихся на сервере. |
rcon.ip |
0.0.0.0 |
IP, к которому привязывается RCON-слушатель. Используйте 0.0.0.0, чтобы привязаться ко всем IP-адресам и сетевым интерфейсам (наиболее распространённый вариант). |
rcon.port |
28016 |
TCP-порт, к которому привязывается RCON-слушатель. |
rcon.password |
N/A | Пароль, необходимый для использования RCON (убедитесь, что он надёжный и содержит не менее 8 символов!). |
Кроме того, при запуске сервера требуется флаг -batchmode. Флаг -nographics гарантирует, что графический интерфейс не будет запущен (хотя я не думаю, что этот флаг необходим в большинстве случаев, многие всё же его добавляют).
ПРИМЕЧАНИЕ — При составлении основной стартовой команды сервера позже вам нужно будет добавлять - или + (наиболее распространённый вариант) перед каждой командой.
ПРИМЕЧАНИЕ — При генерации нового мира с помощью команд сида и размера, указанных выше, я рекомендую использовать сайт вроде Rust Maps!
Информация о RCON
RCON используется для удалённого выполнения команд на сервере. Вам нужно убедиться, что клиент, выполняющий RCON-команды, имеет доступ к его IP и TCP-порту (возможно, потребуется проброс портов).
Убедитесь, что вы даёте пароль от RCON только тем пользователям, которым доверяете!
Windows
Чтобы запустить Rust-сервер на Windows, вам нужно выполнить исполняемый файл RustDedicated.exe с необходимыми стартовыми командами.
Сначала откройте терминал и перейдите в папку с сервером Rust, где находится файл RustDedicated.exe. В проводнике вы можете просто щёлкнуть правой кнопкой мыши в основной папке, что покажет меню. Нажмите кнопку Терминал, чтобы открыть терминал в этой папке.
Вот базовая часть команды запуска.
.\RustDedicated.exe -batchmode -nographics
Теперь нам нужно добавить к ней необходимые команды запуска, указанные выше, вставляя +<command> <value> для каждой команды.
Вот пример!
.\RustDedicated.exe -batchmode -nographics +server.ip "0.0.0.0" +server.port 28015 +server.tickrate 10 +server.hostname "My Rust Server!" +server.identity "server01" +server.seed 793197 +server.maxplayers 200 +server.worldsize 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "test1234"
Отредактируйте значения команды запуска по своему усмотрению и выполните команду!
Это займёт некоторое время в зависимости от характеристик вашего сервера, сида карты, размера мира и других факторов.
Вы увидите сообщение, подобное приведённому ниже, когда сервер официально запустится!
SteamServer Initialized
Server startup complete
SteamServer Connected
Создание скрипта запуска (Windows)
Чтобы упростить запуск сервера, создадим Batch-файл, который будет автоматически запускать сервер.
- Создайте новый файл через проводник, используя текстовый редактор, такой как Блокнот (встроенный) или VS Code, и назовите файл
start.bat.- Убедитесь, что файл находится в той же папке, что и файл
RustDedicated.exe. - Если вы не можете редактировать расширения файлов (
.bat), ознакомьтесь с этим руководством!
- Убедитесь, что файл находится в той же папке, что и файл
- Вставьте следующее содержимое в файл:
@echo off
setlocal
set RESTART_DELAY=5
:restart
cls
echo Starting Rust server...
echo.
.\RustDedicated.exe -batchmode -nographics ^
+server.ip "0.0.0.0" ^
+server.port 28015 ^
+server.tickrate 10 ^
+server.hostname "My Rust Server!" ^
+server.identity "server01" ^
+server.level "Procedural Map" ^
+server.seed 793197 ^
+server.maxplayers 200 ^
+server.worldsize 600 ^
+rcon.ip 0.0.0.0 ^
+rcon.port 28016 ^
+rcon.password "test1234"
echo.
echo Detected server stop or crash. Restarting in %RESTART_DELAY% seconds...
timeout /t %RESTART_DELAY% /nobreak > nul
goto restart
- При необходимости измените значения команды запуска и задержку перезапуска.
- Сохраните файл и закройте его.
Теперь дважды щёлкните по Batch-файлу, чтобы запустить сервер. Этот скрипт также автоматически
Linux
Прежде чем продолжить, убедитесь, что вы находитесь в каталоге с файлом RustDedicated, и выполните следующее в терминале.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
Вышеуказанное теперь необходимо перед запуском сервера Rust на многих дистрибутивах Linux, включая Debian и Ubuntu. В противном случае сервер, скорее всего, вылетит из-за проблем с линковкой.
Теперь перейдём к запуску сервера!
Чтобы запустить сервер Rust на Linux, вам нужно выполнить файл RustDedicated с необходимыми командами запуска.
Вот базовая часть команды запуска.
./RustDedicated -batchmode -nographics
Далее нам нужно добавить необходимые команды запуска, описанные выше, вставляя +<command> <value> для каждой команды.
Вот пример!
./RustDedicated -batchmode -nographics +server.ip "0.0.0.0" +server.port 28015 +server.tickrate 10 +server.hostname "My Rust Server!" +server.identity "server01" +server.seed 793197 +server.maxplayers 200 +server.worldsize 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "test1234"
После изменения приведённой выше команды вы можете её выполнить. Это запустит сервер Rust.
Это займёт некоторое время в зависимости от характеристик вашего сервера, сида карты, размера мира и других факторов.
Вы увидите сообщение, подобное приведённому ниже, когда сервер официально запустится!
SteamServer Initialized
Server startup complete
SteamServer Connected
ПРИМЕЧАНИЕ — вы также можете выполнять и устанавливать команды через консоль сервера. Если вы получаете ответ, это означает, что сервер онлайн. Например, попробуйте выполнить команду status после запуска сервера!
Создание скрипта запуска (Linux)
Копировать и вставлять составленную выше команду каждый раз может быть утомительно и раздражающе.
Чтобы упростить задачу, создадим Bash-скрипт, который будет запускать сервер Rust.
- Выберите текстовый редактор, например
nanoилиvim, и создайте новый файл под названиемstart.sh.- Убедитесь, что файл находится в том же каталоге, что и исполняемый файл
RustDedicated.
- Убедитесь, что файл находится в том же каталоге, что и исполняемый файл
- Вставьте и измените следующее содержимое в файле:
#!/bin/bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
RESTART_DELAY=5
clear
while :
do
echo "Starting Rust server..."
echo
./RustDedicated -batchmode -nographics \
+server.ip "0.0.0.0" \
+server.port 28015 \
+server.tickrate 10 \
+server.hostname "My Rust Server!" \
+server.identity "server01" \
+server.level "Procedural Map" \
+server.seed 793197 \
+server.maxplayers 200 \
+server.worldsize 600 \
+rcon.ip 0.0.0.0 \
+rcon.port 28016 \
+rcon.password "test1234"
echo
echo "Detected server stop or crash. Restarting in ${RESTART_DELAY} seconds..."
sleep $RESTART_DELAY
done
- Измените значения команды запуска и задержку перезапуска по своему усмотрению.
- Сохраните файл.
- Сделайте файл исполняемым для пользователя с помощью следующей команды:
chmod u+x start.sh
Приведённый выше скрипт запускает сервер Rust, и в случае его сбоя или остановки будет пытаться автоматически запустить сервер снова.
Вы можете выполнить его с помощью следующей команды.
./start.sh
Использование Screen
Пользователей Linux, скорее всего, будет раздражать то, что нельзя выполнять команды в том же терминале, где запущен сервер Rust, пока не завершите его полностью, например, с помощью CTRL + C.
Чтобы решить эту проблему, рекомендую установить и использовать команду screen, которая поставляется с большинством дистрибутивов Linux через менеджеры пакетов.
# For Debian/Ubuntu
sudo apt install -y screen
# For CentOS/RHEL
sudo yum install screen
Далее добавьте следующее перед выполнением скрипта запуска.
screen -S <name>
Например:
screen -S rustsrv01 ./start.sh
Когда вы выполните команду с screen, вы можете нажать CTRL + D, чтобы отсоединиться от текущей сессии.
Чтобы снова подключиться к сессии, используйте следующую команду.
# Replace <name> with your session name above (e.g. rustsrv01).
screen -r <name>
Также вы можете вывести список сессий с помощью следующей команды.
screen -ls
Для получения дополнительной информации об использовании screen рекомендую ознакомиться с этим полезным руководством!
Дополнительная настройка
Вы можете создать конфигурационный файл server.cfg внутри папки cfg, относящейся к идентификатору вашего сервера, где можно задать дополнительные команды/ConVar'ы.
Папка cfg находится по следующему пути, начиная от корня файлов вашего сервера Rust.
.\servers\<identity>\cfg
Например, в этом руководстве я использовал server01 в качестве идентификатора сервера, поэтому я бы создал файл в следующей папке.
.\servers\server01\cfg
Внутри этого файла вы также технически можете задать некоторые из значений команд запуска, указанных выше, но большинство администраторов, насколько я вижу, рекомендуют устанавливать именно эти команды через командную строку. Как и с командами запуска, дополнительные команды и ConVar'ы также можно задавать через командную строку, но лично я считаю, что использовать выделенный файл server.cfg проще и удобнее.
Например, если вы хотите задать URL для своего сервера, вы можете сделать это в файле server.cfg вот так:
server.url "https://rust.mydomain.com"
Теперь сохраните и перезапустите сервер! Вы можете проверить, изменилось ли значение, выполнив команду server.url (или другую, которую вы установили), которая должна вывести новое значение.
Заключение
Теперь у вас должно быть базовое понимание того, как настроить и сконфигурировать сервер Rust!
Запуск и управление серверами Rust доставляет удовольствие многим пользователям, но иногда может быть весьма сложным, особенно при установке и настройке модов и тому подобного.
Смотрите также
- Rust - Facepunch
- Rust - Steam
- Инструмент расчёта RAM
- Rust Maps - Используется для генерации размеров мира и сидов для серверов Rust.
- Pterodactyl - Популярная панель для управления игровыми серверами и приложениями, такими как Rust.
Как установить uMod
Руководство, которое я сделал о том, как скачать, установить и настроить uMod (Oxide).
https://moddingcommunity.com/blog/how-to-install-umod-onto-rust-servers/
Инструмент автовайпа Rust для Pterodactyl
Я также сделал инструмент для Pterodactyl, который автоматически вайпает Rust сервер на основе cron задач. Он содержит множество функций!
Если у вас есть какие-либо вопросы или отзывы по поводу этого руководства, пожалуйста, ответьте в теме форума здесь! Это руководство будет дорабатываться и улучшаться с течением времени.
Присоединяйтесь к нашему Discord серверу!

