Skip to content

Obtain the installation directory and application list of Steam through the Windows registry.

License

Notifications You must be signed in to change notification settings

kabeep/node-steam-library

Repository files navigation

node-steam-library

Obtain the installation directory and application list of Steam through the Windows registry.


English | 简体中文

Alt

📖 Introduction

Important

Only Windows supported.

Node module that interacts with the Steam installation on a user's system. This library provides utilities to get Steam root path, retrieve Steam library information, and list installed apps.

⚙️ Installation

npm install @kabeep/node-steam-library --save
yarn add @kabeep/node-steam-library
pnpm add @kabeep/node-steam-library

🚀 Usage

CommonJS

const steamLib = require('@kabeep/node-steam-library');

or ESModule

import steamLib from '@kabeep/node-steam-library';

Methods: getRootPath()

Retrieve the installation path of Steam from the Windows registry.

steamLib.getRootPath
    .then(console.log)
    .catch(console.error);

Returns: Promise<string>


Methods: getLibrary()

Retrieve the Steam library information.

steamLib.getLibrary
    .then(console.log)
    .catch(console.error);

Returns: Promise<SteamLibraryOption[]>

SteamLibraryOption:

Property Type Description Example
library string Path to the library folder "G:\\path\\to\\SteamLibrary"
id string Apps ID "321"

Methods: getApps()

Retrieve all the application information of the Steam library.

steamLib.getApps
    .then(console.log)
    .catch(console.error);

Returns: Promise<SteamAppOption[]>

SteamAppOption:

Property Type Description Example
id number Apps ID 321
name string Apps name "Counter-Strike: Global Offensive"
installPath string Apps install path "G:\\path\\to\\SteamLibrary\\Counter-Strike: Global Offensive"
modPath string Apps mod path "G:\\path\\to\\SteamLibrary\\Counter-Strike: Global Offensive\\steamapps\\workshop\\content\\321"
language string Apps locale "english"

❌ Error Codes

steamLib.getApps()
    .then(console.log)
    .catch((err) => {
        // string
        console.log(err.code);
    });

EUNKNOWN

Unknown error that doesn't fall into any specific category

EREGISTRY

An error related to registry operations, such as failure to read from to the Windows registry.

ELIBRARY

An error related to Steam library operations, such as issues with finding or parsing the Steam library folders.

EMANIFEST

An error related to manifest files, such as missing or malformed Steam manifest files.

🔗 Related

  • vdf - Module to convert Valve's KeyValue format to JSON and back.
  • node-winreg - node module that provides access to the Windows Registry through the REG commandline tool.

🤝 Contribution

Contributions via Pull Requests or Issues are welcome.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Obtain the installation directory and application list of Steam through the Windows registry.

Resources

License

Stars

Watchers

Forks

Packages

No packages published