Skip to main content

Что такое файл манифеста Steam и как его использовать с SteamTools?

Полное руководство по файлам манифеста Steam, соответствующий сценарий разблокировки Lua и четырехэтапный рабочий процесс для загрузки игры в SteamTools. Разработан как входная дверь для новых пользователей; глубокие погружения доступны на связанных страницах.

Последнее обновление: 2026-07-05

Если вы когда-либо искали «как использовать SteamTools» или «что такое манифест Steam» и в итоге прочитали пять разных Discord и три выпуска GitHub, эта страница для вас. Это входная дверь в остальную часть сайта. Он отвечает на два вопроса, которые все задают в первую очередь, дает ссылки на страницы с подробным описанием всего остального и оставляет на вашем диске рабочий файл к концу важного раздела.

30-секундный ответ

Файл манифеста Steam — это небольшой текстовый файл в формате «ACF» Valve, который сообщает настольному клиенту SteamTools, какие хранилища игры Steam нужно загрузить и как их проверить. Файл манифеста всегда сопровождается небольшим скриптом Lua, который сообщает SteamTools, какую ветку предпочесть и как аутентифицироваться на серверах Steam. Вместе эти два файла позволяют SteamTools установить игру для автономной игры без использования официального клиента Steam.

Вы можете создать пару манифест + Lua для любого Steam App ID на домашней странице. В оставшейся части руководства объясняется, что это за файлы, как они работают, куда их помещать и что делать, если что-то сломается.

Что такое файл манифеста Steam?

Файл манифеста представляет собой текстовый файл с именем appmanifest_<APPID>.acf. Для Portal (AppID 400) это выглядит так:

"AppState"
{
    "appid"         "400"
    "name"          "Portal"
    "installdir"    "Portal"
    "StateFlags"    "4"
    "UpdateLocalTime"   "Wed Jan  1 12:34:56 2025"
    "buildid"       "1234567"
    "LastOwner"     "12345678901234567"
    "BytesToDownload"   "1234567890"
    "BytesDownloaded"   "1234567890"
    "AutoUpdateBehavior"    "0"
    "AllowOtherDownloadsWhileRunning"  "0"
    "InstalledDepots"
    {
        "400"  "1234567890123456789"
    }
}

Форма фиксируется Valve. Интересными полями являются appid (какая игра), installdir (куда SteamTools следует поместить файлы), buildid (какая сборка игры) и блок InstalledDepots (идентификаторы какого хранилища нужно загрузить и идентификаторы манифеста, которые их разблокируют). Все остальные поля — это бухгалтерия, которую SteamTools в основном игнорирует.

Если вам нужна полная разбивка по полям — что на самом деле делает StateFlags, почему LastOwner выглядит как 17-значное число и как идентификаторы манифеста в блоке InstalledDepots связаны с CDN Steam — более подробное описание можно найти на странице объяснение файлов манифеста. Краткая версия: если appid, installdir, buildid и InstalledDepots верны, SteamTools установит игру. Все остальное — метаданные.

Для чего нужен файл Lua?

Файл Lua является партнером манифеста. Это небольшой скрипт (обычно 10–30 строк), который сообщает SteamTools три вещи:

  1. Какую ветку предпочесть. В играх Steam есть несколько ветвей — public, beta, ptb, experimental, staging. Файл Lua сообщает SteamTools, для которого был создан манифест. Если вы не укажете ветвь, генератор по умолчанию будет public.
  2. Как пройти аутентификацию в CDN Steam. Сценарий просит SteamTools подписать манифест на общедоступных серверах контента Steam и подтвердить, что идентификаторы хранилища в манифесте соответствуют реальной загружаемой сборке.
  3. Что делать с данными депо после загрузки. Некоторые игры требуют небольшого постустановочного действия (распаковать архив, переместить файл в нужное место, установить конфиг). Файл Lua может включать этот шаг.

Файл Lua не является обязательным. SteamTools откажется устанавливать игру, если манифест присутствует, но отсутствует файл Lua. Эти два файла всегда поступают парой из этого генератора.

Сквозной рабочий процесс — что на самом деле делает файл Lua, что означает каждая строка и что происходит, когда сценарий Lua выдает ошибку — находится на странице как это работает. На странице также есть четырехэтапная блок-схема, которой вы можете следовать.

Как два файла работают вместе

Ментальная модель такова: в манифесте указано, что устанавливать, а в Lua указано, как это установить. SteamTools сначала читает манифест, чтобы узнать, какие хранилища какой сборки следует загрузить. Затем он запускает сценарий Lua, чтобы узнать, какую ветку, какой путь аутентификации и какие действия после установки следует применить. Если какой-либо файл отсутствует, SteamTools выходит из системы раньше и записывает в свой каталог журнала строку, объясняющую, чего не хватает.

Эти два файла также привязаны друг к другу по версии. Манифест, созданный для ветки public, не будет работать со сценарием Lua, созданным для ветки beta, и наоборот. Генератор всегда возвращает два файла как совпадающую пару; не смешивайте и не сопоставляйте файлы из разных источников.

Шаг за шагом: от AppID до установленной игры

Полный рабочий процесс займет около трех минут, если у вас есть AppID. Сокращенная версия:

  1. Найдите App ID. Это номер в URL-адресе магазина Steam — например, Portal — https://store.steampowered.com/app/400/, so the App ID is 400. Если вы не можете найти его в URL-адресе, на странице как найти Steam App ID есть три надежных метода.
  2. Search and confirm. Type the game name or App ID on the home page. The search runs against the live Steam store, so DLC, soundtracks, and unlisted-but-published apps all show up.
  3. Создать. Нажмите кнопку. Генератор запрашивает восходящий кеш ManifestHub3 и возвращает ZIP, содержащий файлы .acf и .lua. Ответ обычно составляет менее 1,5 секунды.
  4. Place the files. Drop the .acf file into <SteamTools>/depotcache/ and the .lua рядом с двоичным файлом SteamTools. Перезапустите SteamTools. Игра появится в вашей библиотеке.

Подробное описание — в том числе, где находится <SteamTools> на Windows, macOS и Linux, что делать, если SteamTools не видит файлы, и как читать журнал SteamTools — находится на странице как это работает.

Как найти Steam App ID

Три надежных метода в порядке частоты их срабатывания:

  1. По URL-адресу магазина Steam. Откройте страницу игры в магазине. Число между /app/ и следующим / — это App ID. Пример: https://store.steampowered.com/app/400/Portal/400.
  2. От SteamDB. Найдите игру на steamdb.info. Канонический URL-адрес хранилища в верхней части страницы содержит App ID.
  3. From your local Steam install. If you have the game installed, look in <Steam>/steamapps/. Every installed game has a file called appmanifest_<APPID>.acf в этом каталоге. Число в имени файла — App ID.

Полное руководство, в том числе о том, как найти App ID для исключенных из списка игр, DLC, саундтреков и не внесенных в список, но опубликованных приложений, находится на странице как найти Steam App ID.

Распространенные проблемы и их исправления

Пять вещей, которые случаются чаще всего, в порядке частоты:

1. Загруженный ZIP пуст. Обычно одно из трех. Либо AppID находится в каталоге Steam, но еще не в кэше ManifestHub3 (на странице должно отображаться уведомление «еще нет в нашей базе данных загрузок» со ссылкой Discord), клиент SteamTools фильтрует файл (проверьте каталог журналов), либо локальный инструмент безопасности удаляет ответ. Если ни один из них не подходит, откройте проблему с App ID и копией ZIP.

2. SteamTools не видит файлы после того, как я их вставил. Наиболее распространенная причина — неправильная папка. На Windows путь <SteamTools>\depotcache\ для .acf и <SteamTools>\ для .lua. На macOS и Linux пути аналогичны. Перезапустите SteamTools после копирования; он не выполняет горячую перезагрузку.

3. Ошибка «Приложение не найдено в магазине Steam». Обычно это номер пакета, идентификатор хранилища или идентификатор сборки, а не App ID. Подтвердите использование канонического хранилища URL. Исключенные из списка игры, чьи AppID больше не разрешаются в /appdetails, вообще не могут быть созданы.

4. Ошибка «ограничение скорости 429». Генератор устанавливает интервал между вызовами в 1,5 секунды на каждый IP-адрес. Если вы пишете скрипты, то экспоненциальная задержка с 10-секундным ограничением — это правильный шаблон. Не существует ключа API и повышенного уровня.

5. Скрипт Lua выдает ошибку при запуске. Либо файл поврежден (перезагрузка), либо он был создан для другой ветки, отличной от манифеста. Всегда используйте совпадающую пару из одного вызова генератора.

Полный список проблем — несоответствия ветвей, региональные блокировки, взаимодействие с античитами, крайние случаи с протоном, что делать, если сборка исключена из списка между генерацией манифеста и перезапуском SteamTools — в FAQ есть 20 записей, охватывающих длинный хвост «Я попробовал X, что мне теперь делать?».

SteamTools против альтернатив

Самые распространённые вопросы «против», кратко:

  • SteamTools против официального клиента Steam. SteamTools — неофициальный форк Steam с открытым исходным кодом, поддерживаемый BeyondDimension. Valve не распространяется и не подтверждается. Он расширяет официальный клиент автономным управлением библиотекой, переключением между несколькими учетными записями и возможностью применять опубликованный сообществом манифест + разблокировку Lua. Этот сайт (SteamTools.games) представляет собой независимый генератор, который производит пару манифест + Lua, которую потребляет SteamTools — это не форк и не клиент.
  • Watt Toolkit против Steam++ против SteamTools. Это один и тот же проект в разные моменты времени. SteamTools было оригинальным именем; китайскоязычное сообщество назвало его Steam++; Позже он был переименован в Watt Toolkit. Все три имени относятся к одному и тому же настольному клиенту по адресу github.com/BeyondDimension/SteamTools.
  • SteamTools против GreenLuma. GreenLuma — это отдельный проект сообщества с другим форматом манифеста + Lua. Эти две экосистемы не являются взаимозаменяемыми. SteamTools.games создает файлы специально для клиента SteamTools; Если вы являетесь пользователем GreenLuma, этот генератор вам не подойдет.
  • SteamTools в 2026 году. Для новых пользователей SteamTools + этот генератор — самый легкий путь. Другая экосистема (GreenLuma и небольшое количество платных анлокеров) не рекомендуется новым пользователям; эти инструменты хуже обслуживаются, хуже документируются и имеют более высокий риск вредоносного ПО.

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

Для разработчиков

Генератор предоставляет общедоступный REST API по адресу /api/search (найдите AppID по названию игры) и /api/generate (создайте пару манифест + Lua). Оба не аутентифицированы, на оба распространяется ограничение скорости для каждого IP-адреса, и оба документированы на странице разработчиков. Спецификацию OpenAPI 3.1 можно загрузить с той же страницы.

Если вы интегрируете SteamTools в более крупную систему автоматизации, правильный шаблон:

  • Используйте /api/search, чтобы преобразовать введенное пользователем название игры в App ID.
  • Используйте /api/generate с этим App ID и параметром ветвления.
  • Соблюдайте ограничение скорости в 1,5 секунды. Экспоненциальная отсрочка с ограничением в 10 секунд.
  • Кэшируйте результат. Пары Manifest + Lua привязаны к идентификатору сборки вышестоящего уровня; их не нужно повторно выбирать, если не изменится восходящий кеш.

Для пакетной генерации более 50 игр одновременно более быстрый способ — запросить Discord и попросить сопровождающих добавить их в ManifestHub3 за один раз, что и отражает кураторский список «Популярные игры» на домашней странице.

Полный набор связанных страниц

Если вы хотите прочитать еще одну страницу, выберите одну из них в зависимости от того, что вам нужно:

  • О SteamTools.games — что это за сайт, кто им управляет, чем он не является. Прочтите это, если хотите знать, кто стоит за генератором.
  • Как это работает — полный четырехэтапный процесс с диаграммой, четырехэтапным визуальным представлением и глубоким погружением в то, что делает сценарий Lua, построчно. Прочтите это, если хотите понять рабочий процесс, прежде чем приступать к нему.
  • Описание файлов манифеста — каждое поле в файле appmanifest_*.acf, что оно делает и зачем SteamTools каждое из них. Прочтите это, если хотите прочитать манифест вручную.
  • Как найти Steam App ID — три надежных метода плюс крайние случаи (исключение из списка, DLC, саундтреки). Прочтите это, если у вас есть игра, но нет App ID.
  • FAQ — 20 длинных вопросов на тему «Я попробовал X, что мне теперь делать?» поверхность. Прочтите это, когда что-то сломается.
  • Citation — каноническое машиночитаемое удостоверение личности этого сайта. Прочтите это, если вы цитируете SteamTools.games в исследовательской статье или ответе AI.
  • Разработчики — документация API, спецификация OpenAPI и сведения об ограничении скорости. Прочтите это, если вы пишете сценарий.
  • Changelog — что изменилось и когда. Прочтите это, если хотите узнать, повлияет ли недавнее обновление сайта на ваш рабочий процесс.
  • Блог — руководства, подробные сведения и примечания к продуктам. Прочтите это, если хотите углубиться в конкретную тему.

Предыстория: что такое SteamTools на самом деле

SteamTools (также называемый Watt Toolkit, ранее называвшийся Steam++) — это форк Steam с открытым исходным кодом, поддерживаемый BeyondDimension. Это не плагин для официального клиента Steam — это полноценный форк, который заменяет двоичный файл Steam на вашем компьютере. Он работает на Windows, macOS и Linux.

SteamTools расширяет официальный клиент Steam тремя способами, которые важны для данного руководства:

  1. Управление офлайн-библиотекой. SteamTools может поддерживать полнофункциональную автономную библиотеку Steam, включая игры, в которые вы уже начали играть онлайн. Когда серверы Steam недоступны, SteamTools возвращается к своей локальной копии данных хранилища плюс файлам манифеста + Lua, которые вы поместили в его каталог конфигурации.
  2. Переключение между несколькими учетными записями. SteamTools может запускать несколько учетных записей Steam параллельно на одном компьютере с изолированными хранилищами и изолированными данными сохранения. Официальный клиент Steam это не поддерживает.
  3. Разблокировки, опубликованные сообществом. Для этой части необходимы файлы манифеста и Lua. SteamTools считывает файл манифеста из своего каталога depotcache, запускает сценарий Lua для аутентификации на общедоступных серверах контента Steam и загружает данные хранилища в папку, которую официальный клиент Steam может позже использовать в качестве «локального сервера контента». Опубликованные сообществом пары манифест + Lua (и кэш данных, который их поддерживает) — это то, что предоставляет вышестоящий проект ManifestHub3.

Если вам нужно более подробное описание того, что такое SteamTools, кто его поддерживает, как он связан с Steam++ и Watt Toolkit и где проходят границы между этим генератором и настольным клиентом, на странице about есть полное определение сущности.

Распространенные недоразумения

Несколько вещей, которые возникают достаточно часто, чтобы их можно было упредить:

Файл манифеста — это взломанная версия. Это файл конфигурации. Данные, на которые он указывает, уже находятся в общедоступной CDN Steam; манифест — это рецепт, который сообщает SteamTools, какие хранилища следует получить и как их проверить. Сам манифест не содержит контента, защищенного авторским правом.

"Если у меня есть манифест, я могу получить любую игру бесплатно". Нет. Манифест работает только для игр, которые вы законно приобрели на Steam. Автономный режим SteamTools требует, чтобы базовые данные хранилища были теми, за которые вы уже заплатили; манифест — это указатель, а не замена покупки.

"SteamTools и этот сайт являются одним и тем же проектом". Это не так. SteamTools — это клиент для настольных компьютеров, поддерживаемый командой BeyondDimension по адресу github.com/BeyondDimension. Этот сайт представляет собой независимый генератор, поддерживаемый командой SteamTools.games, который производит один из входных данных, которые потребляет SteamTools. Эти два проекта имеют общее название и цель, но имеют разные базы кода, разных сопровождающих и разные периоды выпуска релизов.

** «Если игры нет в исходном кеше, мне следует отказаться». ** Нет — на странице будет указано это явно и указана ссылка на Discord для запроса. Самые популярные названия оказываются в кеше в течение нескольких дней после запроса; нишевые игры могут потребовать цикла выпуска. Сообщение «еще нет в кеше» — это правильный сигнал, а не тупик.

"Я могу использовать манифест GreenLuma с SteamTools." Нет, форматы разные. Эти две экосистемы не являются взаимозаменяемыми. Манифест GreenLuma не загружается в SteamTools, а манифест SteamTools не загружается в GreenLuma.

Когда НЕ использовать этот генератор

Генератор — подходящий инструмент, если вы хотите использовать SteamTools для установки уже имеющейся у вас игры для автономной игры. Это неправильный инструмент, если:

  • Вы не купили игру. В манифесте описано только, как получить данные о хранилище; это не обходит покупку. Не существует такого понятия, как «бесплатный манифест» — манифесты описывают уже купленный контент.
  • Вы используете GreenLuma, Goldberg или другой клиент, отличный от SteamTools. Эти экосистемы имеют свои собственные форматы манифестов. Файлы, которые создает этот генератор, специфичны для SteamTools.
  • Вы хотите играть онлайн. Автономный режим SteamTools предназначен для игры в автономном режиме. Онлайн-игра проходит через официальный клиент Steam в обычном режиме; Роль SteamTools заключается в переключении нескольких учетных записей.
  • Игра удалена из списка, и App ID больше не разрешается. Конечная точка Steam /appdetails является источником истины; если App ID ничего не возвращает, генератор не сможет помочь. SteamDB ведет запись, но фактические данные о складе больше нельзя получить из Steam.

Глоссарий

Краткий справочник терминов, используемых в этом руководстве и на связанных страницах.

App ID. Номер из 6–8 цифр, который однозначно идентифицирует приложение Steam. Это номер в хранилище Steam URL после /app/. Пример: 400 для Портала.

Ветвь. Игры Steam могут иметь несколько ветвей сборки — public используется по умолчанию и является тем, что вам обычно нужно; beta, ptb, experimental и staging являются распространенными альтернативами. Файл Lua сообщает SteamTools, для какой ветки был создан манифест.

Идентификатор сборки. 6–10-значный номер, идентифицирующий конкретную сборку игры. Манифест включает идентификатор сборки; SteamTools загружает данные хранилища именно для этой сборки.

Склад. Единица загружаемого контента в приложении Steam. Типичная игра имеет 1-5 депо (основная игра, OST, языковые пакеты и т.д.). В манифесте указано имя каждого хранилища и идентификатор манифеста, который его разблокирует.

Идентификатор манифеста. 19-значный номер, идентифицирующий конкретную версию конкретного хранилища. Блок InstalledDepots в манифесте сопоставляет идентификаторы депо с идентификаторами манифеста.

ManifestHub3. Кэш сообщества с открытым исходным кодом, лицензированный MIT, для пар манифест + Lua. Генератор читает данные из ManifestHub3. Данные проверяются, разветвляются и не зависят от этого сайта.

SteamTools. Клиент для настольных компьютеров. Поддерживается командой SteamTools по адресу github.com/BeyondDimension. Отличие от этого сайта.

SteamTools.games. Этот сайт. Потребляет тонкий генератор, который производит пару манифест + Lua SteamTools. Не связан с командой SteamTools.

Watt Toolkit. Текущее имя клиента SteamTools на китайском языке. Ранее проект назывался Steam++.

ACF. Формат Valve «Файл конфигурации приложения». Текстовый формат «ключ-значение» с заголовками разделов, аналогичный INI. В манифестах используется ACF.

Посмотрите это в действии

Рабочий процесс манифест + Lua работает для каждой игры в каталоге Steam. Чтобы увидеть, как выглядит сгенерированный файл, в индексе популярных игр на домашней странице есть известные AppID, готовые к генерации. Некоторые из наиболее востребованных:

  • Портал (AppID 400) — канонический тестовый пример. Манифест + Lua каждый раз за 1,4 секунды.
  • Counter-Strike 2 (AppID 730) — большое количество депо, используется путь кода с несколькими депо.
  • Half-Life 2 (AppID 220) — старая игра, меньший манифест, хорошая основа для того, «как выглядит маленький файл».
  • Terraria (AppID 105600) — пример игры с бета-веткой, на которую вы можете ориентироваться.
  • Stardew Valley (AppID 413150) — пример небольшой инди-игры, где вся игра умещается в одном хранилище.

Если вашей игры нет в этом списке, найдите ее на главной странице — если она есть в каталоге Steam, генератор вернет результат. Если в восходящем кеше ManifestHub3 его еще нет, страница сообщит об этом и предоставит вам ссылку Discord для его запроса.