Где Steam хранит каталоги библиотек?

В Steam мы можем настроить несколько каталогов / папок, в которых он будет искать приложения. Находится в меню Steam->Settings->Downloads->STEAM LIBRARY FOLDERS Диалог.

Где я могу найти эти настройки, если я смотрю программно из-за пределов Steam?

Меня больше интересует местоположение для клиента Windows.

4 ответа

Нашел это. В Windows они хранятся в C:\Program Files (x86)\Steam\SteamApps\libraryfolders.vdf, и вы также должны добавить папку установки Steam C:\Program Files (x86)\Steam

Вот пример скрипта Python для извлечения информации:

import re
with open(r"C:\Program Files (x86)\Steam\SteamApps\libraryfolders.vdf") as f:
    folders = [r"C:\Program Files (x86)\Steam"]
    lf = f.read()
    folders.extend([fn.replace("\\\\", "\\") for fn in
        re.findall('^\s*"\d*"\s*"([^"]*)"', lf, re.MULTILINE)])

Я нашел это здесь:

C:\Program Files (x86)\Steam\config\config.vdf

В этом файле есть строка:

"BaseInstallFolder_1"       "{YourSteamLibraryFolder}"

Поэтому я просто открываю его с помощью Блокнота, затем Ctrl+F ищу "База".

Если этой строки нет:

  1. Откройте Steam. > Войдите в свой аккаунт. > "Steam". > "Настройки".
  2. Затем нажмите "Загрузки". > "ПАПКИ БИБЛИОТЕКИ STEAM".
  3. Сделайте где-нибудь пустую папку.
  4. Щелкните "ДОБАВИТЬ ПАПКУ БИБЛИОТЕКИ".
  5. Перейдите к созданной вами пустой папке. > Щелкните "ВЫБРАТЬ".

Если вы затем снова посмотрите на config.vdf; там должна быть такая строчка:

"BaseInstallFolder_1"       "{YourNewEmptySteamLibraryFolder}"

Если Steam не был установлен в папку по умолчанию в Windows, вы можете найти его в реестре в разделеHKEY_LOCAL_MACHINE, на путиSOFTWARE\Wow6432Node\Valve\Steam. Вот как я нашел это в Котлине:

      private val steamFolder: File = File(WinRegistry.getString(
    WinRegistry.HKEY_LOCAL_MACHINE,
    "SOFTWARE\\Wow6432Node\\Valve\\Steam",
    "InstallPath"))

Затем вы можете найтиlibraryfolders.vdfиconfig.vdfфайлы, согласно другим ответам.

В каждой из этих папок библиотеки вы найдете файлы с именамиappmanifest_<id>.acf, где<id>— это идентификатор игры (найдите его в свойствах/обновлениях в Steam). Если вы ищете конкретную игру, это поможет определить, в какой папке находится игра, если существует более одного места установки игры.

вот небольшой инструмент, который может получить папки библиотеки Steam.

https://github.com/ArchemedIan/steam-path-info

      .\steam-path-info.exe steam libpaths count
3

.\steam-path-info.exe steam libpaths 
C:\Program Files (x86)\Steam\steamapps,D:\SteamLibrary\steamapps,S:\Games\SteamLibrary\steamapps

.\steam-path-info.exe steam libpaths index 2
D:\SteamLibrary\steamapps
Другие вопросы по тегам