Source SDK

Source SDK

Not enough ratings
Как правильно работать с утилитой BSPZIP
By Смайл
В этом руководстве мы поговорим с вами о такой полезной утилите, как BSPZIP. Эта утилита работает по смыслу архиватора. Распаковывает и упаковывает файлы в карту для более упрощённой работы с контентом при загрузке карты с сервером. Или же просто для удобства пользователей.
   
Award
Favorite
Favorited
Unfavorite
Введение
BSPZIP — Это базовая утилита, которую создали сами Valve. Сейчас она является частью игрового клиента. При загрузке, скажем Team Fortress 2, Garry's Mod или других игр Source, в папке bin вы сможете увидеть эту утилиту.

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

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

При работе с утилитой вам потребуется создать текстовый документ или блокнот, переименовать его и изменить формат с *.txt на *.bat

Образец

Скопируйте это в батник:

"C:\Steam\<Путь до мода/игры>\bspzip.exe" -addlist "C:\test.bsp" "C:\Mod\files.txt" "C:\test_new.bsp"
@pause

А затем отредактируйте под себя.

Примечание

Если вдруг вам понадобится bspzip.exe — вы сможете найти его в директории игры:

Steam → SteamApps → common → Team Fortress 2 → bin
Параметры запуска приложения
bspzip -extract <bspfile> <blah.zip> — Параметр извлекает из карты архив, упакованный в *.zip архив самой карты.

Пример: "C:\Program Files\Steam\SteamApps\common\Team Fortress 2\bin\bspzip.exe" -extract "C:\test.bsp" "C:\2.zip"

bspzip -extractfiles <bspfile> <targetpath> — Извлечь из карты контент и положить его в указанную вами папку.

Пример: "C:\Program Files\Steam\SteamApps\common\Team Fortress 2\bin\bspzip.exe" -extractfiles "C:\test.bsp" "C:\"

bspzip -dir <bspfile> — Просмотреть список контента, упакованного в карте.

Пример: "C:\Program Files\Steam\SteamApps\common\Team Fortress 2\bin\bspzip.exe" -dir "C:\test.bsp"

bspzip -addlist <bspfile> <listfile> <newbspfile> — Упаковать в карту указанный контент из файла files.txt

Пример: "C:\Program Files\Steam\SteamApps\common\Team Fortress 2\bin\bspzip.exe" -addlist "C:\test.bsp" "C:\files.txt" "C:\test_new.bsp" Как создать files.txt я напишу ниже.

bspzip -addorupdatelist <bspfile> <listfile> <newbspfile> — Добавить новый или обновить уже имеющийся в карте контент при помощи files.txt

Пример: "C:\Program Files\Steam\SteamApps\common\Team Fortress 2\bin\bspzip.exe" -dir "C:\addorupdatelist.bsp" "C:\files.txt" "C:\test_new.bsp" Как создать files.txt я напишу ниже.

bspzip -extractcubemaps <bspfile> <targetPath> — Распаковать cubemaps карты по указаннуму <targetPath>.

Пример: "C:\Program Files\Steam\SteamApps\common\Team Fortress 2\bin\bspzip.exe" -extractcubemaps "C:\test.bsp" "C:\"

bspzip -deletecubemaps <bspfile> — Удалить cubemaps в указааной карте.

Пример: "C:\Program Files\Steam\SteamApps\common\Team Fortress 2\bin\bspzip.exe" -deletecubemaps "C:\test.bsp"

bspzip -addfiles <bspfile> <relativePathPrefix> <listfile> <newbspfile> — Упаковать файлы в карту из нового текстового файла.

bspzip -repack [ -compress ] <bspfile> — Оптимально переупаковывает BSP-файл, опционально используя сжатый формат BSP. Использование на сжатом BSP без -compress эффективно распаковывает сжатый BSP.

Пример: "C:\Program Files\Steam\SteamApps\common\Team Fortress 2\bin\bspzip.exe" -repack "C:\test.bsp" "C:\Program Files\Steam\SteamApps\common\Team Fortress 2\bin\bspzip.exe" -repack -compress "C:\test.bsp"

Есть ещё один параметр запуска, но пока-что я не разобрал, что он значит. Если вы знаете, напишите в комментариях, а я добавлю это в руководство:

bspzip -addfile <bspfile> <relativepathname> <fullpathname> <newbspfile> — Пока что неизвестная команда.
Структура создания файла files.txt
Текстовый файл с контентом — это файл, который используется для упаковки контента в карту.

В этот файл вы должны будете указать список файлов, которые будут упакованы в вашу карту.

Структура файла будет следующей:

Образец

maps\mvm_troopers_defend.nav — Эта папка отвечает за упакованный файл и директорию его упакования. Если вы не укажите этот пункт, то ваш файл будет запакован без подпапок и в игре работать не будет. C:\Mod\maps\mvm_troopers_defend.nav — Это файл, который хранится на вашем компьютере. Его вы укажите для того, чтобы BSPZIP упаковал этот файл по пути, который вы указали до этого.

maps\de_dust2.nav C:\Mod\maps\de_dust2.nav materials\vgui\maps\menu_photos_mvm_troopers_defend.vmt C:\Mod\materials\vgui\maps\menu_photos_mvm_troopers_defend.vmt materials\vgui\maps\menu_photos_mvm_troopers_defend.vtf C:\Mod\materials\vgui\maps\menu_photos_mvm_troopers_defend.vtf

Обратите внимание, что сначала указывается папка, которая будет хранить контент в карте по определённому пути. Следующей строкой указывается файл, который будет упакован в вашу карту:

maps\de_dust2.nav — Путь для файла в карте, который будет упакован в карту. C:\Mod\maps\de_dust2.nav — Файл, который хранится на вашем компьютере для упаковки.

Путь для файла, который будет упакован в карту — требуется для того, чтобы ваш файл не был упакован в карту просто так не имея подпапок.

Предположим вы создали карту для Team Fortress 2, и вручную начертили навигационную сетку для ботов. Вам нужно будет упаковать её предварительно указав подпапку, которая будет создана в вашей карте, чтобы навигационный файл правильно работал при игре на сервере или просто в игре с ботами.

Если вы упакуете файл без указания пути (подпапки) для файла в самой карте, то навигационная сетка будет упакована в вашу карту без подпапки maps и навигационная сетка не будет работать в самой игре.

То есть, у вас должно получится вот так: map/de_dust.nav
А если вы не укажете путь для файла в карте, то у вас получится вот так: de_dust.nav

Как вы понимаете из этого следует вывод: Если не указывать путь для файла в самой карте, то контент карты будет работать не правильно.
Подытожим
Если соблюдать все правила в работе с утилитой и соблюдать структуру файла при добавлении контента в карту — то у вас всё будет работать успешно.

Если вы будете постоянно косячить и ошибаться в том или ином параметре в работе с утилитой BSPZIP, то понятное дело, у вас будет приличное количество косяков.

И, конечно же, не забывайте про структуру файла, отвечающего за добавление контента в карту.

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

Ещё разик обратите внимание на структуру написания файла:

maps\mvm_troopers_defend.nav — Эта папка отвечает за упакованный файл и директорию его упакования. Если вы не укажите этот пункт, то ваш файл будет запакован без подпапок и в игре работать не будет. C:\Mod\maps\mvm_troopers_defend.nav — Это файл, который хранится на вашем компьютере. Его вы укажите для того, чтобы BSPZIP упаковал этот файл по пути, который вы указали до этого.

2 Comments
Смайл  [author] 24 Oct, 2020 @ 10:16pm 
ни правда, всё лигко :з
apchistuz 24 Oct, 2020 @ 5:02pm 
сложна