Прицел для

Прицел для

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

Обращаю ваше внимание, что речь идет об официальной легальной steam-версии Rust experimental. На текущий момент (весна 2016) игра стоит символические 420 рублей, а я купил ее вообще с 50% скидкой, поэтому даже не рассматриваю пиратские репаки. RUST стОит своих денег, но мои впечатления об игре я постараюсь уместить в рамках обзора. Пропустить лирику и перейти к инструкции.

Для чего нужен собственный сервер RUST

  1. Для игры с друзьями без постороннего вмешательства со стороны третьих лиц.
  2. Для экпериментов.
  3. Для монетизации.

Может быть есть и еще какие-либо причины для открытия собственного сервера, однако я до них пока не додумался.

Лично для меня сервер RUST - это прежде всего площадка для экспериментов. Здесь я могу протестировать новые, вводимые в игру предметы, построить рейдоустойчивый дом и проверить его на прочность, высчитать количество ресурсов для крафта определенного количества предметов за определенное время, потренироваться в стрельбе по вертолетам и медведям из базуки и многое другое.

Имеет место и монетизация при помощи магазина вещей (и подкупа администратора :) ), но тут я мало что могу сказать, кроме того - конкуренция здесь на уровень выше, чем вы можете себе представить.

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

Так или иначе я однажды поднял свой сервер и теперь хочу поделиться этим опытом с вами.

Технические требования для сервера Rust Experimental

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

В моем случае я запустил сервер на том же ПК, с которого я запускаю и клиента игры. У меня i5/8GB и этого оказалось более чем достаточно, чтобы комфортно играть против 20 вертолетов и стрелять в них ракетами с высоты 15-этажного дома с диаметром более 15-ти блоков. Никаких лагов не было замечено.

При загрузке сервера процессор используется на 100%, но потом в состоянии простоя жизнь на сервере расходует 4-6% процессорного времени моего айпятого.

Резюмируя, скажу, что тут у меня пробел в информации и если кто-то что-то выяснит - поделитесь в комментах, пожалуйста. Буду крайне признателен. В свою очередь, если что узнаю - дополню этот раздел.

Консоль SteamCMD

Говоря словами VALVE: консольный клиент Steam или SteamCMD - новая утилита для установки и обновления выделенных серверов через интерфейс командной строки. Мы будем использовать эту консоль для установки сервера rust, соответственно. Скачать данную консоль можно и нужно, разумеется, с официального сайта (https://developer.valvesoftware.com/wiki/SteamCMD:ru). Там же находится инструкция по установке, однако, не всем достаточно этой инструкции, чтобы запустить полноценный сервер.

Дистрибутив представлен архивом и для его установки достаточно распаковать содержимое в какой-нибудь каталог. Здесь сразу оговорюсь - для разных семейств операционных систем существуют свои дистрибутивы, но в рамках данной статьи мы рассмотрим установку и запуск серверов Rust experimental под управлением ОС MS Windows 10 и Debian 8 GNU/Linux (Squeeze).

Установка сервера Rust experimental на MS Windows 10

Установка ничем не отличается от установки на более ранние версии операционной системы Windows (ранних, но в пределах разумного). Кроме того, установку можно осуществлять на core-версии, которые не требуют приобретения лицензии - идеально для серверных платформ.

Предлагаю  создать каталог на каком-нибудь разделе локального жесткого диска, например: C:\SteamCMD и сюда распаковать содержимое свежего дистрибутива. Там на самом деле всего один исполняемый файл: steamcmd.exe, который после распаковки следует запустить. При первом запуске консоль сама скачает необходимые файлы и доведет себя до актуального состояния. Дождитесь пока выйдет приглашение к вводу команд.

Теперь можно устанавливать и обновлять наши приложения steam. Вот краткая инструкция как создать или обновить свой сервер Rust experimental:

  1. В первую очередь нужно авторизоваться в сервисе. Делается это консольной командой login anonymous. Аноним пароль не требует, поэтому использовать его несколько проще.
  2. Во вторую очередь нужно указать каталог, куда будет выполнена установка сервера. Это совершается при помощи команды force_install_dir <Адрес каталога>. Здесь есть одна особенность, на которую не все обращают внимание - желательно, чтобы сервер располагался на разделе жесткого диска, который наименее загружен другими приложениями, а так же обладающим наибольшей пропускной способностью (скорость чтения и записи). В моем случае SSD с виндой на борту - наиболее подходящий вариант, так как клиент игры установлен на другом жестком диске, что несомненно скажется на производительности в лучшую сторону. Итак, force_install_dir C:\res01 (название каталога может быть произвольным, каталог будет создан автоматически).
  3. И, наконец, в третью очередь нужно запустить установку (или обновление) приложения. Как и все steam-приложения сервер Rust experimental имеет свой идентификатор - 258550, поэтому особо не вдаваясь в детали, пишите команду в консоль: app_update 258550. Данная команда запустит скачивание и распаковку ресурсов сервера в каталог, указанный на втором шаге. В интернете вы можете столкнуться еще с более полной командой:  app_update 258550 -beta public. Все дело в том, что ранее было разделение на Rust legacy и Rust experimental. Последний считался тестовым, поэтому было разделение. Теперь legacy недоступен. Ключи и параметры (-beta) нужны теперь, чтобы указать какую версию устанавливать, ведь помимо публичного релиза - есть еще пререлиз и другие. Об этом подробнее написал здесь.

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

Опять же, в данной статье будет рассмотрены лишь запуск и управление оригинальным (классическим) сервером. Использование модификаций я опишу в других статьях, если на это будет спрос.

Для запуска сервера можно воспользоваться консолью или создать пакетный (batch) файл. Множество параметров запуска можно указать сразу же в команде запуска.

Минимально необходимо включить в bat-файл лишь команду: RustDedicated.exe -batchmode.

Но я создал файл C:\res01\start.bat следующего содержания:

RustDedicated.exe -batchmode +server.hostname "MyRustServer" +server.port 28015 -logFile "output.txt

Здесь я указал (абсолютно ненужные параметры) наименование сервера, порт и файл, куда сервер будет записывать свои логи.

Важно: обязательно нужно указывать разные порты для нескольких серверов, одновременно запущенных на одной машинке. То есть второй сервер, который бы я развернул на своем ПК, запускался бы командой с параметром +server.port 29015 или +server.port 28016

При старте сервера данной командой запустится генерация мира. В этом же окне доступны команды для управления сервером напрямую.

Проверяем - запускаем клиент игры и в консоли (F1) вводим команду: connect localhost:28015. Здесь localhost при условии, что клиент на той же машине, что и сервер, а порт (28015) мы указали в параметрах запуска сервера. У меня сразу же пошел коннект и через пару минут я уже тряс своими (не своими а своего ГГ) гениталиями на необитаемом острове.

Автоматизация процесса обновления сервера Rust experimental

Уровень автоматизации каждый для себя отмечает сам. И первое, что следует сделать - создать, опять же, пакетный файл (например, C:\SteamCMD\ update_res01.bat) следующего содержания:

@echo off
cls
echo "Update server Rust: RES01"
start /wait/high steamcmd.exe +login anonymous +force_install_dir C:\RES01 +app_update 258550 validate +quit

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

Однако можно пойти еще дальше и написать скрипт, который будет самостоятельно останавливать сервер, запускать обновление и запускать сервер. Потом данный сценарий повесить в планировщик задач и поставить на ежедневный ночной триггер. Однако, если сервер использует модификации - после очередного обновления моды перестанут работать. Автоматизировать процесс автоматического обновления еще и модов сервера - гораздо сложнее. Здесь я вам ничем не помогу, хотя может когда-нибудь и доберусь до такого маразма.

Установка сервера Rust experimental на Debian Squeeze

Процесс запуска сервера под управлением операционных систем linux не многим сложнее, чем под windows:

  1. Под суперпользователем (su) выполнить команду: apt-get install lib32gcc1. Это мы устанавливаем библиотеку, необходимую для GCC (GNU Compiler Collection) - коллекции компиляторов.
  2. Далее нам рекомендуется создать отдельного пользователя для SteamCMD, а не запускать консоль от имени суперпользователя. Создадим пользователя steam и войдем под ним, выполнив последовательно команды в консоли:  useradd -m steam, а затем su - steam.
  3. Создать каталог steamcmd и перейти в него: mkdir /steamcmd, а затем cd /steamcmd. Каталог будет создан в домашнем каталоге пользователя steam.
  4. Загрузить дистрибутив консоли: wget http://media.steampowered.com/client/installer/steamcmd_linux.tar.gz
  5. Распаковать: tar -xvzf steamcmd_linux.tar.gz. После распаковки гляньте какие файлы извлеклись командой ls.
  6. Ну и теперь запустить шелловский скрипт: ./steamcmd.sh. После этой команды мы увидим приглашение консоли Steam>. Дальше уже нужно вводить команды стимовской консоли, их вы уже знаете:
    • login anonymous
    • force_install_dir ./res02
    • app_update 258550
  7. После установки перейдем в каталог res02 (предварительно выйдя из консоли steam - quit) командой: cd ./res02 и глянем какие там есть файлы: ls. Среди файлов я увидел знакомый уже RustDedicated.
  8. Запускаем этот скрипт с аналогичными параметрами, как и под виндой, используя команду: ./RustDedicated -batchmode. При этом консоль вывела какие-то информативные сообщения, которые не содержат ни варнингов ни эрроров и я решил, что это победа.

Удостоверился я в работоспособности сервера, когда запустил клиента Rust experimental и подключился: connect 192.168.0.80:28015. Здесь адрес машинки с дебианом и порт по умолчанию. Подключение к серверу прошло успешно, однако сервер под линуксом выжрал много памяти - почти 5ГБ, в то время как на винде планку 1,3  не превышал, но копаться с оптимизацией я буду уже в другой раз.

Управление сервером Rust experimental

Прежде всего следует сделать себя администратором, или кого-то назначить администратором (и/или модератором). Сделать игрока админом можно, прописав команду ownerid <Steam64 ID> <Nik> прямо в окне консоли управления сервером. У меня, правда, хоть команда и была принята - админом я не стал, поэтому я воспользовался вторым способом, чтобы стать админом собственного сервера Rust experimental:

  1. Создал файл c:\res01\server\my_server_identity\cfg\users.cfg
  2. Вписал туда команду ownerid <Steam64 ID> <Nik>

Здесь важно узнать свой Steam64 ID, который совсем не лежит на поверхности. Здесь нужен именно 64-битный код, который можно получить на множестве ресурсов, например - steamid.xyz. Там достаточно указать свой логин steam.

После сохранения файла необходимо перезапустить сервер Rust.

  1. Остановка при помощи команды stop не закрыла у меня окно сервера, но при этом написало что он остановлен.
  2. Перезагрузка сервер осуществляется командой restart. При этом будет выдано 60-секундное ожидание и пойдет обратный отсчет. Интересно, что после остановки окно консоли сервера закрылось, а вновь не открылось.

Ниже приведу несколько полезных команд, которые нужно вводить уже в консоли в клиенте (F1), войдя под администратором. Полный список команд есть можно найти здесь.

  • Например, очень полезно установить время командой: env.time 8 (установит 8 утра)
  • Вызвать вертолет: heli.call или heli.calltome (прилетит к вам)
  • Или выдать себе предмет:  inventory.give wood 1000 (выдаст 1К дерева)

Список предметов с их идентификаторами можно найти здесь.

Важно, на данном сайте не везде правильно указаны идентификаторы - наследование признаков ведется через точку (не подчеркивание), то есть чтобы выдать себе разрывные патроны нужно прописать:

inventory.give ammo.rifle.explosive  64

Дальше вы уже сами разберетесь, что вам нужно и в каких количествах. А я на этом прощаюсь с вами и желаю вам прибыльных рейдов и отсутствия читеров. Надеюсь, что статья получилась достаточно всеобъемлющей и чем-то была для вас полезна.

На всякий пожарный прикладываю скрины установки, может что будет понятнее:

  • Click to enlarge image deb01.png
  • Click to enlarge image deb02.png
  • Click to enlarge image deb03.png
  • Click to enlarge image deb04.png
  • Click to enlarge image deb05.png
  • Click to enlarge image deb06.png
  • Click to enlarge image deb07.png
  • Click to enlarge image win01.png
  • Click to enlarge image win02.png
  • Click to enlarge image win03.png
  • Click to enlarge image win04.png
  • Click to enlarge image win05.png
  •  
Прицел для 58
Делаем полезные вещи
Прицел для 24
Детская песочница своими руками: фото и идеи
Прицел для 67
Как сделать воду в аквариуме прозрачной
Прицел для 33
Как сшить юбку из фатина Мастер-классы на
Прицел для 33
Коляска из картона
Прицел для 53
Крупный интернет магазин
Прицел для 97
Лечение основных проявлений алкоголизма: m
Прицел для 22
Мыловарение в домашних условиях для начинающих, рецепты
Прицел для 6
Ольга - Красивые Открытки с
Прицел для 55
Поделки своими руками для дома - Так Просто!
Прицел для 33
Прицел для 50
Прицел для 6
Прицел для 64
Прицел для 77
Прицел для 81
Прицел для 69
Прицел для 15