Настал момент, когда ты устал от рейдов и решил стать админом. Проще простого сделать сервер Rust. Это открывает безграничные возможности для кастомизации игрового процесса и привлечения нового комьюнити. По заявке радиослушателей робот расскажет, как запустить сервер быстро и понятно.
Создаем VPS сервер
Системные требования сервера на Linux, в нашем случае Ubuntu
8 ГБ свободной оперативной памяти. Например карта 6000 будет использовать несколько больше. Также минимум 8 ГБ свободного места на диске, рекомендуется SSD или NVMe, хорошо будет 15ГБ.
Два ядра мало, но работать будет. Сервер Rust будет долго подниматься и быстро падать. Выйдет такой конфиг около 30₽ в сутки, а это почти две чашки капучино.
При создании сервера сразу укажем публичный ssh ключ, давайте сгенерируем SSH ключ. Откройте командную строку cmd, скомандуйте
ssh-keygen
Укажите путь к файлу для сохранения ключа, например создадим файл C:\Users\Neo/.ssh/id_rust. Введите надежную парольную фразу для защиты вашего приватного ключа. Это необязательно, но лучше такое провернуть, подтвердите фразу. Нажмите Enter и после найдите сгенерированные файлы. В указанной директории появятся два файла:
- Приватный ключ id_rust, файл храните в секрете.
- Публичный ключ id_rsa.pub, файл можно передавать и использовать для подключения к серверу.
Заходим на сервер через ssh
Робот использует софт от Bitvise SSH Client. Cоздаем новый профиль и импортируем SSH ключ в программу через key manager. Вводим IP адрес сервера и пользователя root, указываем порт 22, жмем батон логин и заходим на свой свежий сервер. Запускаем New terminal console
Текст написан на основе инструкции разработчика
Создаем для начала учётную запись пользователя с именем rust для безопасного запуска SteamCMD. Обязательно изоируем этого пользователя от остальной части операционной системы. Не запускайте steamcmd от имени root. Это сладкая конфетка для киберпанков.
Итак, давайте командовать
sudo useradd -m rust sudo passwd rust sudo -u rust -s cd /home/rust
Для установки SteamCMD необходимо включить репозиторий Multiverse и пакеты x86.
sudo add-apt-repository multiverse sudo dpkg --add-architecture i386 sudo apt update sudo apt install steamcmd
если вдруг пользователь не стал sudo, делаем его таким. Заходим под root и командуем
sudo usermod -aG sudo rust
Все, теперь логиним себя под rust и устанавливаем пакеты выше.
Запускаем SteamCMD
steamcmd
Заходим в SteamCMD
login anonymous
выбираем путь установки внутри текущей директории
login anonymous force_install_dir ./rust/
запускаем установку сервера rust dedicated server
app_update 258550 validate
Запускаем сервер Rust
после успешной установки запускаем сервер Rust
cd .local/share/Steam/steamcmd/rust/ ./RustDedicated +server.hostname "oxistudio" +server.maxplayers 50 +server.worldsize 3000 +server.saveinterval 600
./RustDedicated -batchmode +server.ip 0.0.0.0 +server.port 28015 +server.tickrate 30 +server.hostname "Your Server Name" +server.identity "your_server_identity" +server.maxplayers 50 +server.worldsize 4000 +server.saveinterval 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "Your_Rcon_Password" -logfile logfilename.log"
Параметры запуска сервера
| Переключатель | По умолчанию | Описание |
|---|---|---|
| server.port | 28015 | Порт подключения к серверу |
| server.maxplayers | 512 | Максимум игроков |
| server.hostname | "My server name" | Название сервера |
| server.identity | Идентификатор вашего сервера. Указывайте без пробелов и спец. символов | |
| server.level | "Procedural Map" | Выбираем карту Rust: Procedural Map, TestLevel, Craggy Island, Hapis Island, Savas Island, Barren |
| server.seed | 123456 | Зерно, используемое для генерации процедурной карты. Значение должно быть между -2147483647 и 2147483647 |
| server.worldsize | 3000 или 9 км2 | Размер карты должен быть от 1000 до 8000. Помните про ОЗУ вашего сервера. |
| server.saveinterval | 60 | Интервал авто сохранения сервера в секундах |
| server.secure | true | Включить VAC и EAC: true или false |
| server.tickrate | 30 | Количество тактов сервера в секунду. Меньше значение, значит выше производительность. Но при этом могут происходить аномалии и баги. |
| construct.frameminutes | 600 | Значение в минутах автоматического разрушения каркаса |
| server.radiation | false | Радиация во всяких радиоактивных местах: false или true |
| server.headerimage | "url" | Картинка в профиле сервера размер 512x256 формат .png или .jpg |
| server.description | "text" | Описание сервера и его правила, для переноса текста на новую строку используйте \n |
| server.url | "url" | Адрес сервера |
Если сервер Rust падает с ошибкой dlopen failed trying to load: /home/rustist/.steam/sdk64/steamclient.so потому как отсутствует директория и файл в ней. Создаем директорию и копируем туда файл из /home/rust/.local/share/Steam/steamcmd/linux32/steamclient.so
cd /home/rust/.steam/ mkdir sdk64
копируем steamclient.so не забываем выставить на файл атрибуты 775 и владельца rust
Делаем файл подкачки
Сервер ложится при нагрузке на ОЗУ, сделаем ему файл подкачки, пусть работает. Прежде чем создать swap-файл, нужно узнать текущее состояние диска. Чтобы получить эти данные, введите:
sudo swapon --show
Создаем swap файл
Получив все данные о системе, можно приступить к созданию swap-файла. В мануале такой файл называется swapfile и находится в root-каталоге. Файл должен иметь объем необходимого swap пространства.
Поскольку в данном случае используется сервер с 4 Гб RAM, мы создадим 4 Гб swap-пространства.
sudo fallocate -l 4G /swapfile
Чтобы проверить выделенный объём памяти, введите:
ls -lh /swapfile -rw-r--r-- 1 root root 1.0G Apr 25 11:14 /swapfile
команда создала файл с указанным объёмом памяти.
Включаем swap
Для начала нужно изменить права на файл, только root имел право на чтение. Swap-файл с правами на чтение и изменение другими пользователями – огромный риск для безопасности сервера. Чтобы передать все права пользователю root, введите:
sudo chmod 600 /swapfile
Проверяем права на файл:
ls -lh /swapfile -rw------- 1 root root 1.0G Apr 25 11:14 /swapfile
Итак, файл защищен, и можно указать системе на swap с помощью команды
sudo mkswap /swapfile Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf
Чтобы включить swap пространство
sudo swapon /swapfile
Все прошло успешно, проверив отчеты системы о swap:
sudo swapon --show NAME TYPE SIZE USED PRIO /swapfile file 1024M 0B -2
Автозагрузка swap
Итак, теперь swap пространство включили, а чтобы при перезапуске сервер запускал автоматически, отредактируйте файл /etc/fstab. Создайте его резервную копию файла:
sudo cp /etc/fstab /etc/fstab.bak
Добавьте данные о swap в конец файла
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Как остановить сервер Rust
У нас получилось сделать сервер RUST и запустить его. Из консоли сервер можно остановить через Ctrl+Z и потом снова запустить командой
fg
А можно просто остановить сервер Ctrl+C
Как стать администратором сервера Rust
Мечта рядом, осталось лиши получить права администратора своего сервера Rust.

В консоль терминала сервера вбиваем команду
ownerid 12344567890
Где цифры это ваш steamid 64. Запустите клиент стим и посмотрите свой профиль.
?xml=1 https://steamcommunity.com/id/myrust/?xml=1 <steamID64>1234567890</steamID64>
Ссылка в левом углу должна быть скопирована путем ее нажатия и вставлена в браузер, в конец ссылки подставляем и наблюдаем свой <steamID64> в новом открывшемся окне. Для того чтобы права администратора вступили в силу, нужно покинуть сервер Rust и снова на него зайти.
Если это не сработало, тогда идем rust/.local/share/Steam/steamcmd/rust/server/my_server_identity/cfg/users.cfg открываем файл и пишем
ownerid steamid64 name / comment
Сохраняем конфиг users.cfg и медленно перезагружаем сервер, подключаемся из клиента Rust и чувствуем себя всемогущим.
Команды консоли Rust
| Команда | Описание |
|---|---|
| status | Вывод общего статуса сервера, в том числе подключенные игроки например |
| say говорить | Передать свой месседж всем на сервере |
| find . | Вывести список всех консольных команд |
| rcon.password | Установить пароль rcon для использования в клиенте игры rcon.login пароль |
| kick имя_пользователя | Кикнуть пользователя с сервера. Имя_пользователя может быть первые несколько букв имени или steamid |
| ban имя_пользователя | Команда банит пользователя на сервере, но не кикает |
| banid steamid | Забанить по userid |
| unbanall | Всех разбанить |
| server.hostname hostname | Установить имя хоста |
| server.clienttimeout int | Как долго ждать до подключения к серверу (по умолчанию 2 минуты) |
| server.pvp bool | Вкл/выкл. pvp-режим (по умолчанию true) |
| sleepers.on bool | Вкл./выкл. спящих игроков (по умолчанию true) |
| quit | Выключить сервер (сохраняется уровень) |



