Содержание Скрыть
- 1 Введение и предварительные условия
- 2 Про редактор vi
- 3 Команды
- 4 Требования - предварительная установка
- 5 Установка steamcmd
- 6 Установка игрового сервера
- 7 Запуск и настройка игрового сервера
- 8 Конфигурация (Настройки сервера)
- 9 Использование systemd для управления сервером
- 10 Настройка брандмауэра
- 11 Обновление игры
В настоящее время доступна только версия V Rising Server для Windows. Однако есть возможность запустить сервер на системе Linux с помощью wine.
Сразу после того, как я купил эту игру и немного поиграл в одиночную игру, мне захотелось поиграть вместе с друзьями.
И поскольку в моем распоряжении уже был VPS (с установленной CentOS), я подумал, почему бы не использовать его.
Я прочитал официальное руководство и обнаружил, что существует только серверный exe-шник для windows.
Я вспомнил другие руководства, в которых рассказывалось, как использовать wine для запуска исполняемых файлов windows, и решил попробовать провернуть с v-rising, и все получилось.
Итак, вот мое руководство о том, как это сделать. Как уже было сказано в заголовке, я делал это на системе CentOS, но, думаю, в принципе это решение будет работать и на других дистрибутивах Linux.
Если вы не хотите себя мучить, у нас есть подробное руководство по запуску сервера на windows/windows server Подробный гайд: Как установить сервер v-rising и все доступные консольные команды администратора
Я постарался сделать это руководство понятным для всех.
Единственное, что вам нужно знать, это как пользоваться терминалом и как редактировать файлы. CentOS комплектуется текстовым редактором vi, который можно использовать для работы с этим руководством, но объяснение того, как использовать vi, не является частью этого руководства.
В этом руководстве команды начинаются с $, # или >. Команды, начинающиеся с #, должны выполняться при входе в систему от имени root или с помощью sudo. Команды с $ могут быть выполнены обычным пользователем, а команды с > - это команды для steamcmd.
Для запуска сервера нам понадобятся wine и xvfb.
Самый простой способ установить wine - использовать репозиторий EPEL, поэтому мы добавим его следующим образом:
Затем установите wine и xvfb:
Прежде чем устанавливать steamcmd или сервер, необходимо создать пользователя, который будет использоваться для запуска steamcmd, а затем и самого игрового сервера.
Создайте пользователя и войдите в систему под этим именем:
Затем мы переходим в домашний каталог нового пользователя и создаем директорию, в которую будем устанавливать steamcmd, и еще одну директорию для игрового сервера:
Теперь мы загрузим и извлечем steamcmd:
Запустим steamcmd с помощью скрипта, который был извлечен на предыдущем шаге:
При первом запуске steamcmd потребуется некоторое время для загрузки обновлений.
После обновления мы можем использовать steamcmd и в качестве первого шага указать ранее созданный каталог в качестве каталога установки игры:
Перед загрузкой файлов сервера нам нужно войти в steam, но мы можем использовать анонимный вход:
Идентификатор приложения для сервера V Rising - 1829350, поэтому мы можем установить сервер следующим образом:
После установки сервера введите:
Чтобы выйти из steamcmd.
Перейдите в каталог, в который мы установили сервер:
А затем запустите сервер следующим образом:
Это запустит сервер и создаст сохранение игры в директории, которую мы указали в предыдущей команде в качестве пути к постоянным данным, в данном случае в папке save-data.
Подождите не много, а затем снова закройте сервер, нажав Ctrl-C.
Создайте папку Settings внутри каталога save-data:
Теперь мы скопируем настройки по умолчанию в эту новую директорию:
Папка Settings теперь содержит два конфигурационных файла:
Для редактирования настроек в этих файлах вы можете использовать удобный для вас текстовый редактор.
Теперь мы можем использовать команду, которую мы использовали раньше для запуска сервера, но это потребует от нас постоянно держать терминал, который мы используем, открытым для поддержания сервера в рабочем состоянии.
Вместо этого мы воспользуемся systemd, чтобы настроить сервер как службу, работающую в фоновом режиме.
Чтобы упростить задачу, сначала создадим shell-скрипт для запуска сервера.
Создайте новый файл с помощью выбранного вами текстового редактора со следующим содержанием:
Сохраните файл под именем run_server.sh в директории игрового сервера.
С помощью этой команды превратите файл в excutable:
Это все, что нам нужно сделать под пользователем steam. Теперь мы можем переключиться обратно на пользователя с привилегиями root, используя:
Создайте новый файл для службы systemd со следующим содержимым:
И сохраните файл под именем:
Теперь мы можем использовать systemctl для запуска и остановки сервера. Чтобы запустить сервер, используйте:
Если мы хотим остановить сервер, мы можем использовать:
Мы также можем проверить, запущен ли процесс:
Если вы не изменили это в ServerHostSettings.json, игра использует udp-порты 9876 и 9877.
Добавьте правила для этих двух портов в брандмауэр:
Затем мы сохраняем новые правила, чтобы порт оставался открытым даже после перезагрузки, и перезагружаем брандмауэр:
Обновить игру очень просто. Сначала выключите сервер и, как и при установке игры, войдите под пользователем, которого мы создали для steamcmd, и запустите steamcmd:
Войдите в анонимный профиль steam, обновите игру, дождитесь окончания обновления и закройте steamcmd:
Игра обновлена, и мы можем снова запустить сервер:
Собственно это все.
Данный обзор создан для Стим Куратора, подпишись!
А также зарегистрируйся у нас на сайте, участвуй в обсуждениях, пиши свои обзоры и не пропускай новые материалы.
Введение и предварительные условия
Сразу после того, как я купил эту игру и немного поиграл в одиночную игру, мне захотелось поиграть вместе с друзьями.
И поскольку в моем распоряжении уже был VPS (с установленной CentOS), я подумал, почему бы не использовать его.
Я прочитал официальное руководство и обнаружил, что существует только серверный exe-шник для windows.
Я вспомнил другие руководства, в которых рассказывалось, как использовать wine для запуска исполняемых файлов windows, и решил попробовать провернуть с v-rising, и все получилось.
Итак, вот мое руководство о том, как это сделать. Как уже было сказано в заголовке, я делал это на системе CentOS, но, думаю, в принципе это решение будет работать и на других дистрибутивах Linux.
Если вы не хотите себя мучить, у нас есть подробное руководство по запуску сервера на windows/windows server Подробный гайд: Как установить сервер v-rising и все доступные консольные команды администратора
Про редактор vi
Я постарался сделать это руководство понятным для всех.
Единственное, что вам нужно знать, это как пользоваться терминалом и как редактировать файлы. CentOS комплектуется текстовым редактором vi, который можно использовать для работы с этим руководством, но объяснение того, как использовать vi, не является частью этого руководства.
Команды
В этом руководстве команды начинаются с $, # или >. Команды, начинающиеся с #, должны выполняться при входе в систему от имени root или с помощью sudo. Команды с $ могут быть выполнены обычным пользователем, а команды с > - это команды для steamcmd.
$, #, > не являются частью фактических команд.
Требования - предварительная установка
Для запуска сервера нам понадобятся wine и xvfb.
- Wine используется для выполнения исполняемых файлов Windows в LInux,
- Xvfb мы будем использовать для создания виртуального монитора, чтобы не иметь реального монитора, подключенного к серверу.
Код:
# yum install glibc.i686 libstdc++.i686 -y
Самый простой способ установить wine - использовать репозиторий EPEL, поэтому мы добавим его следующим образом:
Код:
# yum install epel-release -y
Затем установите wine и xvfb:
Код:
# yum install wine -y
# yum install xorg-x11-server-Xvfb -y
Установка steamcmd
Прежде чем устанавливать steamcmd или сервер, необходимо создать пользователя, который будет использоваться для запуска steamcmd, а затем и самого игрового сервера.
Я назову этого пользователя steam, но вы можете выбрать любое имя по своему усмотрению.Использование пользователя root для steamcmd или игрового сервера - это риск для безопасности.
Создайте пользователя и войдите в систему под этим именем:
Код:
# useradd steam
# su steam
Затем мы переходим в домашний каталог нового пользователя и создаем директорию, в которую будем устанавливать steamcmd, и еще одну директорию для игрового сервера:
Код:
$ cd
$ mkdir steamcmd
$ cd steamcmd
$ mkdir VRising
Теперь мы загрузим и извлечем steamcmd:
Код:
$ curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Установка игрового сервера
Запустим steamcmd с помощью скрипта, который был извлечен на предыдущем шаге:
Код:
$ ./steamcmd.sh
При первом запуске steamcmd потребуется некоторое время для загрузки обновлений.
После обновления мы можем использовать steamcmd и в качестве первого шага указать ранее созданный каталог в качестве каталога установки игры:
Код:
> force_install_dir VRising
Перед загрузкой файлов сервера нам нужно войти в steam, но мы можем использовать анонимный вход:
Код:
> login anonymous
Идентификатор приложения для сервера V Rising - 1829350, поэтому мы можем установить сервер следующим образом:
Код:
> app_update 1829350
После установки сервера введите:
Код:
> quit
Чтобы выйти из steamcmd.
Запуск и настройка игрового сервера
Перейдите в каталог, в который мы установили сервер:
Код:
$ cd VRising
А затем запустите сервер следующим образом:
Код:
$ export WINEARCH=win64
$ xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine VRisingServer.exe -persistentDataPath ./save-data -logFile server.log
Это запустит сервер и создаст сохранение игры в директории, которую мы указали в предыдущей команде в качестве пути к постоянным данным, в данном случае в папке save-data.
Подождите не много, а затем снова закройте сервер, нажав Ctrl-C.
Конфигурация (Настройки сервера)
Создайте папку Settings внутри каталога save-data:
Код:
$ mkdir save-data/Settings
Теперь мы скопируем настройки по умолчанию в эту новую директорию:
Код:
$ cp VRisingServer_Data/StreamingAssets/Settings/*.json save-data/Settings
Папка Settings теперь содержит два конфигурационных файла:
- ServerHostSettings.json для настроек хоста, таких как имя сервера, пароль, порты и т. д.,
- ServerGametSettings.json для настроек игры, таких как скорость крафтинга, множители урона и т. д.
Для редактирования настроек в этих файлах вы можете использовать удобный для вас текстовый редактор.
Использование systemd для управления сервером
Теперь мы можем использовать команду, которую мы использовали раньше для запуска сервера, но это потребует от нас постоянно держать терминал, который мы используем, открытым для поддержания сервера в рабочем состоянии.
Вместо этого мы воспользуемся systemd, чтобы настроить сервер как службу, работающую в фоновом режиме.
Чтобы упростить задачу, сначала создадим shell-скрипт для запуска сервера.
Создайте новый файл с помощью выбранного вами текстового редактора со следующим содержанием:
Код:
#!/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 в директории игрового сервера.
С помощью этой команды превратите файл в excutable:
Код:
$ 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
Собственно это все.
Данный обзор создан для Стим Куратора, подпишись!
А также зарегистрируйся у нас на сайте, участвуй в обсуждениях, пиши свои обзоры и не пропускай новые материалы.