Свой сервер

Выделенный сервер KF2, часть 1 (корейский гайд): порты, конфиг, карты

Эта страница - пересказ первой части корейского гайда по запуску выделенного сервера Killing Floor 2. Автор писал его с опозданием, когда игроков уже стало меньше, а вторая часть о мутаторах и пользовательских серверах идёт отдельно. Другие варианты: страница по настройке сервера на корейском, японский гайд и настройка Workshop.

Введение

В Killing Floor 2 нет официальных серверов и нет «комнат», которые хостит владелец. Многие новички теряются из-за этого. Чтобы играть с другими, нужно установить выделенный сервер, работающий отдельно от клиента игры. В Корее распространены два способа:

  • A. Автоматический открыватель серверов в Discord, который арендует сервер на ограниченное время. Это удобно, но поддерживает только официальные карты и режимы, без пользовательских карт и модов, так что подходит для быстрой игры с друзьями.
  • B. Установка выделенного сервера на свой компьютер - основной способ. Если сервер и игра работают на одном ПК, убедитесь, что железа хватит на оба. Предусмотрите не менее 40 ГБ места, до 70-80 ГБ с картами и модами.

1. Установка сервера

Традиционный способ - SteamCMD, но есть автоустановщик на PowerShell, созданный участником сообщества, который выполняет базовую установку. После установки сервер может не отображаться в браузере серверов. Пройдите по шагам:

  • A. Не виден даже в LAN. Проблема в самом сервере. Проверьте, что он действительно запущен: некоторые заканчивают установку и не запускают bat-файл. Если запущен, но в LAN всё равно не виден, переустановите.
  • B. Виден в LAN, но не в браузере (другие не могут зайти). Это проблема проброса портов, частая у роутеров провайдеров с блокирующим брандмауэром. Запустите portmapper-2.2.1.jar из папки cmd сервера и следуйте руководству по пробросу портов. Добавьте порты (протокол, внешний, внутренний):
ПротоколВнешнийВнутренний
TCP80808080
UDP2056020560
UDP77777777
UDP2701527015
  • C. Всё ещё не работает. Возможно, виноват брандмауэр Windows или антивирус. Удалите антивирус или разрешите запускатель. В панели управления откройте «Система и безопасность», «Брандмауэр Защитника Windows», «Разрешение взаимодействия с приложением», «Изменить параметры», «Разрешить другое приложение» и добавьте KFServer.exe из папки сервера в Binaries\Win64. Если он уже есть в списке, найдите его и включите для частной сети.
  • D-1. Настройте роутер напрямую на его веб-странице. Выполните ipconfig /all в командной строке, откройте IPv4-адрес в браузере и войдите с данными с наклейки роутера. Интерфейс зависит от провайдера.
  • D-2. Если есть основной роутер и второй за ним, сначала пробросьте порты на верхнем, указав нижний роутер, затем на нижнем.
  • E-1. Если ничего не помогло - сдавайтесь.
  • E-2. Если очень нужно, включите DMZ в сетевых настройках роутера с IP вашего ПК. Это почти наверняка сделает сервер доступным, но открывает все порты и небезопасно, поэтому не рекомендуется.

2. Bat-файл запуска

После установки вы увидите bat-файл запуска. Щёлкните правой кнопкой и выберите «Изменить».

Bat-файл запуска

Выделенные части файла запуска.

На скриншоте автора цвета означают:

  • жёлтый: карта по умолчанию при запуске сервера;
  • красный: пароль веб-админки;
  • зелёный: игровой режим (objective, endless или пользовательский; для одного Survival не нужен);
  • синий: сложность (0 Normal, 1 Hard, 2 Suicidal, 3 Hell on Earth);
  • фиолетовый: порты сервера.

Другие полезные параметры: mutator= добавляет режимы и мутаторы, configsubdir= нужен для нескольких серверов, gamelength= задаёт длину волн (0 - 4 волны, 1 - 7, 2 - 10). Разделяйте команды знаком ?; порты и configsubdir ставятся в самом конце, каждый с префиксом -. Остальные позиции свободны, а имя после configsubdir= - любое.

3. Несколько серверов

Нужно только если вы запускаете больше одного сервера. Скопируйте bat-файл в папку сервера и переименуйте (например, Guide01 и Guide02).

Скопированные файлы запуска

Переименованные копии запускателя.

Отредактируйте копию и измените порты: -port должны отличаться минимум на 5, -Queryport - минимум на 50.

Разные порты

Порты, изменённые в копии.

configsubdir важен: без него два сервера смешивают свои конфиги, а с ним у каждого своя папка. Затем откройте PCServer-KFEngine.ini нового сервера и замените Port=7777 на значение -port, а PeerPort=7778 на то же значение плюс 1. Наконец, пробросьте новые порты.

4. PCServer-KFGame.ini

Находится в папке config сервера. Основные внутриигровые настройки:

  • GameDifficulty (0 Normal, 1 Hard, 2 Suicidal, 3 Hell on Earth)
  • MaxSpectators, GamePassword, ServerName
  • KickVotePercentage: доля голосов «за» для кика
  • GameLength (0 - 4 волны, 1 - 7, 2 - 10)
  • GameStartDelay: задержка после готовности всех; VoteTime
  • FriendlyFireScale: в процентах, 1.0 - это 100%
  • bDisableTeamCollision: True - без блокировки друг друга
  • BannerLink: прямая ссылка на PNG 512x256 RGB; ServerMOTD (сообщение по центру); ClanMotto (подпись под баннером); WebsiteLink (ссылка внизу)
  • GameMapCycles: удобнее править из веб-админки

Если название сервера или MOTD на корейском, смените кодировку файла на UTF-16 LE, чтобы текст не искажался.

PCServer-KFGame.ini

Внутриигровые настройки в PCServer-KFGame.ini.

5. Добавление пользовательских карт

Только для тех, кто использует карты Workshop. В KFGame\Config\PCServer-KFEngine.ini найдите список DownloadManagers и добавьте DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload самой верхней строкой. В самом низу добавьте [OnlineSubsystemSteamworks.KFWorkshopSteamworks], а под ним ServerSubscribedWorkshopItems=. Найдите карту в мастерской, скопируйте число после ?id= и вставьте. Добавьте # и заметку, чтобы помнить, что это за карта.

ID Workshop с комментарием

ID Workshop с заметкой после решётки.

Запустите сервер один раз, и он загрузит карты Workshop. Но в голосовании за карту они не появятся, пока их нет в ротации. Откройте веб-админку по адресу ваш-ip:8080 (порт, который вы выбрали), логин admin и ваш админ-пароль, перейдите в MapCycles, перетащите карту и сохраните. Чтобы удалить, наведите курсор на карту в правой панели и нажмите знак запрета.

Ротация карт в веб-админке

Перетаскивание пользовательской карты в ротацию.

Если в MapCycles видны только официальные карты, откройте PCServer-KFGame.ini, скопируйте блок официальной карты и вставьте ниже, затем задайте:

  • bPlayableInSurvival
  • bPlayableInWeekly
  • bPlayableInVsSurvival
  • bPlayableInEndless
  • bPlayableInObjective

Поставьте True только для нужных режимов, остальные удалите. Карта появится в веб-админке.

Копирование записи карты

Скопированная запись карты с флагами доступности.

Заключение

С такой настройкой можно запустить сервер с пользовательскими картами. О мутаторах и тонкой настройке пользовательских серверов автор отсылает ко второй части.

Вопросы и ответы

Зачем KF2 нужен выделенный сервер?
В игре нет серверов-«комнат», а разработчик не предоставляет серверы, поэтому нужно запустить выделенный сервер самому или арендовать.
Какие порты нужно пробросить?
TCP 8080 для веб-админки и UDP 20560, 7777 и 27015.
Сколько места нужно серверу?
Не меньше 40 ГБ, а с пользовательскими картами и модами - до 70-80 ГБ.