Решили создать свой сервер в Расте? Установка и настройка Rust Dedicated Server очень проста и понятна. Данное руководство предназначено для установки сервера на ПК с ОС Windows.
Создание своего сервера в Расте
Системные требования
Сервер Rust может быть требователен к пк, но, возможно, не так сильно, как вы думаете. В качестве базового уровня только что сгенерированная карта площадью 3 кв. км (размер генерации по умолчанию) будет работать почти на 2 гигабайтах оперативной памяти. После некоторого стресс-тестирования и появления 150 тыс. живых существ может использоваться 6+ гигабайт памяти. Поэтому мы рекомендуем выделять на сервер не менее 7 гигабайт оперативной памяти.
Установка и обновление SteamCMD
SteamCMD – это консоль командной строки, используемая для установки файлов, связанных со Steam, а также механизм, с помощью которого устанавливается и обновляется сервер Rust.
Создайте папку для SteamCMD, например c:\steamcmd
Создайте папку для сервера, например c:\rustserver
Загрузите программу SteamCMD для Windows.
Распакуйте содержимое zip-файла в папку, созданную для steamcmd.
Запустите программу steamcmd.exe. (Компьютер может попросить вас подтвердить, что вы хотите ее запустить).
Этот файл после выполнения загрузит, установит и обновит последнюю версию SteamCMD.
После этого появится Steam>.
Установка выделенного сервера Rust
Введите по очереди следующие команды после текста “Steam>”, чтобы начать загрузку сервера на ваш компьютер.
force_install_dir “c:\rustserver\”
login anonymous
app_update 258550
quit
Это все необходимые файлы, требуемые для “ванильного” сервера. Модифицированные серверы требуют немного больше работы.
Переход на другую ветку
Если вы хотите загрузить staging-ветку Rust, которая получает самые последние обновления, измените команду app_update следующим образом:
app_update 258550 -beta staging
Если вы хотите загрузить предрелизную ветвь Rust, которая получает будущие/находящиеся в процессе разработки обновления, измените команду app_update следующим образом:
app_update 258550 -beta prerelease
Настройка и запуск сервера
Для запуска сервера необходимо создать как минимум один файл пакетного сценария. Для начала создайте файл RustServer.bat в каталоге установки сервера (c:\rustserver), затем щелкните правой кнопкой мыши и отредактируйте файл.
Файл пакетного сценария
Пакетный скрипт – это текстовый документ, в котором хранится список команд, выполняемых последовательно. Основное применение пакетного скрипта для хостинга сервера заключается в том, чтобы владелец сервера мог убедиться в том, что его сервер находится в актуальном состоянии, а в случае падения сервера – что он возобновит работу. Самый простой способ сделать это – использовать оператор GOTO. GOTO позволяет переходить в пакетном сценарии к любой другой части пакетного файла.
Важно отметить, что иногда Rust зависает вместо полного закрытия. В этом случае сервер не перезапустится при зависании процесса, поскольку процесс не был остановлен. Пакетный сценарий ожидает завершения команды (в данном случае RustDedicated.exe), но если этот процесс так и не завершится, пакетный сценарий будет просто стоять на месте.
По большей части, в этом пакетном скрипте вам придется настроить все параметры вашего сервера. Конфигурационные файлы для сервера еще не совсем работают, поэтому явное определение всех настроек в пакетном скрипте – лучший способ. Ниже приведен пример:
echo off
:start
C:\steamcmd\steamcmd.exe +login anonymous +force_install_dir c:\rustserver\ +app_update 258550 +quit
RustDedicated.exe -batchmode +server.port 28015 +server.level "Procedural Map" +server.seed 1234 +server.worldsize 4000 +server.maxplayers 10 +server.hostname "Имя сервера, отображаемое в списке серверов клиента" +server.description "Описание, отображаемое в окне подключения к серверу" +server.url "http://yourwebsite.com" +server.headerimage "http://yourwebsite.com/serverimage.jpg" +server.identity "server1" +rcon.port 28016 +rcon.password letmein +rcon.web 1
goto start
Примечание: Не используйте этот пример без внесения изменений.
Ниже приводится пояснение к каждой строке пакетного файла.
echo off
Это запрещает окну консоли отображать каждую команду пакетного файла по мере ее выполнения.
:start
Это метка для начальной точки цикла.
C:\steamcmd\steamcmd.exe +login anonymous +force_install_dir c:\rustserver\ +app_update 258550 +quit
Запускает SteamCMD для проверки обновлений сервера и их применения, если это необходимо.
RustDedicated.exe -batchmode +server.port 28015 +server.level “Procedural Map” +server.seed 1234 +server.worldsize 4000 +server.maxplayers 10 +server.hostname “Имя сервера, отображаемое в списке серверов клиента” +server.description “Описание, отображаемое в окне подключения к серверу” +server.url “http://yourwebsite.com” +server.headerimage “http://yourwebsite.com/serverimage.jpg” +server.identity “server1” +rcon.port 28016 +rcon.password letmein +rcon.web 1
-batchmode
Запускает сервер в режиме без визуального оформления и избавляет от необходимости вмешательства человека.
+server.port 28015
Порт подключения клиента Rust.
+server.level “Procedural Map”
Тип используемой карты. Возможные варианты: “Procedural Map”, “Barren”, “HapisIsland”, “SavasIsland” и “SavasIsland_koth”.
+server.seed 1234
Задает форму процедурных и баррен карт (используется вместе с server.worldsize). Значения варьируются от 0 до 2147483647.
+server.worldsize 4000
Задает размер в кв.метрах процедурных и barren карт (используется с server.seed). Значения лежат в диапазоне от 1000 до 6000.
+server.maxplayers 10
Количество игроков, которые могут быть подключены к серверу.
+server.hostname “Имя сервера, отображаемое в списке серверов клиента”
Имя сервера, отображаемое в списке серверов клиента
+server.description “Описание, отображаемое в окне подключения к серверу”.
Описание, отображаемое в окне подключения клиента к серверу
+server.url “http://yourwebsite.com”
Действительный веб-сайт. Вызывает появление кнопки “Просмотр Web-страницы” в окне соединения
+server.headerimage “http://yourwebsite.com/serverimage.jpg”
Правильная ссылка для фонового изображения окна подключения. Используйте JPG-изображение размером 512 x 256.
+server.identity “server1”
Имя каталога, используемого в качестве родительского для всех файлов сервера. Не используйте пробелы и специальные символы.
+rcon.port 28016
Порт подключения клиента Rcon.
+rcon.password letmein
Пароль, необходимый для доступа к Rcon. Не используйте пробелы и специальные символы.
+rcon.web 1
Использует режим соединения websocket для rcon (рекомендуется)
goto start
Указывает пакетному файлу перейти к метке ‘start’. Удалите эту строку, если вы не хотите, чтобы ваш сервер автоматически перезапускался после выключения.
Подключение к серверу
Запустите игру Rust и не выбирайте сервер. Обратите внимание, что ваш сервер не будет отображаться на вкладке “Локальная сеть”. Вместо этого нажмите F1 и перейдите в консоль клиента. Предполагая, что по умолчанию используется порт 28015, введите следующую команду для подключения к серверу:
client.connect localhost:28015
Если вы использовали другой порт, измените его соответствующим образом.
Владельцы и модераторы
После запуска сервера вы можете назначить себя его владельцем. Это делается с помощью команды ownerid. Для этого вам понадобится ваш 17-значный номер SteamID. Проще всего получить его, зайдя в игру и выполнив команду users в консоли F1. Затем введите следующую команду в консоле своего сервера:
ownerid 12345678901234567 AdminName
Например:
ownerid 12345678901234567 “Имя администратора”.
То же самое можно сделать и для модераторов, используя команду moderatorid
moderatorid 12345678901234567 “Имя администратора”
Примечание: Как и в большинстве команд, позволяющих использовать имена игроков, если в имени присутствуют пробелы или специальные символы, необходимо заключить имя в кавычки.
После этого обязательно используйте команду writecfg, после чего пользователь должен отключиться от сервера и снова подключиться к нему, чтобы получить права. Эти два вида прав практически идентичны. Владельцы могут создавать, удалять и запрещать модераторов, если это необходимо, но модераторы не могут влиять на владельцев.
Совместное использование сервера с другими пользователями
Если вы хотите, чтобы другие пользователи могли подключаться к вашему серверу из внешнего мира, вам необходимо настроить переадресацию портов, используя порт, указанный выше. Если вы не знакомы с настройкой проброса портов, я рекомендую воспользоваться этим руководством по серверу Steam. Вам нужно будет пробросить “server.port”, а также “rcon.port”, если он используется. По умолчанию это порты 28015 и 28016.
Даже если ваш сервер не отображается в списке серверов, игроки смогут подключиться к вам с помощью команды client.connect, если им известен ваш публичный IP. Локальные брандмауэры также могут влиять на возможность подключения из внешнего мира. Если вы подозреваете это, отключите брандмауэр на короткое время.