Выделенный сервер (dedicated server) - это специальное приложение, позволяющее создать для игры собственный сервер с нужными настройками и нужной модификацией, который будет использоваться в игре вами и другими пользователями. Он находится в свободном доступе для всех пользователей, владеюших игрой. В этой статье вы узнаете как настроить и запустить такой сервер для Bannerlord. Статья частично руководствуется описанным в официальном руководстве разработчика, а также рекомендациями с канала That Horns Guy.
1. В разделе инструментов в Steam найдите приложение Mount & Blade II: Dedicated Server и установите его. Если вы не видите приложение в списке в Steam, перезагрузите его.
2. Запустите игру (не сервер) в сетевом режиме
3. В лобби (на стартовом экране, не в лаунчере) откройте консоль путем нажатия сочетания клавиш ALT + ~ (тильда)
4. В окне консоли введите команду customserver.gettoken и нажмите enter
5. Зайдите в директорию Documents\Mount & Blade II Bannerlord\Tokens, находящуюся в папке "Мои документы" (начиная с Windows 7, эта папка заменена на директорию с именем вашей учетной записи в системе)
8. В этой директории найдите файл DedicatedCustomServerAuthToken.txt - это и есть ваш токен
9. Для всех дальнейших действий с файлами сервера необходимо перейти в его директорию на диске. Самый быстрый способ это сделать - через контекстное меню Steam.
После запуска сервера через скаченное приложение, у вас откроется командная строка для введения команд. После ввода команды ее необходимо подтвердить нажатием клавиши Enter. Полный список всех команд можно получить путем введения команды list.
братите внимание на то, что в некоторых случаях данная команда, как и все другие, не отображается при вводе, но после нажатия enter она будет выполнена, если введена правильно.
Основные команды:
ServerName - название сервера
GameType - игровой режим
GamePassword - пароль для входа на сервер
set_port - вручную указать порт для использования сервера
AdminPassword - пароль администратора сервера
start_game - запуск сервера (сервер становится видимым в списке серверов, люди могут присоединиться на него, но игра не начнется)
start_mission - запуск миссии (на сервере запускается карта, люди могут играть)
end_mission - остановка миссии без остановки сервера
start_game_and_mission - быстрый запуск, сочетающий в себе обе предыдущих команды
dedicatedcustomserverconfigfile [имяфайла] - использовать для сервера собственный конфигурационный файл
dedicatedcustomserverauthtoken [содержимоетокена] - сохраняет данные токена в память игры таким образом, что наличие файла с ним в папке с документами больше не требуется
DisableErrorReporting - отключает уведомления об ошибках
LogOutputPath [путь] -включает ведение лог-файла, который будет располагаться по указанному адресу на вашем компьютере
Map - устанавливает стартовую карту
set_automated_battle_count [цифра] - указывает количество миссий в сутки до выключения сервера. Для включения бесконечного режима введите -1
RoundTotal [цифра] - устанавливает количество раундов на каждой карте
CultureTeam1 и CultureTeam2 [название нации] - устанавливает нации для стартовой карты
RoundPreparationTimeLimit [цифра] - время для разминки команд
MaxNumberOfPlayers [цифра] - максимальное количество игроков на сервере
AutoTeamBalanceThreshold [0 или 1] - включает или отключает автоматическое балансирование команд
AllowPollsToKickPlayers [False или True] - отключает или включает возможность голосовать за исключение игроков
AllowPollsToBanPlayers [False или True] - отключает или включает возможност голосовать за бан игроков на сервере
AllowPollsToChangeMaps [False или True] - отключает или включает возможность голосовать за смену карт
NumberOfBotsTeam1 и NumberOfBotsTeam2 [цифра] - устанавливает количество ботов в каждой из команд
Say - отправить в чат сервера сообщение
Квадратные скобки не вводятся - вместо них сразу указывается нужный аргумент
Базовый код запуска сервера через консоль выглядит так (каждая команда вводится по очереди)
В нативной версии игры для команды используются следующие режимы: TeamDeathmatch, Skirmish, Siege, Captain, Battle, Duel. Эти же режимы необходимо прописывать в случае запуска через консоль в команде GameType. Доступные для указания нации: sturgia, battania, khuzait, vlandia, empire, aserai.
Вместо настройки через консоль, можно заранее подготовить конфигурационный файл с нужными настройками. Примеры конфигурационных файлов находятся в основной директории игры (не в Документах) - в папке Mount & Blade II Dedicated Server\Modules\Native, например, ds_config_big_sample_team_deathmatch.txt или ds_config_sample_battle.txt. Запуск нужного конфига осуществляется через команду dedicatedcustomserverconfigfile [имяфайла], при этом указать можно только тот конфиг, который находится в папке активного (используемого) модуля.
Все команды в таком файле идентичны командам, вводимым в консоли.
Для быстрого запуска сервера с нужным конфигом без введения команды в консоль можно использовать bat файл. В этом случае нужно будет лишь запустить этот файл. Для этого необходимо в папке bin\Win64_Shipping_Server, находящейся в директории сервера, создать файл с любым названием и расширением bat, например, start_dm.bat, и следующим содержанием:
название_конфига.txt - это название соответствующего файла в директории Modules/Native.
Как на стороне пользователя, так и на стороне сервера может быть подключен служебный модуль DedicatedCustomServerHelper, позволяющий задействовать дополнительные ресурсы и инструменты. В случае использования сервером такого модуля, он должен быть включен и у пользователя, в противном случае тот не сможет зайти на сервер.
Одной из возможностью данного модуля является подключение дополнительных карт. Для этого необходимо поместить их в директорию SceneObj, находящуюся внутри папки DedicatedCustomServerHelper, а затем зарегистрировать на сервере посредством команды add_map_to_automated_battle_pool. На стороне пользователя, в свою очередь, в этом случае появится панель скачивания карт.
Кроме того, для использования команд чата для управления сервером, вы можете использовать пользовательский саб-модуль ChatCommands
Панель позволяет настроить и запустить сервер без использования консоли или конфигурационных файлов. Она включена в набор Helper Modules и для ее работы нужен открытый по протоколу TCP порт 7210. Для запуска панели необходимо скопировать папку wwwroot из bin\Win64_Shipping_Client в \bin\Win64_Shipping_Server (все папки находятся в директории выделенного сервера, не игры).
Подготовка сервера к запуску
1. В разделе инструментов в Steam найдите приложение Mount & Blade II: Dedicated Server и установите его. Если вы не видите приложение в списке в Steam, перезагрузите его.
2. Запустите игру (не сервер) в сетевом режиме
3. В лобби (на стартовом экране, не в лаунчере) откройте консоль путем нажатия сочетания клавиш ALT + ~ (тильда)
4. В окне консоли введите команду customserver.gettoken и нажмите enter
5. Зайдите в директорию Documents\Mount & Blade II Bannerlord\Tokens, находящуюся в папке "Мои документы" (начиная с Windows 7, эта папка заменена на директорию с именем вашей учетной записи в системе)
8. В этой директории найдите файл DedicatedCustomServerAuthToken.txt - это и есть ваш токен
9. Для всех дальнейших действий с файлами сервера необходимо перейти в его директорию на диске. Самый быстрый способ это сделать - через контекстное меню Steam.
Важная деталь: Сгенерированный токен можно использовать не только на том компьютере, где он был создан, можно скопировать его на другой компьютер или в другую учетную запись, но в любом случае его можно использовать не более 3 месяцев, после чего токен нужно сгенерировать заново. Старайтесь не выкладывать этот токен в публичный доступ, так как его использование может скомпрометировать вашу учетную запись.
Администрирование сервера
После запуска сервера через скаченное приложение, у вас откроется командная строка для введения команд. После ввода команды ее необходимо подтвердить нажатием клавиши Enter. Полный список всех команд можно получить путем введения команды list.
братите внимание на то, что в некоторых случаях данная команда, как и все другие, не отображается при вводе, но после нажатия enter она будет выполнена, если введена правильно.
Основные команды:
ServerName - название сервера
GameType - игровой режим
GamePassword - пароль для входа на сервер
set_port - вручную указать порт для использования сервера
AdminPassword - пароль администратора сервера
start_game - запуск сервера (сервер становится видимым в списке серверов, люди могут присоединиться на него, но игра не начнется)
start_mission - запуск миссии (на сервере запускается карта, люди могут играть)
end_mission - остановка миссии без остановки сервера
start_game_and_mission - быстрый запуск, сочетающий в себе обе предыдущих команды
dedicatedcustomserverconfigfile [имяфайла] - использовать для сервера собственный конфигурационный файл
dedicatedcustomserverauthtoken [содержимоетокена] - сохраняет данные токена в память игры таким образом, что наличие файла с ним в папке с документами больше не требуется
DisableErrorReporting - отключает уведомления об ошибках
LogOutputPath [путь] -включает ведение лог-файла, который будет располагаться по указанному адресу на вашем компьютере
Map - устанавливает стартовую карту
set_automated_battle_count [цифра] - указывает количество миссий в сутки до выключения сервера. Для включения бесконечного режима введите -1
RoundTotal [цифра] - устанавливает количество раундов на каждой карте
CultureTeam1 и CultureTeam2 [название нации] - устанавливает нации для стартовой карты
RoundPreparationTimeLimit [цифра] - время для разминки команд
MaxNumberOfPlayers [цифра] - максимальное количество игроков на сервере
AutoTeamBalanceThreshold [0 или 1] - включает или отключает автоматическое балансирование команд
AllowPollsToKickPlayers [False или True] - отключает или включает возможность голосовать за исключение игроков
AllowPollsToBanPlayers [False или True] - отключает или включает возможност голосовать за бан игроков на сервере
AllowPollsToChangeMaps [False или True] - отключает или включает возможность голосовать за смену карт
NumberOfBotsTeam1 и NumberOfBotsTeam2 [цифра] - устанавливает количество ботов в каждой из команд
Say - отправить в чат сервера сообщение
Квадратные скобки не вводятся - вместо них сразу указывается нужный аргумент
Базовый код запуска сервера через консоль выглядит так (каждая команда вводится по очереди)
Код: [Выделить]
ServerName Custom Dedicated Beta Test
GameType TeamDeathmatch
Map mp_tdm_map_003
CultureTeam1 khuzait
CultureTeam2 vlandia
MaxNumberOfPlayers 20
start_game
start_mission
В нативной версии игры для команды используются следующие режимы: TeamDeathmatch, Skirmish, Siege, Captain, Battle, Duel. Эти же режимы необходимо прописывать в случае запуска через консоль в команде GameType. Доступные для указания нации: sturgia, battania, khuzait, vlandia, empire, aserai.
Небольшой хинт. Для ручной смены карты необходимо ввести команду end_mission, затем команду Map, затем опять start_mission
Конфигурационный файл и быстрый запуск
Вместо настройки через консоль, можно заранее подготовить конфигурационный файл с нужными настройками. Примеры конфигурационных файлов находятся в основной директории игры (не в Документах) - в папке Mount & Blade II Dedicated Server\Modules\Native, например, ds_config_big_sample_team_deathmatch.txt или ds_config_sample_battle.txt. Запуск нужного конфига осуществляется через команду dedicatedcustomserverconfigfile [имяфайла], при этом указать можно только тот конфиг, который находится в папке активного (используемого) модуля.
Все команды в таком файле идентичны командам, вводимым в консоли.
Для быстрого запуска сервера с нужным конфигом без введения команды в консоль можно использовать bat файл. В этом случае нужно будет лишь запустить этот файл. Для этого необходимо в папке bin\Win64_Shipping_Server, находящейся в директории сервера, создать файл с любым названием и расширением bat, например, start_dm.bat, и следующим содержанием:
Код: [Выделить]
.\DedicatedCustomServer.Starter.exe /название_конфига.txt _MODULES_*Native*Multiplayer*DedicatedCustomServerHelper*_MODULES_
название_конфига.txt - это название соответствующего файла в директории Modules/Native.
Подключение дополнительных ресурсов
Как на стороне пользователя, так и на стороне сервера может быть подключен служебный модуль DedicatedCustomServerHelper, позволяющий задействовать дополнительные ресурсы и инструменты. В случае использования сервером такого модуля, он должен быть включен и у пользователя, в противном случае тот не сможет зайти на сервер.
Одной из возможностью данного модуля является подключение дополнительных карт. Для этого необходимо поместить их в директорию SceneObj, находящуюся внутри папки DedicatedCustomServerHelper, а затем зарегистрировать на сервере посредством команды add_map_to_automated_battle_pool. На стороне пользователя, в свою очередь, в этом случае появится панель скачивания карт.
Кроме того, для использования команд чата для управления сервером, вы можете использовать пользовательский саб-модуль ChatCommands
Web панель
Панель позволяет настроить и запустить сервер без использования консоли или конфигурационных файлов. Она включена в набор Helper Modules и для ее работы нужен открытый по протоколу TCP порт 7210. Для запуска панели необходимо скопировать папку wwwroot из bin\Win64_Shipping_Client в \bin\Win64_Shipping_Server (все папки находятся в директории выделенного сервера, не игры).