Steam Workshop и Skyrim
Как человек, купивший однажды уже Скайрим, и имеющий в локалке компьютер с уже установленнным и залогиненным Стимом, выкачал Скайрим оттуда и сам вылечил. Но тема сейчас не об этом. Я использую для Скайрима Steam Workshop. Бывают там иногда годные моды, да. Но суть не в этом. Мне хотелось иметь всю свою коллекцию модов из Воркшопа так же на "пиратке". Даже вручную скачанные. На Нексусе искать лень, а я ж программист немного, и когда-то давно писал утилитку для скачивания модов из Воркшопа по ссылке (огромное спасибо Керберу, который помог разобраться и написать тот самый загрузчик, который уже сотню раз переписывался на различных ЯП).
Выдернул перечень ссылок на подписки с ноута, начал кормить программе. А она часть файлов (в частности, выложенных после событий с платными модами) не могла скачать: Стим попросту ссылки не отдавал. А те, что скачивала, хранились в непонятном формате CKM (Creation Kit Mod?).

Новый формат! Слава Беседке!
О том, что из себя представляет этот формат, я напишу чуть позже. Расковырял таки за один вечер. Очень примитивный формат.
Суть этой статьи вот в чём: у всех модов, выпущенных после первого введения платных модов в Воркшопе, напрочь отсутствует прямая ссылка на скачивание в ответе API!

Зато присутствует ID в UGC. Но всё равно, верните ссылку! :(

Код 9 означает, что файла нет, и никогда не было. Заставляет задуматься.
Если поковыряться дальше, отчасти становится ясно, почему.
Раньше моды бандлились на пользовательский компьютер в виде этого самого CKM-файла, который в дальнейшем распаковывался лаунчером при первом запуске. Теперь они сразу идут несколькими файлами: сам BSA и ESP. Ещё может поставляться превьюшка мода:

Все файлы, которые качает для Скайрима Steam, хранятся в %STEAMAPPS%/workshop/content/72850
Я пока ещё не придумал, как качать такие моды, кроме как иметь всегда запущенный где-нибудь инстанс SteamCMD с активной авторизацией в Стиме, и качать через него. Анонимно качать оно не даёт: сразу в лицо кидает Failure. А на выложенных до появления платных модов просто таймаут. А жаль, очень хотелось анонимно...

У Стима есть чудесная команда: workshop_download_item.
Первым в ней указывается AppID (72850 для Скайрима), вторым - идентификатор предмета.
Первый Failure - мод, выложенный/обновлённый ПОСЛЕ появления платных. А там, где таймауты - ДО.
0 Комментариев
Рекомендуемые комментарии
Комментариев нет
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти