#launcher #installed #steam #parser #linux #system #detecting

lib_game_detector

A Rust library for detecting and parsing data about games installed on the system

4 releases

0.0.5 Apr 14, 2024
0.0.3 Nov 15, 2023
0.0.2 Oct 30, 2023
0.0.1 Sep 9, 2023

#3 in #detecting

Download history 25/week @ 2024-02-19 31/week @ 2024-02-26 4/week @ 2024-03-04 8/week @ 2024-03-11 8/week @ 2024-03-25 71/week @ 2024-04-01 47/week @ 2024-04-08 113/week @ 2024-04-15

239 downloads per month

AGPL-3.0

76KB
1.5K SLoC

lib_game_detector

Crate License

A Rust library for detecting and parsing data about games installed on the system. Currently only supports Linux.

Description

This is a Rust library intended to be used for programs which need information on currently installed games, such as a games launcher, or mod manager. It can provide information such as what games are installed across multiple launchers (such as Steam and Heroic Games Launcher), where those games are installed, what command will launch them, and more.

Quick start

Install with cargo add lib_game_detector or add the following to your Cargo.toml:

[dependencies]
lib_game_detector = "0.0.3"

Usage

use lib_game_detector::{data::SupportedLaunchers, get_detector};

let detector = get_detector();
let detected_launchers = detector.get_detected_launchers();
let all_games = detector.get_all_detected_games();
let all_games_by_launcher = detector.get_all_detected_games_per_launcher();
let all_games_from_steam = detector.get_all_detected_games_from_specific_launcher(SupportedLaunchers::Steam);

Examples

  • Check the examples folder
  • See rofi-games for an example which uses this library to find games and their box art to use for displaying in a launcher

Currently supported game sources

  • Steam
    • Non-steam games are currently not supported
  • Heroic Games Launcher (Legendary, Nile and GOG)
  • Lutris
  • Bottles
    • Only lists entries included in the Library

TODO

  • Support additional game sources
    • Steam's non-Steam games
    • Games available on $PATH, such as 0 A.D.
  • Support Windows

License: AGPL-3.0

Dependencies

~2–13MB
~111K SLoC