Rust Explore

Как создать свой сервер в раст

 

Многие игроки хотят создать свой сервер, для игры с друзьями, тестирования механик игры, плагинов или создания коммерческого проекта. В этом гайде мы подробно разберем создание сервера и его настройку.

 

Установка сервера

 

Прежде всего сервер необходимо загрузить. Сделать это можно по ссылке на официальном сайте facepunch. В самом низу странице кликаем на строчку quick start zip here. После чего начнется загрузка архива с сервером.

Скачиваем и извлекаем все из архива. Сам скачиваемый файл весит меньше мегабайта, но после запуска исполняемого файла объем увеличится. Так что позаботьтесь заранее о свободном месте на диске ( не менее 8,5 Гб). Далее нам нужно открыть папку server и запустить батник Run_DS. И мы видим, что сервер начал подкачку файлов, дожидаемся завершения.

 

 

После того как сервер закончит обновление вы увидите следующие надпись: «Server startup complete». На этом установка окончена, переходим к настройке.

 

Настройка сервера

Для настройки сервера, в первую очередь, нам понадобится отредактировать тот самый батник, который мы запускали. Кликаем по нему ПКМ-Изменить (или открыть любым удобным вам текстовым редактором). В этом файле прописаны базовые параметры сервера, нам нужно удалить отсюда пару строчек (выделены красным).

 

После данных манипуляций сервер готов к запуску. Но прежде чем это сделать мы разберем все основные параметры сервера, для более тонкой его настройки.

 

Подробная настройка параметров сервера

Изначально в нашем BAT-файле присутствует такой код:

echo off :start cd rustds RustDedicated.exe -batchmode ^+server.hostname "My Server Name" ^+server.port 28015 ^+server.identity "my_server" ^+server.worldsize 2400 ^+server.seed 20200806 -logFile "output.txt" -autoupdate cd ../ goto start

 

Изменяя параметры в данном файле мы можем настроить сервер так, как нам нужно. Прежде всего разберем каждый из них по отдельности:

  • echo off
    Данная команда выключает отображение результата выполнения всех остальных команд в консоль. Необходима только для удобства, чтобы не заспамливать консоль.
  • :start
    Отметка начала выполнения цикла
  • RustDedicated.exe -batchmode ^+server.hostname «My Server Name» ^+server.port 28015 ^+server.identity «my_server» ^+server.worldsize 2400 ^+server.seed 20200806 -logFile «output.txt» -autoupdate
    Главная строка запуска сервера, здесь указываются ( при необходимости добавляются дополнительные) основные параметры:
    • -batchmode
      Выключает графический интерфейс сервера, избавляя от ручного вмешательства.
    • +server.port 28015
      Порт для подключения к серверу
    • +server.level «Procedural map»
      Выбор типа карты сервер.В расте существует всего четыре карты: Procedural map ( Стандартная ), Barren, HapisIsland, SavasIsland.
    • +server.seed 1234
      Сид карты, используется для генерации процедурной карты или Barren (используется вместе с server.worldsize). Допустимые значения от 0 до 2147483647.
    • +server.worldsize 4000
      Размер вашей карты (используется вместе с server.seed). Допустимые значения от 1000 до 6000. 
    • +server.maxplayers 10
      Максимальное количество игроков на сервере
    • +server.hostname «My Server Name»
      Имя сервера. Отображается в списке серверов игры и в информации о сервере.
    • +server.description «Описание сервера» 
      Описание в информации о сервере внутри игры.
    • +server.url «http://yourwebsite.com»
      Ссылка на ваш сайт. Отображается в информации о сервере.
    • +server.headerimage «http://yourwebsite.com/logo.jpg»
      Ссылка на логотип используемый при подключении к серверу — JPG картинка размером  512 x 256. 
    • +server.identity «server1»
      Каталог, в котором будут храниться все файлы сервера.
    • +rcon.port 28016
      Порт подключения через удаленную консоль.
    • +rcon.password 1234
      Пароль, необходимый для доступа через удаленную консоль ( Rcon ). Не используйте пробелы или специальные символы. 
    • +rcon.web 1
      Использует тип подключения websocket для rcon (рекомендуется).
  • goto start
    Переход цикла на строку «start». 

Изменяем нужные нам параметры, перезапускаем сервер и он полностью готов к использованию.

 

Выбор карты для сервера

Для удобства можно воспользоваться сервисом, который позволяет просмотреть уже готовые карты с различными сидами. Там вы можете себе по удобству подобрать карту используя простой интерфейс.

На данном примере число 2400 — это размер карты (server.worldsize), а 20200806 — ее сид (server.seed). Но базовый батник не содержит параметра размера карты, нам нужно его дописать. Все параметры прописываются через «пробел» и «+», если у вас возникают ошибки, можно перед плюсами добавлять галочку «^». Таким образом получаем следующий текст.

echo off :start cd rustds RustDedicated.exe -batchmode ^+server.hostname "My Server Name" ^+server.port 28015 ^+server.identity "my_server" ^+server.worldsize 2400 ^+server.seed 20200806 -logFile "output.txt" -autoupdate cd ../ goto start

Сохраняем, закрываем и запускаем снова наш батник. Сервер запущен и теперь к нему можно подключиться.

 

Подключение к локальному серверу

Запускаем игру, открываем консоль ( f1 ) и прописываем команду для подключения.

client.connect 127.0.0.1:28015

В которой «127.0.0.1» — это адрес для локального подключения, а 28015 порт подключения, прописанный в нашем батнике.

 

Как выдать права администратора или модератора

После загрузки на сервер у вас возможно появился вопрос: «А как назначить себя администратором?». Ответ на который довольно прост. Для этого мы сворачиваем игру и разворачиваем нашу консоль сервера. В последних строчках командной строки (если вы недавно подключились) находим сообщение о вашем коннекте и скопировав от туда ваш Steam_ID пишем следующую команду.

ownerid Steam_ID

В данном примере STEAM_ID взят не из строки подключения к серверу, а из строки принудительного дисконнекта.

После проделанным манипуляций должна появиться строчка «Added owner … «, что свидетельствует об успехе.

По тому же принципу выдаются и права модератора, с разницей лишь в команде:

moderatorid Steam_ID