Перейти к содержимому






- - - - -

Steam Workshop и Skyrim

Написано CrazyHackGUT, в Steam Workshop 07 января 2019 · 96 просмотры

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


Изображение
Новый формат! Слава Беседке!
На удивление, какой-либо информации о нём в Сети не нашёл. Или плохо искал... Всё, на что натыкался - скриншоты разных пользователей о том, что лаунчер рапортует о невозможности распаковать CKM. В основном всё на Гитхабе в репозитории Протона (форк Wine для запуска Виндоигр под Линуксом). Как пример.
О том, что из себя представляет этот формат, я напишу чуть позже. Расковырял таки за один вечер. Очень примитивный формат.
Суть этой статьи вот в чём: у всех модов, выпущенных после первого введения платных модов в Воркшопе, напрочь отсутствует прямая ссылка на скачивание в ответе API!


Изображение
Зато присутствует ID в UGC. Но всё равно, верните ссылку! :(
И даже если сделать запрос к методу, который возвращает ссылки и данные обо всём UGC (User Generated Content), тоже ничего нет: Steam сообщает, что у него такого файла нет.


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


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


Изображение
У Стима есть чудесная команда: workshop_download_item.
Первым в ней указывается AppID (72850 для Скайрима), вторым - идентификатор предмета.
Первый Failure - мод, выложенный/обновлённый ПОСЛЕ появления платных. А там, где таймауты - ДО.






Обратные ссылки на эту запись [ URL обратной ссылки ]

Обратных ссылок на эту запись нет

Искать в моем блоге

Новые записи

Новые комментарии