Создание и настройка игрового сервера на виртуальной машине V Rising

V Rising

В данном руководстве мы разберем как создать игровой сервер на VDS или выделенном сервере.

Выбор хостинга

Для начало, выбираем надежного хостера советую этого.

1. Регистрируемся.

2. Выбираем тариф.

Минимальная характеристика виртуального сервера для игры V Rising.

  • Тариф: Medium
  • Количество потоков: 2
  • Оперативной памяти: 4 Gb
  • Места на диске: 10 Gb

3. Получаем данные от хостинга.

Первичная настройка сервера

В настоящее время доступна только версия V Rising Server для Windows, но можно создать сервер используя CentOS на linux.

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

В этом руководстве команды начинаются с $, # или >. Команды, начинающиеся с #, должны выполняться при входе в систему как root или с использованием sudo. Команды с $ могут быть выполнены обычным пользователем, а команды с > являются командами для steamcmd. $, #, > не являются частью настоящих команд.

PuTTY

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

1. Скачиваем и устанавливаем программу PuTTY себе на компьютер, что бы подключиться к серверу.

  • Запускаем программу, открываем вкладку Window, переходим в Translation и в меню Remote character set выбираем UTF-8.
  • Возвращаемся во вкладку Session.
  • В Host Name указываем IP адрес вашего сервера, порт 22, ниже в Saved Sessions придумайте имя для подключения и нажмите на кнопку Save.
  • Выделяем название сервер и нажимаем на кнопку Open.
  • У вас откроется черное окно терминала в котором вам потребуется указать логин и пароль от вашего сервера.

2. Обновление операционной системы. Данный процесс займет продолжительное время и будет запрашивать подтверждения действий.

yum update

3. Установка кодировки UTF-8 в операционной системе.

Установка
localectl set-locale LANG=en_US.UTF-8 Проверка localectl status

4. Установка дополнительных библиотек, при использование 64 битной операционной системы которые потребуются для установки Steamcmd

yum install glibc.i686 libstdc++.i686
yum install glibc libstdc++ ncurses-libs

 Перезапускаем сервер

5. Установка дополнительных программ.

  • Установка текстового редактора Nano
yum install nano Устанавливаем редактор Nano по умолчанию echo 'export EDITOR=nano' >> ~/.bashrc

Для запуска сервера еще нам понадобятся:

1.Wine — используется для запуска исполняемых файлов Windows в LInux

2. xvfb- для создания виртуального монитора, поэтому нам не нужно подключать реальный монитор к серверу? поэтому нам не нужно подключать реальный монитор к серверу.

Самый простой способ установить wine — использовать репозиторий EPEL, поэтому мы добавляем его следующим образом:

# yum install epel-release -y

Затем для установки wine и xvfb:

# yum install wine -y
# yum install xorg-x11-server-Xvfb -y

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

1. Создаем нового пользователя с паролем, например gameserver.

Все последующие шаги выполняются под созданным пользователем. Выйти из него можно командой ‘exit’

useradd gameserver /Создаем домашнюю директорию

passwd gameserver qwerty /Добавляем пароль, попросит указать пароль дважды

2. Подключаемся под нового пользователя

su - gameserver -l

Устанавливаем редактор Nano по умолчанию

echo 'export EDITOR=nano' >> ~/.bashrc

3. Создаем и переходим в папку, куда будем загружать steamcmd

mkdir steamcmd
cd steamcmd

4. Скачиваем архив steamcmd и разархивируем его

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz

5. Запускаем steamcmd.sh.

Важно: нужно находиться в папке steamcmd.

./steamcmd.sh

6. Загрузка и установка сервера

Указываем логин, аноним

login anonymous

Указываем путь куда будет загружен сервер игры V rising

Пример расположения: /home/gameserver/steamcmd/vrising/
force_install_dir ./vrising/

Загружаем сам сервер

app_update 1829350

Запуск обновления сервера или проверка на целостность файлов

app_update 1829350 validate

Запуск и настройка игрового сервера

Переходим в каталог, куда мы установили сервер:

$ cd VRising

Затем запускаем сервер следующим образом:

$ export WINEARCH=win64 $ xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine VRisingServer.exe -persistentDataPath ./save-data -logFile server.log

Это запустит сервер и создаст сохраненную игру в каталоге, который мы указали в предыдущей команде в качестве постоянного пути к данным, в данном случае это папка с данными для сохранения. Подождите немного, а затем снова закройте сервер, нажав Ctrl-C.

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

Создайте папку Settings внутри каталога save-data:

$ mkdir save-data/Settings

Теперь мы копируем настройки по умолчанию в этот новый каталог:

$ cp VRisingServer_Data/StreamingAssets/Settings/*.json save-data/Settings

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

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

Разбираемся с настройками ServerHostSettings.json

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

ПараметрыПримерОписание
Name«MakeFrag.ru server»Имя сервера
Description«Сервер для игроков сервера makefrag.ru»

Краткое описание назначения сервера, правила, сообщение дня

Port27015UDP-порт для игрового трафика
QueryPort27016Порт UDP для функций списка серверов Steam
MaxConnectedUsers10Максимальное количество одновременных игроков на сервере
MaxConnectedAdmins4Максимальное количество администраторов, чтобы разрешить подключение, даже когда сервер заполнен
SaveName«world1»Имя сохраняемого файла/директории
Password«SuperSecret»Установите пароль или оставьте пустым
ListOnMasterServertrueУстановите значение true, чтобы указать в списке серверов, в противном случае установите значение false.
AutoSaveCount40Количество автосохранений, которые нужно сохранить
AutoSaveInterval120Интервал в секундах между каждым автоматическим сохранением
GameSettingsPreset«StandardPvP»Имя предустановки GameSettings, найденной в папке GameSettingPresets.

Разбираемся с настройками ServerGameSettings.json

  • «GameModeType» : выберите PvP или PvE по желанию.
  • «CanLootEnemyContainers» : установите значение true, чтобы позволить игрокам грабить контейнеры вражеских игроков.
  • «BloodBoundEquipment» : значение true позволяет вам сохранить свои инструменты и носимые устройства после смерти.
  • «ClanSize» : определяет максимальное количество игроков в клане.
  • «SunDamageModifier» : определяет количество урона, которое солнечный свет наносит игрокам. По умолчанию 1.
  • «CastleDecayRateModifier» : определяет скорость, с которой происходит разрушение сердца замка .
  • «DayDurationInSeconds» : как долго в секундах длится полный цикл дня/ночи. По умолчанию 1080.
  • «CastleLimit» : определяет, сколько сердец замка доступно каждому игроку для размещения. По умолчанию 2.
  • «VSPlayerWeekdayTime» и «VSPlayerWeekendTime» : определяют время суток, когда игроки могут атаковать других игроков на PvP-серверах.
  • «VSCastleWeekdayTime» и «VSCastleWeekendTime» : определяют время суток, когда игроки могут совершать набеги на замки других игроков на PvP-серверах.

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

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

Чтобы упростить задачу, мы сначала создадим сценарий оболочки для запуска сервера.

Создайте новый файл с помощью текстового редактора по вашему выбору со следующим содержимым:

#!/bin/bash export WINEARCH=win64 /usr/bin/xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' /usr/bin/wine VRisingServer.exe -persistentDataPath server1_saves/ -logFile server.log

Сохраните файл как run_server.sh в каталоге игрового сервера.

Сделайте файл исполняемым с помощью этой команды:

$ chmod ug+x run_server.sh

Это все, что нам нужно сделать как пользователю Steam. Теперь мы можем переключиться обратно на пользователя с привилегиями root, используя $ exit Создайте новый файл для службы systemd со следующим содержимым:

[Unit]
After=network.target

[Service]
User=steam
Group=steam
WorkingDirectory=/home/steam/steamcmd/VRising
ExecStart=/home/steam/steamcmd/VRising/run_server.sh

[Install]
WantedBy=multi-user.target

и сохраните файл как

/etc/systemd/system/VRising.service

Теперь мы можем использовать systemctl для запуска и остановки сервера. Для запуска сервера используйте:

# systemctl start VRising

Если мы хотим остановить сервер, мы можем использовать:

# systemctl stop VRising

Мы также можем проверить, запущен ли процесс:

# systemctl status VRising

Обратите внимание, что в случае сбоя сервера это может по-прежнему показывать, что процесс активен, потому что произошел сбой только серверного процесса, но wine все еще работает.

Настройка брандмауэра

Теперь, когда мы запустили сервер с помощью systemd, осталось только настроить брандмауэр.
Если вы не изменили это в ServerHostSettings.json, игра использует порты udp 9876 и 9877.
Добавьте правила для этих двух портов в брандмауэр:

# firewall-cmd --add-port=9876/udp
# firewall-cmd --add-port=9877/udp

Затем мы сохраняем новые правила, чтобы порт оставался открытым даже после перезапуска, и перезагружаем брандмауэр

# firewall-cmd --runtime-to-permanent
# firewall-cmd --reload

Обновление игры на сервере

Перед данным мероприятием, советую сделать бэкап.

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

Обновление простое. Сначала выключите сервер и так же, как при установке игры, войдите под пользователем, которого мы создали для steamcmd, и запустите steamcmd:

# systemctl stop VRising
# su steam
$ cd ~/steamcmd
$. ./steamcmd

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

login anonymous
app_update 1829350
quit

Теперь игра обновлена, и мы можем снова запустить сервер.

# systemctl start VRising

Оцените статью
( 1 оценка, среднее 5 из 5 )
Поделиться с друзьями
Добавить комментарий