Пример использования Wine и Proton для запуска игры и сервера Conan Exiles.

22. марта 2020 Linux, Wine 0

В данной заметке рассмотрен практический пример использования Wine для запуска Windows-программ на Linux.

С базовыми принципами использования Wine можно ознакомиться здесь: https://noostyche.ru/blog/2020/04/30/ispolzovanie-wine-dlya-zapuska-windows-programm-v-linux/

Рассматриваемая игра — Conan Exiles. Игра создана на базе движка Unreal Engine 4, который довольно хорошо работает на Wine/Proton. Игра и сервер установлены из Steam. Игра будет запускаться через Proton, а выделенный сервер через Wine.

 

Установка выделенного сервера.

Сначала необходимо установить выделенный сервер — Conan Exiles Dedicated Server.

Через библиотеку Steam в разделе «Инструменты» найти Conan Exiles Dedicated Server и установить его в желаемое место.

Альтернативный вариант установки. Выполнить команду в терминале:

steam steam://install/443030/

 

Настройка выделенного сервера.

Базовую настройку оптимальнее производить через предлагаемый разработчиками bat-файл под названием StartServer.bat. Файл располагается в корневом каталоге выделенного сервера:

./steamapps/common/Conan Exiles Dedicated Server/StartServer.bat

Редактирование файла можно осуществить любым удобным текстовым редактором.

Первоначально содержимое файла выглядит так:

ConanSandboxServer.exe -log

Официальная wiki с перечислением параметров сервера: https://conanexiles.gamepedia.com/Server_Configuration#General

Итоговая настройка будет выглядеть примерно так:

start ConanSandboxServer.exe -MULTIHOME=192.168.1.2 -GameServerPort=7777 -GameServerQueryPort=7778 -ServerName=ConanNoos -MaxPlayers=40 -nosteam -AdminPassword=MySuperPass! -log

Разбор параметров.

start — команда на выполнение содержимого bat-файла.

ConanSandboxServer.exe — название исполнительного файла выделенного сервера. В обычном случае путь указывать не требуется.

-MULTIHOME=192.168.1.2 — IP-адрес, на котором будет располагаться выделенный сервер. В данном случае это адрес машины в локальной сети для игры по локальной сети. Для возможности подключения к этому серверу из интернета потребуется белый IP или VPN.

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

-GameServerQueryPort=7778 — порт, на который SteamAPI сделает запрос.

-ServerName=ConanNoos — название севера для списка серверов игры. Любое желаемое в рамках допустимых.

-MaxPlayers=40 — максимальное количество игроков, которые могут быть одновременно подключены к серверу. Ранее пределом было 40 человек, а на момент 2020 года, вроде как, этот лимит был поднят до 70.

-nosteam — позволяет запускать множество экземпляров сервера на одной машине. Так же это решает проблему с ошибкой: «Не удалось подключиться к серверу. Неверный уникальный ID!».

-AdminPassword=MySuperPass! — пароль администратора сервера. Хранится в открытом виде. При желании можно настроить непосредственно из игры.

-log — вести список событий в процессе работы севера. Полезно для отладки и контроля за действиями игроков.

 

На этом основную настройку можно закончить и сохранить изменения bat-файла. Настройками для игрового процесса удобнее управлять через настройку сервера непосредственно в игре.

Файл с настройками игрового процесса хранится здесь:

./steamapps/common/Conan Exiles Dedicated Server/ConanSandbox/Saved/Config/WindowsServer/ServerSettings.ini

 

Запуск.

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

Запуск сервера через терминал посредством bat-файла с названием StartServer.bat:

WINEPREFIX='./steamapps/compatdata/443030/pfx' wine start /unix './steamapps/common/Conan Exiles Dedicated Server/StartServer.bat'

Разбор команды.

Примечание: В данном случае пути сокращены для лаконичности записи примера, на деле они будут начинаться от корня.

WINEPREFIX=’./steamapps/compatdata/443030/pfx’ — переменной среды WINEPREFIX передаём путь до префикса Conan Exiles Dedicated Server. Префикс автоматически создаётся Proton при первом запуске Conan Exiles Dedicated Server (включить и выключить).

wine start /unix — с такими параметрами Wine сможет запустить bat-файл.

Далее указывается путь до StartServer.bat, который запустит сервер с указанными в нём параметрами.

При успешном запуске в терминале увидим бегущий список выполняемых операций.

Серверу потребуется около 30 секунд для полного запуска.

После этого можно присоединяться через «Прямое подключение» в клиенте игры.

В рамках данного примера в поле «IP и порт» нужно сделать запись следующего вида:

192.168.1.2:7777

И подтвердить. После некоторых «раздумий» появится загрузочный экран, символизирующий успешный процесс подключения к серверу.

 

Завершение работы.

Работа севера завершается обычным прерыванием Ctrl + C в терминале. При завершении работы сервер сохранит все нужные данные и безопасно выключится. Полное выключение займёт около 30 секунд.

 

База данных с состоянием мира и её резервные копии хранятся в этом каталоге:

./steamapps/common/Conan Exiles Dedicated Server/ConanSandbox/Saved/

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

./steamapps/compatdata/443030/pfx/system.reg

./steamapps/compatdata/443030/pfx/user.reg

 

Таким нехитрым способом можно легко наслаждаться Conan Exiles на Linux.


Добавить комментарий

Ваш адрес email не будет опубликован.