Killing Floor 2

Killing Floor 2

440 ratings
Создание и настройка сервера
By Indigo
Создание и настройка собственного сервера
   
Award
Favorite
Favorited
Unfavorite
Скачивание дистрибутива
SteamCMD Update Tool Позволит скачивать и обновлять файлы необходымые для работы сервера.
  1. Скачать SteamCMD Update Tool .
  2. Извлечь файл из архива.
    Примечание: Извлекать файл необходимо в отдельную папку не содержащую клиент Steam'а или HLDSUpdateTool
  3. Запустить SteamCmd. Программа автоматически скачает файли необходимые ей для работы.
  4. Войдите в сеть введя:
    login anonymous
    Примечание: Входите только под anonymous, и никогда не пытайтесь входить под своим логином

Скачивание Killing Floor 2 Server
Данный шаг необходимо повторять каждый раз, когда игра получает обновление.
  1. Запустить SteamCmd и войти в сеть.
  2. Задайте папку в которую будет установлен сервер:
    • Полный путь:
      force_install_dir c:\KF2Server\
    • На одну папку "выше" SteamCmd:
      force_install_dir ..\KF2Server\
    • В папку с SteamCmd(лучший вариант):
      force_install_dir .\KF2Server\
  3. Установка/обновление сервера:
    • Установка сервера с "0":
      app_update 232130 validate
    • Проверка обновлений:
      app_update 232130
    • Обновление до бета версии:
      app_update 232130 -beta "branch name"
      Где "branch name" название текущего бета патча.
  4. Для выхода наберите:
    exit

Автоматизация процесса
Есть 2 способа автоматизировать процесс:
  1. Запустить SteamCmd с параметрами:
    SteamCmd +login anonymous +force_install_dir ./KF2Server +app_update 232130 +exit
  2. Написать скрипт и подключить его в качестве параметра запуска, для этого надо:
    • В папке с SteamCmd создать текстовый документ с названием KF2Server.txt.
    • Записать в файл следующие:
      login anonymous force_install_dir ./KF2Server app_update 232130 exit
    • Запустить SteamCmd с параметром:
      SteamCmd +runscript KF2Server.txt
Linux
  1. Установить steamcmd используя команду:
    sudo apt install steamcmd
  2. Создать скрипт со следующим содержанием:
    login anonymous force_install_dir /ПУТЬ/ДО/СЕРВЕРА app_update 232130 validate quit
  3. Запустиь скрипт следующей командой:
    steamcmd +runscript /ПУТЬ/ДО/СКРИПТА.txt

Запуск сервера производится следующей командой:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 kf-bioticslab

Все последующие настройки, не зависимы от ОС.
Требования для запуска
UE3Redist.exe
У сервера есть необходимое ПО для запуска и корректной работы, если есть проблемы с корректной работой, прежде всего стоит переустановить его, лежит оно в .\Binaries\Redist

Порты
Для работы необходимо открыть следующие порты в вашем роутере/брэндмауере

Порт
№ порта
Протокол
Что выполняет
Игровой порт
7777
UDP
Главный порт игры, все соединение отправляются на него
Порт запросов
27015
UDP
Порт используется для связи с Steam Master Server
Web Admin
8080
TCP
Порт для использования Web Admin
Steam порт
20560
UDP
NTP
123
UDP
Только для определения режима Weekly Outbreak

Так-же если вы используете роутер, вам может потребоваться активировать функции DMZ для вашего ПК, чтобы не только пользователи из локальной сети могли к вам подключится.
Инструкцию по открытию DMZ для вашего роутера ищите в интернете(роутеров много, и почти у каждого свой интерфейс).
Для того, чтобы узнать IP на который открывать DMZ откройте командную строку(Win+R -> CMD), в открывшемся окне введите:
ipconfig
В строчке IPv4-адрес содержится ваш IP-адресс на который необходимо открыть DMZ.
Запуск и параметры
Запуск сервера
Для запуска сервера используйте файл KF2Server.bat, который скачался вместе с сервером, или напишите собстевный скрипт для запуска сервера, пример:
start .\Binaries\win64\kfserver kf-bioticslab

Параметры запуска
Для запуска можно задать параметры, примеры использования:
start .\Binaries\win64\kfserver kf-MapExmp?optionhere=x?option2here=x
Или
start .\Binaries\win64\kfserver kf-MapExmp?-switchhere -switch2here

Параметры
  • Карты:
    • kf-BioticsLab
    • kf-BurningParis
    • kf-Catacombs
    • kf-EvacuationPoint
    • kf-Manor
    • kf-Outpost
  • Режимы:
    • Game=KFGameContent.KFGameInfo_Survival
    • Game=KFGameContent.KFGameInfo_VersusSurvival

Опции
Опции
Что выполняет
AdminName=
Имя администратора
AdminPassword=
Пароль для входа администратора
MaxPlayers=
Максимум игроков
Difficulty=
Сложность, 0 = Normal, 1 = Hard, 2 = Suicidal, 3 = Hell on Earth

Switches
Что выполняет
Port=
Задает игровой порт.
QueryPort=
Задает порт для запросов для связи со Steam'ом
WebAdminPort=
Задает порт для web администрирования
Multihome=
Если машина может именть несколько IP-адресов, эта команда привязывает сервер к одному конкретному
PREFERREDPROCESSOR=
Привязывает сервер к одному потоку/ядру
ConfigSubDir=
Создает и читает настройки сервера из указаного файла
Игровые Режимы
По дефолту, игра в режиме кооператива на 6 человек.

PvP
Пример запуска режима PvP на 12 человек:
..\Binaries\Win64\KFGame.exe Server KF-BurningParis?Game=KFGameContent.KFGameInfo_VersusSurvival?maxplayers=12
Для смены режима игры через WA необхожимо выбрать "VersusSurvival" в "Change Map" вкладке.

PvP возможен на следующих картах:
  • BurningParis
  • BioticsLab
  • Prison
  • VoltorManor
  • Farmhouse

Weekly Outbreaks
Пример запуска Weekly Outbreaks:
..\Binaries\Win64\KFGame.exe Server KF-BurningParis?Game=KFGameContent.KFGameInfo_WeeklySurvival
Для смены режима игры через WA необхожимо выбрать "Weekly" во вкладке "Change Map".
Настройка
Подробные настройки сервера
Файлы для настройки сервера лежат \KFGame\Config\

PCServer-KFGame.ini
[Engine.GameInfo]
bAdminCanPause
Возможность ставить паузу админист ратором
MaxPlayers
Максимаольное кол-во игроков
GameDifficulty
Сложность, 0=Normal, 1=Hard, 2=Suicidal, 3=HoE

[Engine.AccessControl]
AdminPassword
Пароль для входа админимстратора
GamePassword
Пароль для входа в игру

[Engine.GameReplicationInfo]
ServerName
Имя сервера
AdminContact
Способ связи с администрацией

[KFGame.KFGameInfo]
GameLength
Длина игры, 0 = 4 раунда, 1 = 7 раундов, 2 = 10 раундов
MinNetPlayers
Минимальное кол-во игроков для начала
GameMapCycles
Список карт в очереди
MapVoteDuration
Время голосования за карту

KFWeb.ini
[IpDrv.WebServer]
ListenPort
Порт для доступа администратора
bEnabled
Включить или отлючить доступ к Web-администрированию

Для доступа потребует ввести в любом браузере IP-адресс вашего сервера вместе с портом который вы задали для доступа, пример:
192.168.10.2:8080
На открывшейся страничке вам будет необходимо ввести имя и пароль админимстратора, и вы получитье все необходимые инструменты для управления сервером
Web Admin
Экран входа
Для корректного входа, необходимо ввесте заранее заданые имя и пароль администратора.






Управление сервером

В правом верхнем углу предсавлены данные на текущий момент игры. Внизу Chat Console, при ее помощи можно отслеживать чат в игре

  • Server info - Данные сервера, представленны на скриншоте выше.
  • Change Map - смена карты и режима игры, добавление мутаторов и возможность смены порта для доступа к web admin.
  • Players - Информация по всем подключившемся к вашему серверу игрокам с возможностью производить на ними действия:
    • Kick - Выкинуть игрока.
    • Session ban - Забанить на время работы сервера.
    • Ban IP - Забанить игрока по IP-адрессу.
    • Ban Unique ID - Забанить игрока по уникальному ID.
    • Mute Voce - Заглушить игрока.
    • Unmute Voce - Снять заглушку с игрока.
  • Password - Смена пароля доуступа к сервера, и достуа к администрированию сервера.
  • Session bans - Список банов на время жизни сервера.
  • Banned IDS - Забаненые ID.
  • IP Masks - Действия над IP-маской:
    • Allow- Разрешить входить на сервер только данной IP-маске.
    • Deny - Запретить входить на сервер только данной IP-маске.
  • General -Различная информация сервера:
    • Server information - Имя сервера.
    • Connection - Максимально кол-во игроков и впемя АФК.
    • Cheat Detection - Защита от читов.
    • Game - Сложность и длинна игры.
    • Administration - Обьявлять когда админ заходит, возможность ставить игру на паузу.
    • Map voting - Голосование за карту.
    • Kick Voting - Голосование за изганание игрока.
    • Chat - Возможность использования чата игроками.
  • Gametypes - Режим игры, настройки различного времени ожидания.
  • Map Cycles - Цикл карт, выбор и задания цикла карт
  • Server Actors - Список мутаторов сервера.
  • Welcome Screen - Окно приветсвия сервера, с сообщением, изображением и ссылкой сервера.
  • Managment Console - Консоль.
  • Webadmin Settings - Настройки Web admin
  • Log Out - Выход

Несколько администраторов
В файле .\KFGame\Config\KFWebAdmin.ini под категорией [WebAdmin.WebAdmin] добавить:
AuthenticationClass=WebAdmin.MultiWebAdminAuth
Теперь необходимо запустить сервер, для генерации MultiAdmin.ini, после этого станет возможно добовлять администраторов через Web admin, и вречную добовляя необходимую информацию в файл под категорию [Admin MultiAdminData]:
DisplayName= "Имя админа" Password= "123" Order= "DenyAllow" bEnabled= "True"
Добавление сторонних карт
Готовые кастомные карты можно найти на офф.форуме[forums.tripwireinteractive.com] или на GameBanana[kf2.gamebanana.com], после скачивания карты нужно закинуть в .\KFGame\BrewedPC\Maps.
Следующим шагом добавляем перенаправления для скачивания карт клиентов сервера, для этого в файле .\KFGame\ConfigPCServer-KFEngine.ini под категорию [IpDrv.HTTPDownload] допишим следующее:
RedirectToURL = http://kf2.tripwirecdn.com/
Где RedirectToURL принимает значения сервера, хранящего файлы, в примере выше сервер TWI который хранит большенство готовых кастомных карт.
Список нескольких серверов:

Отображение карт в Web admin
Для отображения карт в Web admin необходимо в файл добавить .\KFGame\Config\PCServer-KFGame.ini следующие:
[KF-Exmpl KFMapSummary] MapName = KF-Exmpl ScreenshotPathName = UI_MapPreview_TEX.UI_MapPreview_Placeholder
Где KF-Exmpl название карты.

Отображение карт при голосовании в конце раунда
Для отображения карт необходимо в файле .\KFGame\Config\PCServer-KFGame.ini под категорией [KFGame.KFGameInfo] найти строчку:
GameMapCycles=(Maps=("KF-BurningParis","KF-Bioticslab","KF-Outpost","KF-VolterManor","KF-Catacombs","KF-EvacuationPoint"))
И после последней карты дописать нужное вам название.
Настройка Steam Workshop для сервера
Настройка сервера для скачивания файлов через Steam Workshop.
  1. Убедитесь что сервер не запущен. В противном случае настройка Workshop будет переписана при перезапуске сервера.
  2. В файле PCServer-KFEngine.ini в разделе [IpDrv.TcpNetDriver] добавить строчку
    DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload
  3. В файл PCServer-KFEngine.ini добавте новый раздел
    [OnlineSubsystemSteamworks.KFWorkshopSteamworks]
  4. Для каждого предмета который должен быть скачан через Workshop вы должны добавть строчку:
    ServerSubscribedWorkshopItems=<number>
Пример записи карт из конкурса Grindhouse Contest Maps
[OnlineSubsystemSteamworks.KFWorkshopSteamworks] ServerSubscribedWorkshopItems=605633924 ServerSubscribedWorkshopItems=605551918 ServerSubscribedWorkshopItems=605549089 ServerSubscribedWorkshopItems=605532351
Настройка приветственного экрана
  1. Убедитесь что сервер не запущен.
  2. В файле PCServer-KFGame.ini найдите:
    • BannerLink - изображение должно быть в формате PNG >8bit
    • ServerMOTD - Сообщение отображаемое под изображением, используйте "\n" для разрыва строки.
    • WebsiteLink - Ссылка на ваш сайт
  3. Сохраните изминения и запустите сервер
Добавление мутаторов
Мутатор — модификация игры, которая лишь частично изменяет игру. Согласно одному из подходов, «полноценные» моды нельзя совмещать (в игре одновременно может быть активно не более одного мода), в то время как в одной игре может быть одновременно включено несколько мутаторов.

Для установки и работы мутаторов небходимо:
  1. Полложить файл с расширением *.u в папку .\KFGame\BrewedPC
  2. Положить файл с расширением *.ini в папку где хранятся ваши настройки сервера(по умолчанию .\KFGame\Config)
  3. Добавить название мутатора в Server Actors, в WebAdmine
    • Либо добавить название мутатора в командную строку запуска

Найти и скачать мутаторы можно с офф.форума(темы с префиксом [Mutator]):
Server Takeover
Что это?
Это функция позволяющая задать настойки игры такие как: карта, длительность, режим, приватность и сложность и подстроить под эти настройки ближайший не занятый к вам сервер. Важно заметить, что сменятся только параметры игры, все пароли админов и прочее останутся не затронутыми.

Как это выключить
Для деактивции этой функции поменяйте параметр в файле KFEngine.ini:
[Engine.GameEngine] bUsedForTakeover=FALSE
Консольные команды
Список команд позволяющих управлять сервером, непосредственно, через консоль, во время игры:
adminlogin password - Войти как администратор, используя пароль. adminlogout - Выйти как администратор. open KF-mapname.rom - Изменить текущую карту на KF-mapname.rom pause - Поставить игру на паузу. Kick - Выгнать игрока из игры. KickBan - Выгнать и забанить игрока.

Список команд которые работали ранее, но сейчас игра их не распознает:
admin adminsay message - Отобразить сообщение в центре экрана каждого игрока. admin map KF-mapname.rom - Изменить текущую карту на KF-mapname.rom admin Switch KF-mapname.rom - Изменить текущую карту на KF-mapname.rom admin RestartMap - Перезапустить текущую карту. admin NextMap - Перейти к следующей карте. admin PlayerList - Сохранить текущих игроков в KillingFloor.log.
Linux Server Manager
Написаное ниже, кастомная настройка и установка для UNIX систем с сайта: https://gameservermanagers.com/lgsm/kf2server/
Приведенное ниже запускать на свой страх и риск.

Рекомендуемый дистрибутивы и необходимые пакеты:
  • Ubuntu 14.04+
    mailutils postfix curl wget file bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc tmux lib32gcc1 libstdc++6 libstdc++6:i386
  • Debian 8+
    mailutils postfix curl wget file bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc tmux lib32gcc1 libstdc++6 libstdc++6:i386
  • Fedora 19+
    mailx postfix curl wget file bzip2 gzip unzip python binutils bc tmux glibc.i686 libstdc++ libstdc++.i686
  • CentOS 7+
    mailx postfix curl wget bzip2 gzip unzip python binutils bc tmux glibc.i686 libstdc++ libstdc++.i686

Установка
  1. Создать пользователя и залогиниться за него
    # adduser kf2server # passwd kf2server # su - kf2server
  2. Скачать и запустить скрипт
    # wget -N --no-check-certificate https://gameservermanagers.com/dl/linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh kf2server
  3. Запустить установку
    # ./kf2server install

Список команд
Список команд можно просмотреть через:
# ./kf2server
    Работа сервера
  • Запуск сервера:
    # ./kf2server start
  • Остановка сервера:
    # ./kf2server stop
  • Перезапуск сервера:
    # ./kf2server restart
  • Консоль
    Позволяет войти в консоль и вводить команды:
    # ./kf2server console
    Для выхода нажмите “CTRL+b”.
    Нажатие “CTRL+c” "убьет" сервер.
Обновление сервера
  • Обновить и автоматически перезапустить сервер:
    # ./kf2server update
  • Обновить SteamCMD update:
    ./kf2server force-update
  • Проверка кэша:
    # ./kf2server validate
Дебаг
  • Вытащить пароли, порты и прочие настройки:
    # ./kf2server details
  • Дебаг, поможет в траблшуте при любых проблемах:
    # ./kf2server debug
  • Расположение логов
    /home/kf2server/logs
  • Создать бекап
    # ./kf2server backup
  • Монитор за сервером, проверяет работу сервера и при необходимости шлет алерты:
    # ./kf2server monitor
ServerApp
Приложение:
Позволяет провести простую установку, настройку сервера, а так же позволяет запускать и останваливать работу сервера на ОС семейства Windows.
Сканирование приложение VirusTotal [www.virustotal.com]

Приложение не обновлялось пару лет и писалось на колене для личных нужд, поэтому возможны баги и прочее.

Запускать приложение необходимо из директории с SteamCMD.exe


Параметры запуска:
"-console" - запустить приложение с консолью "-start" - автоматический старт сервера "-firststart" - установка сервера при запуске

Консольные команды:
Server.Start - старт сервера Server.Stop - остановка ервера Server.Update - обновление сервера Server.Install - установка сервера Server.FirstLaunch - Эмитировать первый запуск сервера Update.Info - Загрузить информацию из .ini файлов Save.Info - Сохранить информацию All.Active - Задать все кнопки в активное положение All.Inactive - Задать все кнопки в неактивное положение DownloadSteamCMD- Скачать SteamCMD.exe не работает Exit - Выход

Установка
  • Первый способ:
    Скачать приложение и SteamCMD.exe, и поместить их в одну директорию, запустить приложение, перейти во вкладку "Install/Update" выбрать "Validate" в чекбоксе и нажать кнопку Update, после чего ждать пока все скачатся и установится само.
  • Второй способ:
    Скачать приложение и SteamCMD.exe, и поместить их в одну директорию, запустить приложение с параметром -firststart, после чего ждать
  • Третий способ:
    Скачать приложение и SteamCMD.exe, и поместить их в одну директорию, запустить приложение с параметром -console, после чего, во вкладке "Install/Update" вбивтаь команды по очереди:
    Server.Install Server.FirstLaunch
Примечания
Для входа на сервер можно использовать игровой сервер браузер, ваш сервер находится во вкладке LAN.
Либо можно использовать консоль и ввести в ней:
open 127.0.0.1



Видео гайд по созданию сервера: http://steamcommunity.com/sharedfiles/filedetails/?id=631876358
302 Comments
Ha4inka Oct 12, 2023 @ 5:04am 
Ребзя,ищу темейтов для этой прекрасной игры,кому интересно добавляйтесь поиграем вместе
EssentukiTLT Oct 3, 2023 @ 7:57am 
Здравствуйте. Создать сервер исключительно для еженедельных вспышек.Каким образом это настроить? На данный момент при смене карты меняется и режимы, выживание, бесконечный режим.
Anton_Eew Jun 11, 2023 @ 5:46pm 
Илюха Шпатель, можно через параметры DCHP в роутере закрепить определённый локальный IP за любым узлом сети =)
И во времени аренды поставить что-то типа "вечно".
Spike Rus Apr 28, 2023 @ 4:16pm 
Приветствую. Может кто подскажет как запустить на сервере режим задача.
Proximo Jan 8, 2022 @ 3:52am 
А не проще прописать статический адрес на самом хосте, где располагается сервер KF2...?
Мистер Зойдберг Jan 7, 2022 @ 12:33am 
Короч опять столкнулся с проблемой того, что сервер видно только в LAN. У меня проблема в том, что IPv4 постоянно меняется (видимо, из-за количества ранее подключенных адресов и из-за времени аренды адреса). Ранее порты в роутере были проброшены на один адрес (192.168.0.3), а щас он изменился (стал 192.168.0.7). В роутере откорректировал адрес на портах и всё пошло. (оставил себе напоминалку, т.к. постоянно забываю в чём беда).
Mr.Daren Jul 8, 2021 @ 11:50am 
Всё работает, всё отлично, большое спасибо, но только карты с мастерской...как бы добавились, но лишь 3, как это исправить? В консоли пишет именно на те, что не видит: Checking item, а потом Item state is 4.
Lasplagas [ru] Mar 31, 2021 @ 7:18am 
сервер работает для меня как хоста но для подключения друзей необходимо использование радмин впн либо других аналогичных программ. как решить данный вопрос и перевести сервер из локального в онлайн?
Asenaris Mar 6, 2021 @ 9:21am 
Как достать сервер на одну версию меньше последней например Сервер для Игры версии 1108?
Street Mine Jan 25, 2021 @ 5:14am 
В последнее время после последних обнов как серверной части так и клиентской не могу более банить через вэб управление сервером.Могу теперь лишь только войс мутить и размутить.Как обратно вернуть возможность бана и разбана через вкладку Players?Спасибо!