Свободное время хочется проводить с интересом, и видеоигры остаются одним из самых доступных способов. Одни проекты помогают отвлечься, другие держат в напряжении. В Rust от Facepunch Studios вопрос выживания — это не про голод и холод: здесь всё решают другие игроки, ведь одиночного режима нет — только серверы. Выбранный сервер Раст становится ареной для хаоса: каждая встреча — союз или смерть, а всё, что вы собрали и построили, можно потерять за секунды.
Со временем у многих появляется желание взять всё под контроль: изменить карту, отключить PvP или вовсе играть одному. В статье мы расскажем, как создать свой сервер в Раст и что для этого нужно.
Хороший рейд начинается с подготовки: давайте тоже сначала определим все необходимое.
Подумайте, для чего или кого вы создаете сервер. От этого зависит тип:
Локальный — для игры с коллегами в офисе, в клубе с друзьями, дома с семьей, одиночного режима, минимальная задержка и полный контроль;
Публичный — работает через интернет и доступен всем, требует проброса портов или аренды облачного сервера (назовем облаком).
На практике для лучшей доступности и производительности рекомендуется запускать публичный игровой сервер с помощью облака. При этом можно настроить сервер даже на персональном компьютере (ПК) в локальной сети, а затем открыть к нему доступ из интернета (однако можно столкнуться с ограничениями со стороны провайдера).
Если вы играете на Windows или Linux, сервер можно запустить на том же ПК. При этом рекомендуется выбирать отдельную машину — это снизит нагрузку и возможные лаги.
В статье мы рассмотрим два сценария настройки:
cloud
Выбирать ее нужно, отталкиваясь от размера карты, количества игроков и установленных плагинов. Чем больше — тем выше потребление. На зарубежных хостинг-платформах встречаются калькуляторы, которые выдают примерную конфигурацию на основе пожеланий.
Для сервера на 20 игроков с картой размером 2000 единиц (квадрат 2000x2000) на практике встречается такая конфигурация:
Важно: здесь требования отличаются от тех, что рекомендует разработчик. Если вы планируете расширять количество игроков или карту, ориентируйтесь на официальные требования:
Сделать сервер публичным можно даже с обычного ПК, но вы можете столкнуться с нехваткой ресурсов или сетевыми проблемами. Простой способ их избежать — воспользоваться облаком.
Поэтому в статье мы будем демонстрировать установку на облачном сервере с операционной системой Linux. Если вы настраиваете локальный Раст на ПК, пропустите этот шаг.
Для создания облачного сервера:
Войдите или зарегистрируйтесь в Timeweb Cloud.
В меню нажмите «Облачные серверы» → «Добавить» и соберите для себя подходящую конфигурацию. С расчетом на ~20 игроков, ~10 плагинов, карту размером ~2000 ед. будет минимально достаточно Cloud MSK 80 стоимостью 2,05 руб./час или 1 500 руб./мес. Из опций необходим Публичный IP за 150 руб./мес.
Когда конфигурация будет выбрана, нажмите «Заказать». Может быть предложено заполнение платежных данных и пополнение баланса для дальнейшей оплаты услуги. Оплата почасовая.
После оформления заказа немного подождите — серверу нужно время на создание. Когда все установится, вы увидите это на экране. Также придет уведомление на почту или в Telegram — в зависимости от ваших настроек в разделе «Профиль» → «Настройки аккаунта» → «Уведомления».
Можно переходить к установке. В ее процессе мы будем подключаться к серверу напрямую. Для этого в панели управления вам доступна «Консоль» — место, откуда можно отправлять команды, нужно лишь ввести логин root и root-пароль (указан во вкладке «Дашборд»).
Для универсальности мы воспользуемся протоколом SSH вместо Консоли, поэтому откройте удобный для вас терминал. В инструкции используются предустановленные Terminal на MacOS, PowerShell на Windows.
В дальнейшем вам необходимо будет знать IP-адрес сервера и пароль от root-записи. Они указаны на Дашборде:
Далее выполните действия в зависимости от операционной системы (ОС), которую используете.
Windows
Важно: в процессе установки и запуска могут потребоваться права администратора.
В инструкции действия выполняются на том же ПК, откуда запускается игра:
В таком случае ресурсов будет достаточно, чтобы запустить свой локальный сервер Раст, но впритык.
SteamCMD (Steam Console Client) — это официальная утилита Valve, с которой можно просто устанавливать и обновлять игровые сервера.
Создайте на вашем компьютере папку, где будут храниться файлы сервера.
Перейдите на страницу поддержки игры. Там пролистайте до пункта «Can I host a server?» → нажмите «quick start zip here».
В загруженном архиве находится каталог Server
. Распакуйте его содержимое в папку, которую создавали на первом шаге.
Сам архив — готовый набор для старта:
|
Набор действий для SteamCMD — он выполняет скачивание и обновление Rust Dedicated Server с Скачанные файлы появятся в подпапке |
|
Запускает SteamCMD с параметрами из |
|
Сначала повторяет логику |
|
Папка, содержащая SteamCMD. |
Двойным кликом запустите файл update.bat
и подождите завершения всех действий.
По завершении командная строка закроется, а в папке вы увидите новую директорию: rustds
. Это все необходимые файлы вашего сервера.
Прежде чем запустить сервер впервые, мы проверим и поменяем под себя параметры запуска.
Откройте Run_DS.bat
с помощью любого удобного редактора текста. Мы воспользуемся базовым приложением Блокнот: на Windows 11 кликните правой кнопкой мыши по файлу → выберите «Изменить в Блокноте».
На более ранних версиях Windows нажмите правой кнопкой мыши → «Изменить» либо «Открыть с помощью…» → указать путь для приложения.
Первая строка отключает отображение всех основных команд в консоль, что делает вывод чище и понятнее, а вторая является точкой для бесконечного цикла (см. далее).
echo off
:start
Скрипт входит в папку steam
, в ней дважды запускает SteamCMD с параметром, который побуждает его использовать скрипт обновления, а после возвращается в родительский каталог.
cd steam
steamcmd.exe +runscript ../update_script.txt
steamcmd.exe +runscript ../update_script.txt
cd ..
Нужно убрать одну из строк steamcmd.exe …
— дважды повторять одно действие нет необходимости, это делает запуск медленнее.
Наконец, скрипт заходит в папку с исполняемыми файлами сервера:
cd rustds
И запускает его с несколькими параметрами. Из них будет лишним -autoupdate
, он официально больше не поддерживается.
RustDedicated.exe -batchmode +server.hostname "My Server Name" +server.port 28015 +server.identity "my_server" +server.seed 1234567 -logFile "output.txt" -autoupdate
Если сервер отключится, скрипт вернется в основную директорию и повторит весь процесс заново, вернувшись к точке start
. В этом и есть суть бесконечного цикла — запустить Rust Dedicated в случае неожиданной остановки процесса.
cd ../
goto start
Мы еще рассмотрим подробно каждый параметр для запуска, а пока заменим стандартный файл на нашу заготовку и сохраним:
echo off
:start
cd steam
steamcmd.exe +runscript ../update_script.txt
cd ..
cd rustds
RustDedicated.exe -batchmode ^
+server.hostname "Timeweb Cloud" ^
+server.port 28015 ^
+server.identity "my_first_server" ^
+server.seed 1234567 ^
+server.maxplayers 5 ^
+server.worldsize 1000 ^
cd ../
goto start
Так мы проверим обновления и запустим Dedicated Server без графического интерфейса с настройками:
hostname
— публичное имя: Timeweb Cloud
;port
— порт, по которому будет подключение: 28015
;identity
— внутреннее имя, сервер будет создавать и хранить свои данные и игроков в папке my_first_server
;seed
— ключ для процедурной генерации (каким правилам будет следовать генератор): 1234567
;maxplayer
— максимально допустимое число игроков: 5
;worldsize
— размер карты: 1000
ед.Символ ^
здесь не выполняет отдельных действий, но дает возможность описать параметры запуска в несколько строк, а не в одну — читать становится удобнее.
Linux
Важно: на этапе установки вам нужен доступ к пользователю root либо к пользователю с sudo-доступом.
Описанные действия выполняются на виртуальном сервере Timeweb Cloud с конфигурацией Cloud MSK 80, который мы создали выше:
Инструкция универсальна – она подойдет, даже если у вас обычный ПК с ОС Linux или домашний сервер.
SteamCMD (Steam Console Client) — это официальная утилита Valve, с которой можно просто устанавливать и обновлять игровые сервера.
ssh user@host
Здесь user
— имя пользователя, а host
— IP-адрес или домен сервера/компьютера.
Если подключаетесь к серверу впервые, ваш клиент попросит убедиться, что вы обращаетесь к нужной машине, и сравнить «отпечаток» ее ключа. Напишите «yes», чтобы продолжить.
После этого сервер попросит ввести пароль от учетной записи или сравнит ваш ключ доступа, если он ему известен. Подробнее процесс подключения и его особенности мы описывали в этой статье.
Обновите информацию об актуальных пакетах:
sudo apt update
Установите зависимости:
sudo apt install -y lib32gcc-s1 unzip curl screen nano unzip
Здесь опция -y
отвечает «Yes» на возможные вопросы установщика.
|
Базовые 32-битные библиотеки, которые необходимы для работы SteamCMD |
|
Средство для распаковки zip-архивов, потребуется в процессе работы с плагинами |
|
Консольный HTTP/FTP‑клиент, потребуется для скачивания SteamCMD |
Менеджер окон, даст возможность запустить игровой сервер в окне, которое продолжит работу, даже если мы отключимся от машины. |
|
|
Текстовый редактор |
Последние три пакета уже предустановлены на виртуальных серверах Timeweb Cloud.
root
.sudo useradd -r -m -s /bin/bash steam
Подробнее о параметрах при создании пользователя:
m
создаст домашнюю директорию, /home/steam
.r
помечает пользователя как системного. s
явно указываем /bin/bash
— это тип оболочки. Если у вас «чистая» система, без указания этого параметра может поставиться другая оболочка, которая менее дружелюбна к пользователю. Если вы в Linux новичок — рекомендуется оставить параметр. sudo -iu steam
Steam
и сразу войдите в него:mkdir ~/Steam && cd ~/Steam
tar
:curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Указанные параметры скачают клиент в фоне — без отображения технической информации. Если вдруг сервер выполнит переадресацию (например, файл переехал), параметр -L
заставит curl
послушать это и в конечном итоге выполнить скачивание.
./steamcmd.sh +force_install_dir "rust_server" \
+login anonymous \
+app_update 258550 validate \
+quit
+force_install_dir
— указываем, куда именно будем устанавливать сервер. В этом случае он распакуется в той же директории, где и сам steamcmd.sh
, но в собственной папке rust_server
(путь: ~/Steam/rust_server
).
+login
позволяет скачать публичный сервер без авторизации в личном аккаунте Steam.
+app_update
скачивает приложение с ID 258550 — это Rust Dedicated Server. Сверить информацию и ID можно на SteamDB. Там же вы узнаете доступные для установки branches (сборки) — релиз (public/release), тестовая (staging) и другие.
+validate
в команде проверяет наличие поврежденных файлов, скачивает отсутствующие.
+quit
совершит выход из скрипта сразу, как тот закончит выполнение своих действий.
Теперь нужно подождать, пока SteamCMD выполнит обновление и начнет скачивание Rust Dedicated Server. В результате мы должны получить строку «Success! App '258550' fully installed», что скажет об успешном завершении процесса. Мы почти готовы запустить свой сервер Раст.
Установщик создал скрипт для запуска, он находится в ./rust_server/runds.sh
. Нам достаточно только лишь поправить его. Перейдите в директорию с сервером, далее она будет нашей основной:
cd rust_server
Откройте файл с помощью редактора nano
:
nano runds.sh
В нем уже есть две строки:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:dirname $0/RustDedicated_Data/Plugins:dirname $0/RustDedicated_Data/Plugins/x86_64
./RustDedicated -batchmode -logfile 2>&1
Параметр -logfile 2>&1
заставляет его вести журнал действий и ошибок прямо в консоли.
Удалите содержимое и поместите туда нашу заготовку, при необходимости отредактируйте:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`dirname $0`/RustDedicated_Data/Plugins:`dirname $0`/RustDedicated_Data/Plugins/x86_64
./RustDedicated -batchmode \
+server.hostname "Timeweb Cloud" \
+server.port 28015 \
+server.identity "my_first_server" \
+server.seed 1234567 \
+server.maxplayers 20 \
+server.worldsize 2000
Закройте nano
сочетанием клавиш CTRL + X. На вопросе «Save modified buffer?» нажмите Y, чтобы подтвердить изменения, далее Enter, чтобы их сохранить в файл.
Так мы запустим Dedicated Server без графического интерфейса с настройками:
hostname
— публичное имя: Timeweb Cloud
port
— порт, по которому будет подключение: 28015
identity
— внутреннее имя, сервер будет создавать и хранить собственные файлы (данные карты, игроков и т.д.) в папке my_first_server
seed
— ключ для процедурной генерации (каким правилам будет следовать генератор): 1234567
maxplayer
—максимально допустимое число игроков: 20
worldsize
— размер карты: 2000
ед.Символ \
не выполняет отдельных действий, но дает нам возможность описать параметры запуска в несколько строк, а не в одну — читать и редактировать становится удобнее.
Если вы устанавливаете сервер на конфигурации, которая не совпадает с рекомендацией разработчика, обязательно выполните предложенные ниже шаги.
Проверим доступную память на сервере:
free -h
Примерный вывод будет таким:
Смотрите на Swap. Если он пуст, то его нужно создать: 8 гигабайт оперативной памяти должно быть достаточно при выбранной нами конфигурации сервера, однако во время генерации карты пики могут превышать 7.5 доступных ГБ. Это приведет к тому, что система «убьет» Rust Dedicated еще до того как он успеет полностью запуститься.
Сам swap — это механизм виртуальной памяти, основанный на дисковом пространстве, который помогает «разгружаться» оперативной памяти. Поэтому он поможет избежать возможную проблему с нехваткой.
Сперва выйдите из пользователя steam
— нам нужны права суперпользователя:
exit
Префикс steam@server_name:~$
должен поменяться на root@server_name
.
Зарезервируйте на диске 2 ГБ под будущий файл /swapfile
:
sudo fallocate -l 2G /swapfile
Через chmod
ограничьте права, чтобы только root
смог читать файл и писать в него:
sudo chmod 600 /swapfile
Сообщите системе о том, что /swapfile
теперь является виртуальной памятью:
sudo mkswap /swapfile
Активируйте его как swap:
sudo swapon /swapfile
Готово. Проверьте, работает ли:
swapon --show
После всех действий вывод будет похожим:
Если в будущем будете обнулять карту или генерировать новые, swap можно сделать постоянным. Для этого нужно открыть /etc/fstab
:
nano /etc/fstab
Последней строкой указать в нем созданный swap
:
/swapfile none swap sw 0 0
Должно получиться так:
Закройте nano
сочетанием клавиш CTRL + X. На вопросе «Save modified buffer?» нажмите Y, чтобы подтвердить изменения, далее Enter, чтобы их сохранить в файл.
Не забудьте снова залогиниться под steam
:
sudo -iu steam
И вернуться в рабочую папку:
cd ~/Steam/rust_server
Ранее у нас отлично получилось задать минимальные настройки. Теперь самое время запустить свой локальный сервер Раст и попробовать к нему подключиться. На этом шаге предполагается, что компьютер с Rust Dedicated и компьютеры друзей/коллег находятся в одной сети. Например, подключены к одному роутеру.
Если вы используете облако — ваш игровой сервер по умолчанию доступен как публичный, поэтому переходите к запуску публичного сервера.
Windows
Запуск сервера
Запустите скрипт Run_DS.bat
. После дождитесь завершения проверки всех обновлений. При первом запуске Windows может показать всплывающее окно:
Нажмите «Разрешить», чтобы другие устройства в вашей сети могли подключаться.
При первом запуске будет генерироваться карта, поэтому ожидание может отнять несколько минут.
Когда все закончится, вы увидите на экране что-то вроде:
map : Procedural Map
players : 0 (5 max) (0 queued) (0 joining)
106,880 ents, 0 slprs
Это говорит о том, что карта была сгенерирована и загружена, игровые объекты прогружены, а сервер уже ожидает игроков. Можно подключаться, выполнять команды в консоли сервера. О них читайте ниже.
Проверка локального IP-адреса устройства
Игроки к вам будут подключаться по локальному IP-адресу устройства, на котором запустили сервер.
Чтобы его узнать, нажмите WIN + R. В открывшемся окне напишите cmd
и нажмите ОК.
Выполните команду ipconfig
.
Вы увидите информацию о подключении. Найдите раздел, начинающийся с «Wireless LAN adapter» или «Ethernet adapter», — в строке IPv4 Address будет ваш локальный IP, например:
Адаптер Ethernet Ethernet:
…
IPv4-адрес. . . . . . . . . . . . : 192.168.1.103
Передайте этот адрес друзьям.
Linux
Запуск сервера
Команды выполняем от имени пользователя steam
.
Вернитесь в каталог с Rust Dedicated, если вдруг его покинули:
cd ~/Steam/rust_server
Запустите скрипт runds.sh
через виртуальное окно screen
:
screen -S rust ./runds.sh
При таком запуске игровой сервер продолжит работу, даже если вы отключитесь от SSH. Параметр -S
при создании окна назначает ему явное название.
При первом запуске будет генерироваться карта, поэтому ожидание может занять несколько минут. В качестве подтверждения успешного запуска ожидайте строки:
SteamServer Initialized
Server startup complete
SteamServer Connected
При необходимости выйти из окна, не останавливая сервер, нажмите сочетание клавиш CTRL + A, затем кнопку D. В ответе будет:
[detached from {id}.rust]
Это подтвердит, что screen
остался активным.
Вернуться к нему можно:
через screen -r
, если окно одно;
через screen -r rust
, если окон много и вы задали ему имя rust
;
через screen -r <ID>
.
Проверить список активных окон, их имена и ID можно командой:
screen -list
Доступность порта внутри локальной сети
В Linux порт по умолчанию не заблокирован, но если используется ufw (или другой файрвол), нужно явно разрешить используемый UDP порт:
sudo ufw allow 28015/udp
Проверка локального IP-адреса устройства
ip a | grep inet
Если вы повторяли инструкцию для Linux-сервера, который находится в локальной сети, то ваш IP — строка, в которой есть адрес, начинающийся на 192.168.
или 10.
:
inet 192.168.0.2/24 metric 100 brd 192.168.0.255 scope global enp2s0
Копируйте первый и отправляйте его друзьям.
Это локальный сервер, он не появится в общем списке серверов Rust. Поэтому игрокам нужно использовать прямое подключение через консоль:
Откройте Rust и нажмите F1 — откроется консоль.
Введите команду:
client.connect 192.168.0.2:28015
Замените IP на тот, который вы узнали ранее через ipconfig
(Windows) или ip a
(Linux).
Если вы меняли порт в параметрах запуска, укажите его после двоеточия.
После нажатия Enter вы должны увидеть:
[EAC] Logging in with Steam ticket…
Found 1 server query result: 192.168.0.2:28015 Raknet
Connecting: 192.168.0.2:28015 (Raknet)
Это значит, что соединение установлено, и вы подключаетесь к своему локальному серверу.
Если вы не меняли порт, можно не указывать его вообще:
client.connect 192.168.0.2
.
Если сервер и клиент (сама игра) находятся на одном устройстве, можно использовать
127.0.0.1
вместо IP.
Вы можете сделать свой сервер публичным — его будут видеть все игроки в разделе с серверами во вкладке «Сообщество» или «Модифицированные» — в зависимости от настроек и модификаций. В них сервер попадает через 5-10 минут после запуска.
Мы рассмотрим два способа, как открыть свою творческую «песочницу» для всех.
Проще всего для этого воспользоваться облачным сервером. Создайте собственный сервер, как это написано в начале статьи, затем установите Rust Dedicated и настройте его по инструкции из раздела «Загрузка и настройка собственного сервера» для Linux, затем вернитесь к этому пункту.
Если вы выполнили все описанные шаги, до запуска осталось немного:
cd ~/Steam/rust_server
runds.sh
через виртуальное окно screen, явно указав имя с помощью опции -S
:screen -S rust ./runds.sh
При первом запуске будет генерироваться карта, поэтому ожидание может занять несколько минут. В качестве подтверждения успешного запуска ожидайте строки:
SteamServer Initialized
Server startup complete
SteamServer Connected
При необходимости выйти из окна, не останавливая сервер, нажмите сочетание клавиш CTRL + A, затем кнопку D. В ответе будет:
[detached from {id}.rust]
Это подтвердит, что screen
остался активным.
Вернуться к нему можно:
screen -r
, если окно одно;screen -r rust
, если окон много и вы задали ему имя rust
;screen -r <ID>
.Проверить список активных окон, их имена и ID можно командой
screen -list
server_ip
на тот IP-адрес, который указан на Дашборде:client.connect server_ip:28015
Либо вы можете подождать несколько минут, а затем найти свой игровой сервер среди остальных: в главном меню нажмите на «Играть», а в открывшемся списке серверов перейдите в «Сообщество». Серверов может быть много, поэтому сразу в строке поиска введите название своего (из server.hostname
).
Перед продолжением рекомендуется уточнить у провайдера, какой у вас IP и можно ли принимать по нему входящие соединения, если открыть порт. Если вы не уверены или желаете избежать сложностей, рекомендуем вернуться к первому варианту.
Бывает несколько видов IP-адресов, которые выдает провайдер, когда подключает вас к интернету:
«Серый» (CGNAT) |
Порт пробросить нельзя, сервер не будет доступен из интернета |
«Белый» динамический |
Порт пробросить можно, но адрес может поменяться в любой момент |
Статический IP |
Идеальный вариант. Обычно выделяется провайдером по запросу за отдельную плату |
http://192.168.0.1
или http://192.168.1.1
) и авторизуйтесь.
Параметр |
Значение |
Внешний порт |
28015 |
Внутренний порт |
28015 |
Протокол |
UDP |
IP-адрес |
Локальный IP вашего ПК с сервером, например 192.168.1.103 |
Если есть поля «внешний IP», «локальный IP», внешний остается пустым, а IP компьютера с сервером заносите в «локальный IP».
Так, если кто-то из глобальной сети обратится по ВАШ_ПУБЛИЧНЫЙ_IP:28015
, запрос придет к вам на роутер, а роутер перенаправит его на указанный вами компьютер, где наконец достучится до Rust Dedicated Server.
Повторите действия для порта 28017, если нужно, чтобы сервер был в списке с другими серверам. Мы объявим этот порт в следующем разделе инструкции.
Windows
Откройте «Панель управления». Перейдите в раздел «Система и безопасность» → «Брандмауэр Защитника Windows».
Нажмите на «Разрешение взаимодействия с приложением или компонентом в брандмауэере Защитника Windows».
Проверьте на чекбоксы — они должны быть активны.
Linux
Для проверки нам вновь потребуется права суперпользователя, для этого выйдите из пользователя steam
:
exit
Проверьте, активен ли UFW (файрвол):
sudo ufw status
Если вы видите «Status: inactive», значит доступны все подключения. Ничего делать не нужно. Переходите к следующему шагу.
Если видите «Status: active», нужно открыть порт:
sudo ufw allow 28015/udp comment 'Rust server port'
# comment поможет в будущем определить, для чего создано правило.
Проверьте, что правило применилось:
sudo ufw status numbered
Ожидаемый вывод:
28015/udp ALLOW Anywhere # Rust server port
Повторите действия для порта 28017, если желаете, чтобы сервер появился в списке других публичных серверов Раст. Этот порт мы объявим в следующем разделе инструкции.
client.connect server_ip:28015
Вы можете в любое время поменять те или иные параметры своего сервера Rust — подчеркнуть его уникальность, оптимизировать нагрузку, поменять сложность и иные правила игры.
В таблице ниже мы собрали базовые настройки запуска, которые меняются чаще всего.
Параметр |
Что делает |
Особенности |
|
Запускает сервер в терминале без графической оболочки |
|
|
Указывает, какой порт будет слушать сервер |
По умолчанию 28015. Это UDP-порт. |
|
Порт, по которому сервисы и мониторинги обращаются к вашему серверу |
В частности нужен, чтобы Rust мог отобразить ваш сервер в списке с остальными. Это UDP-порт. |
|
Тип карты |
Ранее можно было запускать и другие типы карт. Сейчас остается только процедурно генерируемая. |
|
Случайный ключ для генерации карты |
Может быть от 0 до 2147483647. Подробнее ниже. |
|
Размер карты |
Может быть от 1000 до 6000 единиц. Чем больше — тем больше места на диске и свободных ОЗУ вам необходимо. |
|
Максимальное количество игроков |
Чем больше игроков, тем мощнее должен быть процессор |
|
Публичное название сервера |
Оно высветится в окне подключения, будет отображаться в списке с серверами |
|
Описание для сервера |
Показывается при подключении к серверу и списке с другими серверами. Обычно здесь указывают параметры или игровые правила. |
|
Ссылка на сайт проекта |
Если у вас есть сайт или блог, можете указать в этом параметре ссылку на него. В окне подключения «Открыть сайт» переведет на указанную страницу. |
|
Ссылка на изображение/постер |
Если указано изображение, оно отобразится на экране подключения к серверу. |
|
Ссылка на логотип сервера |
Если есть, укажите ссылку на логотип размером размером 256x256 |
|
Внутреннее имя сервера |
В папке с установленным Rust Dedicated сервер создаст |
|
Порт для удаленного подключения (RCON) |
RCON клиенты могут подключаться по этому порту, чтобы удаленно управлять и администрировать сервером. По умолчанию он равен |
|
Пароль, который нужен при RCON-подключении |
Обязательно измените |
|
Задает тип подключения |
Предлагается 1, это открывает RCON доступ через WebSocket — более устойчивое подключение, интерактивный формат работы |
|
Указывается имя файла логов |
Больший список доступных параметров, а затем и команд администратора можно узнать в консоли сервера с помощью команды find
.
RCON — это протокол, который позволяет подключаться к серверу удаленно с любого устройства и места. Вы сможете управлять сервером и администрировать его.
Потребуется в том числе, если вы установили сервер на Linux — в отличие от Windows, на нем недоступна локальная интерактивная консоль.
Сервер сохранит данные и безопасно выключится.
Ранее мы передавали параметры сервера при его запуске, что является не совсем правильным подходом. Теперь там мы оставим только необходимое, а все остальное вынесем в общий файл с настройками.
Windows
# основное
server.maxplayers 20
# карточка сервера
server.hostname "Timeweb Cloud"
server.description "Установка и настройка Rust сервера\nПодробная инструкция"
server.url "https://timeweb.cloud"
# прочие настройки вы можете добавлять по мере необходимости со следующей строки (без #)
server.cfg
в папке с путем:ваша_папка\rustds\server\внутреннее_имя\cfg\
rustds\server\внутреннее_имя
. В нем снова откройте RunDS.bat
для редактирования. Добавьте туда строки для RCON подключения и уберите те, которые уже записали в server.cfg
. В результате может получиться так: echo off
:start
cd steam
steamcmd.exe +runscript ../update_script.txt
cd ..
cd rustds
RustDedicated.exe -batchmode ^
+server.port 28015 ^
+server.queryport 28017 ^
+server.identity "my_first_server" ^
+server.seed 1234567 ^
+server.worldsize 1000 ^
+rcon.port 28016 ^
+rcon.password "strong_password" ^
+rcon.web 1
cd ../
goto start
Обязательно измените
rcon.password
, иначе сервер будет уязвим.
Linux
nano ~/Steam/rust_server/runds.sh
hostname
, description
, url
, maxplayers
) — мы перенесем их в общий файл с конфигом. Файл должен получиться таким:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`dirname $0`/RustDedicated_Data/Plugins:`dirname $0>
./RustDedicated -batchmode \
+server.port 28015 \
+server.queryport 28017 \
+server.identity "my_first_server" \
+server.seed 1234567 \
+server.worldsize 2000 \
+rcon.port 28016 \
+rcon.password "strong_password" \
+rcon.web 1 \
-logfile 2>&1
Обязательно измените
rcon.password
, иначе сервер будет уязвим.
nano
создаст его при сохранении). nano ~/Steam/rust_server/server/my_first_server/cfg/server.cfg
# основное
server.maxplayers 20
# карточка сервера
server.hostname "Timeweb Cloud"
server.description "Установка и настройка Rust сервера\nПодробная инструкция»
server.url "https://timeweb.cloud"
# прочие настройки вы можете добавлять по мере необходимости со следующей строки (без #)
screen -S rust ~/Steam/rust_server/runds.sh
Здесь мы снова используем screen
, так как предыдущее окно закрылось при выключении сервера.
В интернете можно найти разные способы по подключению к RCON. Facepunch выпустил для пользователей свою панель Websocket RCON. Отличный вариант для удаленного управления публичным сервером.
Если вы запустили сервер как локальный, но у вас не проброшен порт rcon.port, эта панель не подойдет. Однако в интернете можно найти локальные клиенты. Большинство из них не умеют работать с WebSocket, поэтому предварительно в конфиге замените rcon.web 1 на rcon.web 0 и перезапустите сервер.
К сожалению, стандартный клиент не настроен на работу с зашифрованным трафиком, поэтому убедитесь, что в начале ссылки указано http
— без буквы S в конце, иначе не получится подключиться к своему серверу Rust. В будущем рекомендуем перейти на любое другое решение, которое будет безопасным.
server.cfg
:в Address введите ваш_публичный_ip:rcon.port
;
в Password напишите пароль, который указывали в rcon.password
(у нас он 28016).
И нажмите Connect. Мы не меняли свои настройки и успешно подключились по нашему IP 5.129.197.148:28016
с паролем strong_password
.
После авторизации вы увидите мониторинг ресурсов и часть информации о сервере.
Вам доступны вкладки:
Server (вы находитесь здесь);
Console — отсюда отправляются команды для управления сервером. Например, ban;
Chat — вы видите всю историю чата с момента запуска сервера, можете отправлять новые от его имени и видеть чужие в режиме реального времени;
Player List — список игроков, которые прямо сейчас находятся на сервере. Можно узнать имя игрока, его Steam ID, и даже кикнуть с сервера двумя нажатиями.
stepanik537 with steamid 76561198147940103 joined from ip *****:50954
users
Ответ:
76561198147940103:"stepanik537"
1 users
ownerid ПОЛУЧЕННЫЙ_STEAM_ID
В подтверждение увидите: «Added owner …». Это дает право пользователю отправлять команды администратора прямо из консоли игры. Например, noclip
для полета.
Аналогичным образом можно выдать и права модератора, отличается только команда — moderatorid STEAM_ID
.
Не все команды могут быть доступны сразу. Игроку нужно перезайти после получения прав.
У администратора большое число команд и параметров для управления сервером. Поэтому сложно найти единую таблицу, где были бы указаны все доступные варианты.
Если нужно что-то отыскать, используйте find <фрагмент>
в консоли сервера. Это покажет существующие переменные и команды, их описание. Например, если ищете что-то связанное с блокировкой, напишите find ban
. Сервер покажет существующие подходящие команды
Чтобы сгенерировать новую карту, которая будет отличаться от предыдущей, поменяйте server.seed
в скрипте запуска Rust Dedicated. Можно указать случайный набор символов, а можно воспользоваться сервисом для поиска подходящих ключей. Сначала указываете параметры, а затем отбираете подобранные варианты.
Под каждой картой в нем пишется два числа по порядку:
размер карты (server.worldsize) / ключ генерации (server.seed)
Копируйте последний и вставляйте его в runds.sh
(Linux) и Run_DS.bat
(Windows) возле +server.seed
.
Здесь, например, мы бы копировали 114514
, а в скрипте запуска указали бы +server.seed 114514
.
Если до этого момента сервер уже генерировал какую-либо карту, лучше всего поменять server.identity
на другой (если желаете сохранить файлы) или удалить папку для текущего server.identity
. После этого запускать сервер.
Расширение возможностей, упрощение рутины или «фановые» модификации — одни из основных преимуществ создания собственного сервера в Расте.
Чтобы сделать это возможным, установим uMod (Oxide) — одно из самых популярных решений, имеет огромный маркетплейс плагинов для Rust, 7 days to die и других игр.
После установки ваш сервер перестанет отображаться в списке серверов Rust Сообщество, но появится в Модифицированных.
Отправьте quit
в консоль (или RCON) либо нажмите CTRL + C в консоли для безопасной остановки.
На практике всегда перед установкой модификаций рекомендуется делать резервные копии. Если случайно установить на Linux сборку для Windows, либо поставить поврежденную версию модификации, проще всего будет откатиться к резервной копии, чем вручную искать поврежденные файлы или устанавливать все заново.
Windows
Скопируйте runds
в любое безопасное место или сделайте архив с ней (оригинальная папка при этом должна остаться на своем месте).
Linux
Сделайте копию папки рядом с основной, но под другим именем:
cp -r ~/Steam/rust_server ~/Steam/rust_server.bak
cp
сделает полную копию rust_server
с именем rust_server.bak
.
В будущем храните копии в сжатых архивах.
Windows
Oxide.Rust.zip
.rustds
(папку RustDedicated_Data
из архива нужно переместить в вашу_папку_с_сервером\rustds\
).Linux
Для последней версии Rust Dedicated Server нужно использовать последнюю версию (latest) uMod.
cd ~/Steam/rust_server
umod.zip
:curl -sqL "ссылка_с_предыдущего_шага" -o umod.zip
unzip -o umod.zip && rm umod.zip
screen -S rust ./runds.sh
Loading Oxide Core v2.0.4128…
Она указывает на успешный запуск модификации. Вручную проверить тоже можно: в консоли сервера (или в RCON) выполните команду
oxide.version
Ожидаемый результат:
Oxide.Rust Version: 2.0.6433
Oxide.Rust Branch: master
Найдите подходящий для вас плагин на сайте модификации. Для удобства пользуйтесь фильтрами.
Обращайте внимание на дату последнего обновления, описание к плагину и то, что в блоке Supported Games отражен сам Rust/указан значок универсальной платформы (U).
Мы будем устанавливать Portable Vehicles — возможность переносить транспортные средства в инвентаре, как предметы.
Windows
.cs
).ваша_папка\rustds\oxide\plugins\
.Linux
[detached from {id}.rust]
curl -sqL "ВАША_ССЫЛКА" -o ~/Steam/rust_server/oxide/plugins/НАЗВАНИЕ_ПЛАГИНА.cs
В нашем случае с PortableVehicles.cs
команда будет такой:
curl -sqL "https://umod.org/plugins/PortableVehicles.cs" -o ~/Steam/rust_server/oxide/plugins/PortableVehicles.cs
uMod (oxide) заметит, если вы поместите файл в папку с плагинами, поэтому он перезапустится и попытается скомпилировать и загрузить ваш плагин. После действий ожидаем в консоли сервера строки:
[CSharp] Started Oxide.Compiler v successfully
PortableVehicles was compiled successfully in 1584ms
Loaded plugin Portable Vehicles v1.1.9 by Paulsimik
Если этих строк не появилось, то принудительно загрузите плагин (oxide.reload ИМЯ_ПЛАГИНА
):
oxide.reload PortableVehicles
Вывод команды:
Unloaded plugin Portable Vehicles v1.1.9 by Paulsimik
Loaded plugin Portable Vehicles v1.1.9 by Paulsimik
Проверить загруженные плагины также можно из консоли (RCON):
oxide.plugins
Вывод команды:
Listing 1 plugins:
01 "Portable Vehicles" (1.1.9) by Paulsimik (0.00s / 0 B) - PortableVehicles.cs
Ориентируйтесь на описание к плагину — в нем приведены принципы работы. Portable Vehicles проверяет права пользователя. Из приложенных к описанию нас заинтересует:
portablevehicles.admin
— права администратора (игрок может выдавать транспортные средства (ТС) всем игрокам);
portablevehicles.use
— права на использование плагина, выполнение команд в чате (игрок может выдать ТС только себе).
Чтобы их выдать через uMod (Oxide), существует команда:
oxide.grant <user or group (пользователю или группе)> <никнейм или SteamID> <право>
Заполните под себя и отправьте к консоль:
oxide.grant user stepanik537 portablevehicles.admin
oxide.grant user stepanik537 portablevehicles.use
Получите подтверждение о наделении правами:
Теперь если в игре отправить в чат /pv
, увидите доступные команды
/pv <никнейм> <имя ТС>
— админ может выдать другому игроку;
/pv <имя ТС>
— игрок может выдать себе.
В описании тоже указаны доступные ТС. Часть из них на скриншоте.
Мы возьмем лодку (boat) и седан (sedan). Отправьте в чат, чтобы получить лодку:
/pv car boat
Она появится в инвентаре как предмет, останется только разместить в воде.
Плагин успешно работает, осталось сесть в транспорт и отправиться к желаемой точке на карте.
В таблице приведем возможные проблемы, которые могут возникнуть в работе Rust,и способы их устранения.
Симптом |
Причина |
Решение |
Failed to load bundle |
Неполная установка |
На Windows полностью выключите сервер и заново запустите На Linux выполните команду:
|
EMFILE: too many open files (Linux) |
Ограничение |
Добавьте |
EAC: Authentication timed out |
Не синхронизирована дата/время |
Включите |
Публичный сервер не виден в списке с остальными |
1) UDP закрыт 2) отключен античит |
1. Проверьте, не закрыты ли эти порты. Желательно их явно указывать в настройках. Явно разрешите эти порты для файрвола/брандмауэра:
Вместо 2. Важно, чтобы у вас параметры были:
Если они равны нулю — выключен Valve Anti-Cheat и подключение не защищено, а Rust не может показывать такие серверы рядом с остальными. Поменяйте значения на 1 и подождите 5‑10 минут для обновления. |
Плагины не загружаются, в oxide/logs — CS‑ошибка |
Нехватка .NET API в uMod или устаревший плагин |
Обновите Oxide и сам плагин. Если плагин перестал поддерживаться автором, стоит искать альтернативу или искать копию (fork). |
Процесс сервера убивается при генерации карты |
В пике понадобилось больше оперативной памяти, чем было доступно |
Если у вас еще нет swap, создайте файл на 2-4 ГБ. Если есть — его может быть недостаточно, увеличьте его размер. |
Rocking Chair/Convex Mesh warnings |
Слишком сложные коллизии предметов |
Никак не влияет: сервер автоматически упрощает сетку |
RCON не отвечает (ERR 1006) |
1) Не тот тип подключения 2) Порт |
1. Узнайте, какой тип подключения использует клиент RCON. Если с WebSocket, в вашем конфиге должно быть 2. В вашем случае порт может быть закрыт по умолчанию (или не проброшен, если вы вывели локальный сервер в паблик). Откройте порт по инструкции, описанной для вашей ОС. |
Не сохраняются настройки после перезапуска |
Настройка не сохраняется автоматически |
Часть изменений, внесенных через консоль/RCON, до сих пор могут не сохраняться автоматически. Чтобы сервер запомнил изменения, отправьте в консоль:
|
Разверните Rust на собственном сервере
Мы прошлись по базовым шагам по созданию своего сервера Rust. Этим вы открываете путь к персонализированному геймплею — все настройки теперь зависят только от вас. Чтобы проект жил долго и стабильно:
Обновляйте Rust Dedicated и uMod сразу после выхода патчей.
Перед обновлениями делайте резервные копии.
При большом масштабе вашего проекта храните отдельный локальный сервер Раст для тестов конфигураций.
Следите за производительностью (CPU/RAM/диск IO); масштабируйтесь до того, как игроки начнут жаловаться на лаги.
Используйте RCON‑права только с надежными паролями, а лучше по закрытому порту.
Автоматизируйте резервное копирование
Такой подход избавит от критических сбоев и сохранит вашу «песочницу» интересной для друзей и публичных игроков.