Этот элемент был удален из сообщества, так как он нарушает принципы сообщества и контента Steam. Это видно только вам. Если вы считаете, что ваш предмет был удален по ошибке, обратитесь в службу поддержки Steam.
Этот предмет несовместим с V Rising. Пожалуйста, прочитайте справочную статью, почему этот предмет может не работать в V Rising.
Недостаточно оценок
Вскоре после того, как я купил эту игру и некоторое время поиграл в одиночной игре, мне захотелось поиграть вместе с друзьями. И так как в моем распоряжении уже был 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 с помощью:
Самый простой способ установить вино — использовать репозиторий EPEL, поэтому мы добавляем его следующим образом:
Затем для установки вина и xvfb:
Установка steamcmd
Прежде чем мы установим steamcmd или сервер, мы должны создать пользователя, которого мы будем использовать для запуска steamcmd, а затем и самого игрового сервера. Использование пользователя root для steamcmd или игрового сервера представляет собой угрозу безопасности. Я назову этого пользователя steam, но вы можете выбрать любое имя.
Создайте пользователя и войдите в систему как этот новый пользователь:
Затем мы переходим в домашний каталог нового пользователя и создаем каталог, в который мы установим steamcmd и еще один каталог для игрового сервера:
Теперь скачиваем и извлекаем steamcmd:
Установка игрового сервера
Запускаем steamcmd с помощью скрипта, извлеченного на предыдущем шаге:
Первый запуск steamcmd займет некоторое время и загрузит обновления. После завершения обновления мы можем использовать steamcmd и в качестве первого шага указываем ранее созданный каталог в качестве каталога установки для игры:
Прежде чем мы загрузим файлы сервера, нам нужно войти в Steam, но мы можем использовать анонимный вход:
Идентификатор приложения для сервера V Rising — 1829350, поэтому мы можем установить сервер следующим образом:
После установки сервера введите
для выхода из steamcmd.
Запуск и настройка игрового сервера
Переходим в каталог, куда мы установили сервер:
Затем запустите сервер следующим образом:
Это запустит сервер и создаст сохраненную игру в каталоге, который мы указали в предыдущей команде в качестве постоянного пути к данным, в данном случае это папка с данными для сохранения.
Подождите немного, а затем снова закройте сервер, нажав Ctrl-C.
Создайте папку Settings внутри каталога save-data:
Теперь мы копируем настройки по умолчанию в этот новый каталог:
Папка настроек теперь содержит два файла конфигурации: ServerHostSettings.json для конфигурации хоста, такой как имя сервера, пароль, порты и т. д., и ServerGametSettings.json для игровых настроек, таких как скорость создания, множители урона и т. д.
Вы можете использовать предпочитаемый текстовый редактор для редактирования настроек в этих файлах.
Использование systemd для управления сервером
Теперь мы можем использовать команду, которую мы использовали ранее, для запуска сервера, но это потребует от нас всегда держать терминал, который мы используем, открытым, чтобы поддерживать работу сервера. Вместо этого мы настроим systemd для настройки сервера как службы, работающей в фоновом режиме.
Чтобы упростить задачу, мы сначала создадим сценарий оболочки для запуска сервера. Создайте новый файл с помощью текстового редактора по вашему выбору со следующим содержимым:
Сохраните файл как run_server.sh в каталоге игрового сервера. Сделайте файл исполняемым с помощью этой команды:
Это все, что нам нужно сделать как пользователю Steam. Теперь мы можем переключиться обратно на пользователя с привилегиями root, используя
Создайте новый файл для службы systemd со следующим содержимым:
После=network.target
[Service]
Пользователь=steam Group=steam WorkingDirectory=/home/steam/steamcmd/VRising ExecStart=/home/steam/steamcmd/VRising/run_server.sh
[Install]
WantedBy=многопользовательская.цель
и сохраните файл как
Теперь мы можем использовать systemctl для запуска и остановки сервера. Для запуска сервера используйте:
Если мы хотим остановить сервер, мы можем использовать:
Мы также можем проверить, запущен ли процесс:
Обратите внимание, что в случае сбоя сервера это может по-прежнему показывать, что процесс активен, потому что произошел сбой только серверного процесса, но вино все еще работает.
Настройка брандмауэра
Теперь, когда мы запустили сервер с помощью systemd, осталось только настроить брандмауэр.
Если вы не изменили это в ServerHostSettings.json, игра использует порты udp 9876 и 9877.
Добавьте правила для этих двух портов в брандмауэр:
Затем мы сохраняем новые правила, чтобы порт оставался открытым даже после перезапуска, и перезагружаем брандмауэр:
Обновление игры
Обновление простое. Сначала выключите сервер и так же, как при установке игры, войдите под пользователем, которого мы создали для steamcmd, и запустите steamcmd:
Войдите в анонимный профиль Steam, обновите игру, дождитесь окончания обновления и закройте steamcmd:
Теперь игра обновлена, и мы можем снова запустить сервер.