Моды и Мастерская

Моды KF1: карты, скины, оружие и добавление пушек к торговцу

Это практический разбор ручной установки пользовательского контента в Killing Floor 1: карт, скинов персонажей и оружейных паков, а также того, что обычно пропускают, - как заставить модовое оружие появиться у торговца. Для торговца описаны два способа: мутатор WeaponsWorkShop (игра остается ванильной) и ServerPerks (Server Veterancy Handler v7). Если нужны только основы про расширения файлов, смотрите ручную установку карт; обзор типов мутаторов - в статье установка мутаторов.

Перед началом

Все устанавливается в корневую папку игры. Для обычной установки Steam путь выглядит так:

D:\SteamLibrary\steamapps\common\KillingFloor

Работать придется с папками Maps, System, Animations, Sounds, StaticMeshes и Textures. Моды берутся из Мастерской Steam или со сторонних сайтов в виде архивов.

Лимит 50 подписок в Steam Workshop

У Steam есть жесткое ограничение для Killing Floor: на практике устанавливаются и работают только первые 50 подписанных предметов. Неважно, что это (карты, музыка, оружие, персонажи) - 51-й и последующие просто не приходят.

Прямого обхода нет, но лимит можно растянуть. Многие авторы в Мастерской прикладывают прямую ссылку на скачивание в описании. Такие моды качайте и ставьте вручную, а подписывайтесь только на те, где ссылки нет. Так можно поставить гораздо больше 50 модов. Подробнее о Мастерской: гайд по Steam Workshop.

Server Veterancy Handler v7 (ServerPerks)

ServerPerks (Server Veterancy Handler) - обычная основа для своих скинов и оружия. Последняя версия - v7.50; обычная v7 отличается мало. Мод заменяет ванильный интерфейс и систему перков своими, благодаря чему можно подключать собственных персонажей и оружие.

Минус ровно в этом: меняется интерфейс и появляется своя логика перков. Если нужно только новое оружие в обычной игре, используйте WeaponsWorkShop (см. ниже).

Меню перков при активном ServerPerks Меню перков в игре с загруженным Server Veterancy Handler v7.

Ванильное меню перков Killing Floor Ванильное меню Killing Floor для сравнения.

После подписки в Мастерской или ручной установки в System появится файл ServerPerks.ini. Именно в него позже добавляются скины и оружие. Серверная настройка этого мода описана в статье ServerPerks и меню статистики.

Ждущий сервер и ServerPerks 7. В теме «Server Perks 7» на форуме killingfloor.ru (2014) выяснилось, что на ждущем (listen) сервере с чистым SP7 у хоста не качается перк медика при лечении, а у подключившихся клиентов прокачка идёт; Flame воспроизвёл это на ждущем сервере, хотя в его первой проверке с ботами (не на ждущем сервере) медик качался нормально. Совет оттуда же: используйте выделенный сервер — многие неофициальные пушки сделаны под него и могут работать с ошибками на ждущем. Проверяя сервер, Flame сначала забыл выставить в ini MidGameSaveWaves=1.

Установка карт

Карты ставятся проще всего: дополнительные моды не нужны. Подпишитесь на карту в Мастерской, и она появится в игре.

Если не хочется тратить слот подписки, а карта есть только в Мастерской, воспользуйтесь сайтом-загрузчиком Steam Workshop: вставьте ссылку на карту и скачайте архив.

Сайт загрузчика Steam Workshop Сайт-загрузчик: вставьте ссылку на предмет и скачайте карту без подписки.

В архиве должен быть ровно один файл формата .rom.

Архив с одним .rom-файлом карты В скачанном архиве один .rom-файл.

Перенесите его в папку Maps в корне игры (...\KillingFloor\Maps).

Папка Maps в Killing Floor Файл карты кладется прямо в Maps.

Такие сайты надежно работают только с картами. Для оружия и скинов они скачивают не те файлы. Карты с других сайтов ставятся так же: .rom в Maps.

Установка скинов

Для своих персонажей нужен Server Veterancy Handler v7. Архивы скинов бывают нескольких видов.

Две папки, Animations и System. Откройте каждую папку архива и перенесите ее файлы в одноименную папку игры: Animations в Animations, System в System. Переносите файлы, а не сами папки: если в архиве папка называется animations и вы скопируете ее целиком, в корне игры могут оказаться и animations, и Animations, и скин не загрузится.

Архив скина с папками Animations и System Вариант 1: папки Animations и System.

Только папка System. Перенесите ее содержимое в System.

Архив скина только с папкой System Вариант 2: только System.

Отдельные файлы. Файлы .u и .ucl кладутся в System.

Архив скина с файлами .u и .ucl Вариант 3: отдельные файлы; .u и .ucl идут в System.

На странице мода есть строка вида CustomCharacters=SeriousSam. Скопируйте ее и добавьте в самый конец ServerPerks.ini. Каждый следующий скин - отдельной строкой в конце файла.

ServerPerks.ini с добавленной строкой CustomCharacters Строка CustomCharacters= добавляется в конец ServerPerks.ini.

Запустите игру, выберите режим, откройте вкладку Mutators и добавьте Server Veterancy Handler v7 и мутатор персонажа (в примере - Sam).

Вкладка мутаторов с ServerPerks и персонажем Включите Server Veterancy Handler v7 и нового персонажа во вкладке Mutators.

Запустите карту и выберите персонажа.

Экран выбора персонажа с новым скином Новый персонаж доступен для выбора.

Некоторые скины идут со своей озвучкой, но большинство используют стандартные фразы. Если хотите делать свои скины, смотрите создание скинов игроков.

Установка оружия

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

Архив оружия с папками Animations, Sounds, StaticMeshes, System, Textures Типичный оружейный архив: по папке на каждый тип контента.

Переносите файлы по папкам, снова избегая дублей с разным регистром (System и system):

  • Animations в Animations
  • Sounds в Sounds
  • StaticMeshes в StaticMeshes
  • System в System
  • Textures в Textures

Бывают архивы другого вида: одна основная папка, картинка и Readme.

Архив оружия с основной папкой, картинкой и readme Другой вариант: откройте основную папку и перенесите содержимое; Readme пригодится позже.

Откройте основную папку и перенесите ее содержимое так же. Картинка не нужна. Readme сохраните: в нем часто есть строка, нужная для торговца.

Запустите игру, выберите режим и откройте Mutators. Появятся новые строки. Например, с паком AK47 строка AK47LLI Shop Mutator добавляет оружие к торговцу, а AK47New Mutator выдает его в руки в начале матча.

Два новых мутатора оружия: Shop и стартовый Shop-мутатор добавляет оружие в магазин, второй выдает его при появлении.

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

Мутатор оружия без Shop-версии Нет Shop-мутатора: оружие есть на старте, но торговец его не продает.

Дальше показано, как все равно добавить любое оружие к торговцу. Каталог популярных паков - в статье кастомное оружие.

Как найти строку для торговца (PickupClassName)

Обоим способам нужна одна строка из мода оружия. Авторы обычно пишут ее в описании или комментариях. Она выглядит как V94LLImut.V94LLIPickup (V-94) или Beretta96FSDT.Beretta96FSDTPickup (пистолет Beretta). Она всегда заканчивается на Pickup.

Если автор строку не указал и Readme нет, найдите ее сами. На примере Beretta 96: откройте архив, папку System и .ucl-файл оружия.

Файл .ucl в папке System архива оружия Файл .ucl внутри архива.

Если мод установлен из Мастерской, ищите его .ucl в папке System игры.

Файл .ucl оружия в папке System игры Тот же файл в System игры при установке из Мастерской.

Откройте его, найдите PickupClassName= и скопируйте значение после знака равенства.

Значение PickupClassName в файле .ucl Копируйте значение после PickupClassName=.

Способ 1: WeaponsWorkShop (ванильная игра, новое оружие у торговца)

WeaponsWorkShop - мутатор, который раскладывает модовое оружие по категориям перков в обычном магазине. Подпишитесь на него в Мастерской (предмет 147258902) и перезапустите игру. В левом столбце Mutators появятся три новые строки.

Три строки WeaponsWorkShop в списке мутаторов WeaponsWorkShop добавляет три строки в список доступных мутаторов.

Выделите WeaponsWorkShop WIP. Кнопка Configure Mutators справа внизу станет активной.

Выделен WeaponsWorkShop WIP, кнопка Configure Mutators активна Выделите WeaponsWorkShop WIP, чтобы включить кнопку настройки.

Кнопка Configure Mutators Откройте настройки мутатора.

Поставьте галочку View Advanced Options, чтобы увидеть полный список оружия.

Настройки мутатора со списком оружия Встроенный список поддерживаемого модового оружия по перкам.

Любое установленное оружие из этого списка само появится у торговца. Добавлять собственный мутатор оружия не нужно. На примере V-94 вот что дают разные комбинации:

Активен только WeaponsWorkShop Только WeaponsWorkShop: V-94 у торговца, стандартный стартовый набор.

WeaponsWorkShop плюс стартовый мутатор V-94 WeaponsWorkShop и обычный мутатор V-94: V-94 у торговца и в руках при появлении.

WeaponsWorkShop плюс Shop-мутатор V-94 WeaponsWorkShop и Shop-мутатор V-94: у торговца два V-94.

WeaponsWorkShop плюс оба мутатора V-94 Все три: дубль V-94 у торговца и V-94 при появлении.

Оружие, которого нет в списке

Если оружия нет в списке и у него нет Shop-мутатора, добавьте его вручную. Возьмите строку со страницы мода; для VERESK SR2 M там написано Code for ServerPerks: VereskSAMut.VereskSAPickup. Откройте Configure Mutators, прокрутите вниз, вставьте строку в пустое поле additional unsupported weapons и нажмите OK.

Поле additional unsupported weapons Дополнительные pickup-классы вставляются в «additional unsupported weapons».

Несколько видов оружия перечисляйте через запятую без пробелов:

PP19VityazSAMut.PP19VityazSAPickup,VereskSAMut.VereskSAPickup

В поле помещается примерно 1000 символов. Модовое оружие продается, только пока активен WeaponsWorkShop WIP. Плюс способа: большой список уже встроен, а больше мутатор в игре ничего не меняет.

Способ 2: TraderInventory в ServerPerks

С ServerPerks оружие добавляется прямо в его конфиг. Скопируйте pickup-строку, например Beretta96FSDT.Beretta96FSDTPickup, и откройте:

D:\SteamLibrary\steamapps\common\KillingFloor\System\ServerPerks.ini

Найдите строки, начинающиеся с TraderInventory.

Строки TraderInventory в ServerPerks.ini Записи TraderInventory определяют ассортимент торговца.

Ниже в файле есть комментарии с расшифровкой номеров категорий. Они неверные. Строки WeaponCategories не трогайте, пользуйтесь этой таблицей:

Неверные комментарии категорий в ServerPerks.ini Комментарии в ServerPerks.ini не совпадают с реальными номерами.

НомерКатегорияПримеры
0MeleeКатана, топор
1PistolПистолеты
2ShotgunДробовики
3SniperWinchester, M99, M14
4Machine GunПулеметы, Thompson
5Medic GunОружие медика, легкие ПП
6ExplosiveВзрывчатка, гранатометы
7Flame ThrowerЛюбое огненное оружие
8MiscОстальное

Добавьте новую строку после последней записи TraderInventory в формате:

TraderInventory=[номер категории]:[pickup-строка]

Для пистолета Beretta:

TraderInventory=1:Beretta96FSDT.Beretta96FSDTPickup

Новая строка TraderInventory для Beretta Новая строка идет после существующих записей TraderInventory.

В игре включите во вкладке Mutators только Server Veterancy Handler v7.

Активен только Server Veterancy Handler v7 Для этого способа нужен только ServerPerks.

Начните матч и зайдите к торговцу: Beretta 96 SF есть в разделе пистолетов.

Меню торговца с Beretta 96 SF среди пистолетов Модовая Beretta 96 SF продается в категории пистолетов.

Добавленное так оружие продается, только пока активен Server Veterancy Handler v7.

Свои категории, например по перкам. Из темы «сортировка оружия по классам в KFCustomShopMutV2» (форум killingfloor.ru): число перед двоеточием в TraderInventory - это порядковый номер (с нуля) строки WeaponCategories в ServerPerks.ini. В версии ServerPerks из темы по умолчанию было 7 категорий (Melee - индекс 0, ..., Flame Thrower - индекс 6), поэтому TraderInventory=0:KFMod.ScythePickup относит косу к Melee, а TraderInventory=6:KFMod.FlameThrowerPickup - огнемёт к Flame Thrower. Flame распределил оружие по перкам, просто заменив список категорий:

WeaponCategories=SupportSpec
WeaponCategories=Berserker
WeaponCategories=Commando
WeaponCategories=FieldMedic
WeaponCategories=FireBug
WeaponCategories=Sharpshooter
WeaponCategories=Demolitions

После этого те же строки выглядят так: TraderInventory=1:KFMod.ScythePickup и TraderInventory=4:KFMod.FlameThrowerPickup. Там же: исходники классов перков ServerPerks (SRVetBerserker.uc, SRVetCommando.uc и т.д.) лежат в ServerPerksP.u (начиная с ServerPerks v5 файлы идут отдельно, совет warpel); чтобы убрать скидки, Flame предложил в каждом классе SRVet* сделать GetCostScaling всегда возвращающей 1.0.

Оружие из DLC для всех игроков. Из темы «DLC» (форум killingfloor.ru): чтобы платное оружие из дополнений могли покупать у торговца все игроки, его достаточно прописать в ServerPerks.ini теми же строками TraderInventory, ничего из пакетов не выдирая, например TraderInventory=4:KFMod.SCARMK17Pickup или TraderInventory=2:KFMod.GoldenAA12Pickup. Так работает с ServerPerks версии 6.50 и ниже; по словам SeRGakaMOON, для более новых версий нужен мутатор CleanAppIDMut (Flame).

Почему DLC-оружие не продаётся без покупки DLC. Из темы «DLC1040» (форум killingfloor.ru): Flame выяснил, что у оружия из DLC патча 1040 в defaultproperties прописана строка AppID=210934; это защита, из-за которой оружие нельзя купить у торговца, если DLC не куплено. Он собрал пакет без этой строки. Подключение:

ServerPackages=DLC1040Weapons

в KillingFloor.ini и такие строки в ServerPerks.ini:

DLC1040Weapons.ScythePickup
DLC1040Weapons.CrossbuzzsawPickup
DLC1040Weapons.DualFlareRevolverPickup
DLC1040Weapons.FlareRevolverPickup
DLC1040Weapons.ThompsonPickup

Для тех, кто не ставил патч 1040, Flame отдельно вырезал косу (DLC1040Scythe.ScythePickup) и арбалет с пилами (DLC1040Crossbow.CrossbuzzsawPickup).

Какой способ выбрать

WeaponsWorkShopServerPerks
Меняет интерфейс игрыНетДа
Встроенный список оружияБольшойНет, каждую строку вручную
Как добавить оружиеОкно настроек в игреTraderInventory в ServerPerks.ini
Свои скины персонажейНетДа
Должен быть включенWeaponsWorkShop WIPServer Veterancy Handler v7

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

Почему часть модов из Мастерской Steam для Killing Floor не устанавливается?
На практике Steam устанавливает только первые 50 подписанных предметов для игры. Все, что сверх лимита, просто не приходит. Скачивайте лишние моды вручную по ссылкам из описаний вместо подписки.
Где взять строку, чтобы добавить модовое оружие к торговцу?
Откройте .ucl-файл оружия из папки System в текстовом редакторе и скопируйте значение после PickupClassName=. Оно всегда заканчивается на Pickup, например Beretta96FSDT.Beretta96FSDTPickup.
Какие номера категорий использует TraderInventory в ServerPerks?
0 Melee, 1 Pistol, 2 Shotgun, 3 Sniper, 4 Machine Gun, 5 Medic Gun, 6 Explosive, 7 Flame Thrower, 8 Misc. Комментарии внутри ServerPerks.ini указывают их неверно.
Нужен ли ServerPerks, чтобы играть со своими скинами?
Да. Пользовательские персонажи регистрируются строкой CustomCharacters= в ServerPerks.ini и требуют активного мутатора Server Veterancy Handler v7.