Rust:Установка сервера. Команды и переменные: различия между версиями

Материал из SurvivalHost Wiki
Перейти к навигации Перейти к поиску
Строка 61: Строка 61:
     <div class="sqs-block-content">
     <div class="sqs-block-content">
         <h2 style="white-space: pre-wrap;">Установка выделенного сервера Rust</h2>
         <h2 style="white-space: pre-wrap;">Установка выделенного сервера Rust</h2>
         <p style="white-space: pre-wrap;">Для того, чтобы SteamCMD скачал на ваш компьютер сервер для Rust, напишите в консоли следующие команды:</p><pre>login anonymous force_install_dir "c:\rustserver\" app_update 258550 quit</pre>
         <p style="white-space: pre-wrap;">Для того, чтобы SteamCMD скачал на ваш компьютер сервер для Rust, напишите в консоли следующие команды:</p><pre>login anonymous force_install_dir "c:\rustserver\" app_update 258550 validate quit</pre>
         <p style="white-space: pre-wrap;">Этого достаточно, чтобы скачать "Классический" сервер, для мод серверов необходимо проделать немного больше работы.</p>
         <p style="white-space: pre-wrap;">Этого достаточно, чтобы скачать "Классический" сервер, для мод серверов необходимо проделать немного больше работы.</p>
     </div>
     </div>

Версия 10:53, 30 января 2019

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

Руководство по запуску сервера версий release (основная) и staging. Инструкция предназначена для тех кто хочет создать сервер на своём компьютере или сервере. На хостингах этот процесс происходит автоматически. Установка и запуск своего сервера не займет много времени. Данное руководство написано только для запуска сервера на Windows.


Системные требования

Сервер Rust легко запустить на своем компьютере, он не очень требователен к ресурсам, если вы, конечно, не собираетесь пригласить на свой сервер 100 и более игроков. Чистая карта в 3 квадратных километра (стандартный размер карты) потребует примерно 2-3 ГБ свободной оперативной памяти, но после 150 тысяч обьектов на сервере, он может уже начать требовать более 6 ГБ свободной оперативной памяти. Лучше иметь 4-8 ГБ оперативной памяти выделенной для работы одного сервера.


Установка и обновление SteamCMD

Консольный клиент Steam или SteamCMD - утилита для установки и обновления выделенных серверов через интерфейс командной строки.

  • Создайте папку на жестком диске для SteamCMD, например C:\steamcmd

  • Создайте папку для вашего сервера, например C:\rustserver

  • Скачайте SteamCMD для Windows

  • Распакуйте архив в папку, которую вы создали для SteamCMD

  • Запустите файл steamcmd.exe

Этот файл после запуска скачает, установит и обновит до последней версии SteamCMD.

Установка SteamCMD закончена.


Установка выделенного сервера Rust

Для того, чтобы SteamCMD скачал на ваш компьютер сервер для Rust, напишите в консоли следующие команды:

login anonymous force_install_dir "c:\rustserver\" app_update 258550 validate quit

Этого достаточно, чтобы скачать "Классический" сервер, для мод серверов необходимо проделать немного больше работы.


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

Для того, чтобы скачать staging сервер, чтобы посмотреть изменения и обновления игры до того момента, как разработчики официально ее выпустят в первый четверг месяца, то необходимо изменить команду app_update следующим образом:

app_update 258550 -beta staging validate


Настройка и запуск сервера

Чтобы запустить сервер, вам необходимо создать пакетный файл. Для этого создайте новый текстовый документ и сохраните его как 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 Name» +server.description «Server Description" +server.url "http://leprogames.com" +server.headerimage "http://yourwebsite.com/logo.jpg" +server.identity "server1" +rcon.port 28016 +rcon.password 123 + 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://вашсайт.ру +server.headerimage http://yourwebsite.com/логотип при подключении.jpg +server.identity "server1" +rcon.port 28016 +rcon.password letmein +rcon.web 1 goto start

-batchmode
Открывает Unity в режиме без GUI и устраняет необходимость любого ручного вмешательства

+server.port 28015
Порт подключения клиента Rust.

+server.level «Procedural map»
Выбор карты сервера, в Rust четыре типа карт: "Procedural map", "Barren", "HapisIsland”, ”SavasIsland”.

+server.seed 1234
Сид карты, который будет использоваться для процедурной карты или карты Barren (используется вместе с командой server.worldsize). Значения могут быть от 0 до 2147483647.

+server.worldsize 4000
Размер процедурной карты и Barren (используется вместе с server.seed). Значения могут быть от 1000 до 6000.

+server.maxplayers 10
Количество игроков, которые могут быть подключены на сервер.

+server.hostname «Имя сервера, отображаемое в списке клиентских серверов»
Имя сервера, которое будет видно в списке серверов клиента игры.

+server.description "Описание сервера"
Описание, которое будет показано в окне подключения сервера клиента игры.

+server.url http://yourwebsite.com
Ссылка на сайт сервера.

+server.headerimage http://yourwebsite.com/логотип при подключении.jpg
Логотип сервера при подключении. Используйте JPG картинку размером of 512 x 256.

+server.identity «server1»
Имя каталога, в который будут сохранятся все файлы сервера. Не используйте пробелы или специальные символы.

+rcon.port 28016
Порт подключения через удаленную консоль.

+rcon.password 1234
Пароль, необходимый для доступа через Rcon (удаленную консоль). Не используйте пробелы или специальные символы.

+rcon.web 1
Использует режим подключения websocket для rcon (рекомендуется).

goto start
Указывает командному файлу переходить на строку «start». Удалите эту строку, если вы не хотите, чтобы ваш сервер автоматически перезапускался после его завершения.


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

Запустите клиент Rust, в зависимости от того, какой сервер вы установили, если staging ветку, то запустите Rust Staging Branch в вашем стиме. Обратите внимание, что ваш сервер не будет отображаться во вкладке «Локальная сеть». Вместо этого нажмите F1 и перейдите к клиентской консоли. Если вы использовали порт по умолчанию 28015, то введите следующую команду для подключения к вашему серверу:

client.connect localhost: 28015

либо

client.connect

Если вы использовали другой порт, измените его соответствующим образом.


Владельцы и модераторы

Как только сервер будет запущен, вы должны сделать себя владельцем сервера, чтобы получить доступ к "админке". Это делается с помощью команды ownerid. Вам понадобится ваш 17-тизначный номер SteamID. Самый простой способ узнать его - войти на сервер и прописать команду users в консоли, вы получите список всех игроков, находящихся на сервере, находите себя и копируйте стимайди. Затем введите следующу команду в консоль сервера:

ownerid 12345678901234567

Вы можете сделать то же самое для модераторов с помощью команды moderatorid.

moderatorid 12345678901234567

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


Как зайти друзьям на ваш сервер Rust

Если вы хотите, чтобы другие игроки могли подключаться к вашему серверу, вам нужно будет иметь выделенный IP-адрес, такая услуга предоставляется провайдерами, иногда бесплатно, а также необходимо пробросить порты 28015 и 28016 на вашем роутере. Как это сделать, есть в инструкции к вашему роутеру, либо можете позвонить в техническую поддержку вашего провайдера и попросить это сделать удаленно за вас, если они могут это сделать. Рекомендую <a href="https://portforward.com/router.htm" target="_blank">эти инструкции</a> для пробрасывания портов (на английском языке).

Даже если ваш сервер не отображается в списке серверов, игроки могут подключиться к вам через команду client.connect, если они знают ваш публичный IP-адрес. Брандмауэр также может влиять на возможность подключения из внешнего интернета. Если вы это подозреваете, то попробуйте отключить на время ваш брандмауэр. Или сделать исключения для Rust.


Поздравляю, ваш сервер готов для использования. Если у вас остались какие-либо вопросы, то вы всегда можете обратиться за помощью в наш <a href="http://vk.com/leprogames" target="_blank">паблик VK</a>.