Бесплатный VPN

1
1

Недостаточно оценок

Запуск сервера на CentOS Linux

Вскоре после того, как я купил эту игру и некоторое время поиграл в одиночной игре, мне захотелось поиграть вместе с друзьями. И так как в моем распоряжении уже был VPS (с установленной CentOS), я подумал, почему бы и его не использовать.
Итак, я прочитал официальное руководство и обнаружил, что для Windows существует только исполняемый файл сервера. Я вспомнил другие руководства, которые я видел, показывающие, как использовать вино для запуска исполняемых файлов Windows, и я решил попробовать с этой игрой, и это сработало. Итак, вот мое руководство о том, как это сделать.
Как было сказано ранее и в заголовке, я сделал это в системе CentOS 7 (точнее, CentOS 7.9.2009), но я думаю, что это решение в принципе будет работать и в других дистрибутивах Linux.

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

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

Требования

Для запуска сервера нам понадобятся Wine и xvfb. Wine используется для запуска исполняемых файлов Windows в LInux, и мы будем использовать xvfb для создания виртуального монитора, поэтому нам не нужно подключать реальный монитор к серверу.
Нам также нужен steamcmd для загрузки и обновления файлов сервера.
Установите требования steamcmd с помощью:

# yum установить glibc.i686 libstdc++.i686 -y

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

# yum установить epel-release -y

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

# yum установить вино -y # yum установить xorg-x11-server-Xvfb -y

Установка steamcmd

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

# 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» | смола zxvf —

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

Запускаем steamcmd с помощью скрипта, извлеченного на предыдущем шаге:

$ ./steamcmd.sh

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

> force_install_dir VRising

Прежде чем мы загрузим файлы сервера, нам нужно войти в Steam, но мы можем использовать анонимный вход:

> войти анонимно

Идентификатор приложения для сервера V Rising — 1829350, поэтому мы можем установить сервер следующим образом:

> app_update 1829350

После установки сервера введите

> бросить

для выхода из steamcmd.

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

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

$ компакт-диск

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

$ 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 сохранить данные/Настройки

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

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

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

Использование systemd для управления сервером

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

#!/bin/bash export WINEARCH=win64 /usr/bin/xvfb-run —auto-servernum —server-args=»-screen 0 640x480x24:32″ /usr/bin/wine VRisingServer.exe -persistentDataPath save- data/-logФайл server.log

Сохраните файл как run_server.sh в каталоге игрового сервера. Сделайте файл исполняемым с помощью этой команды:

$ chmod ug+x run_server.sh

Это все, что нам нужно сделать как пользователю Steam. Теперь мы можем переключиться обратно на пользователя с привилегиями root, используя

$ выход

Создайте новый файл для службы systemd со следующим содержимым:

[Unit]

После=network.target

[Service]
Пользователь=steam Group=steam WorkingDirectory=/home/steam/steamcmd/VRising ExecStart=/home/steam/steamcmd/VRising/run_server.sh

[Install]
WantedBy=многопользовательская.цель

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

/etc/systemd/system/VRising.service

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

# systemctl запустить VRising

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

# systemctl остановить VRising

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

# статус systemctl VRising

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

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

Теперь, когда мы запустили сервер с помощью 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 остановить VRising # su steam $ cd ~/steamcmd $. ./steamcmd.sh

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

> войти анонимно > app_update 1829350 > выйти

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

# systemctl запустить VRising

Оставьте комментарий

Гайды

Игровые новости