steam

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindSteamRoots

func FindSteamRoots() []string

FindSteamRoots returns candidate Steam installation roots in search order.

func GetLibraryPaths

func GetLibraryPaths(steamRoot string) ([]string, error)

GetLibraryPaths returns all Steam library paths from a Steam root (reading libraryfolders.vdf).

func LoadKnownGames

func LoadKnownGames(configDir string) (map[string]GameInfo, error)

LoadKnownGames returns the known Steam App ID -> GameInfo map. It loads the embedded default list, then merges in configDir/steam-games.yaml if present (so you can add or override games without rebuilding).

Types

type AppManifest

type AppManifest struct {
	AppID      string
	Name       string
	InstallDir string
}

AppManifest holds parsed fields from an appmanifest_*.acf file.

func ParseAppManifest

func ParseAppManifest(data string) (AppManifest, error)

ParseAppManifest parses appmanifest_*.acf content and returns AppManifest.

type DetectedGame

type DetectedGame struct {
	SteamAppID  string // Steam App ID
	Slug        string // lmm game ID (from known games list)
	Name        string // Display name
	InstallPath string // Absolute path to game install (e.g. .../common/Skyrim Special Edition)
	ModPath     string // Absolute path to mod directory (InstallPath + ModPath relative)
	NexusID     string // NexusMods game domain ID
}

DetectedGame is a Steam game found on disk that lmm knows how to configure.

func DetectGames

func DetectGames(configDir string) (games []DetectedGame, warnings []string, err error)

DetectGames scans Steam libraries for known moddable games and returns them. configDir is used to load the known-games list (embedded default + optional steam-games.yaml). Warnings are non-fatal errors (e.g. unreadable library, parse failure) so users can diagnose.

type GameInfo

type GameInfo struct {
	Slug    string // lmm game ID, e.g. "skyrim-se"
	Name    string // Display name, e.g. "Skyrim Special Edition"
	NexusID string // NexusMods game domain ID, e.g. "skyrimspecialedition"
	ModPath string // Relative path from game install to mod directory, e.g. "Data"
}

GameInfo describes a moddable game known to lmm, mapped from Steam App ID.

type VDFMap

type VDFMap map[string]interface{}

VDFMap is a parsed VDF key-value structure (nested maps and string values).

func ParseVDF

func ParseVDF(r io.Reader) (VDFMap, error)

ParseVDF reads Valve Key-Value format from r and returns the root map.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL