Game Scanner for any launcher and OS.
You can find the Rust data structure in prelude.rs, and the Javascript data structure in index.d.ts.
Launcher | Multi-directories¹ | Windows | Linux | MacOS |
---|---|---|---|---|
Amazon | ✅ | ✅ | ❌ | ❌ |
Blizzard | ❓ | ✅ | ❌ | ✅ |
Epic Games | ❌ | ✅ | ❌ | ✅ |
GOG | ❌ | ✅ | ❌ | ✅ |
Origin | ❌ | ✅ | ❌ | ✅ |
Riot Games | ❓ | ✅ | ❌ | ✅ |
Steam | ✅ | ✅ | ❌ | ✅ |
Ubisoft | ❌ | ✅ | ❌ | ❌ |
[1]: Multi-directories: is different game install locations (e.g., folders, and drivers).
Launcher | Install | Launch | Uninstall |
---|---|---|---|
Amazon | ❌ | ✅ | ❌ |
Blizzard | ❌ | ✅ | ❌ |
Epic Games | ❌ | ✅ | ❌ |
GOG | ❌ | ✅ | ❌ |
Origin | ✅ | ✅ | ❌ |
Riot Games | ❌ | ✅ | ✅ |
Steam | ✅ | ✅ | ✅ |
Ubisoft | ✅ | ✅ | ✅ |
Launcher | Installed | Needs Update | Downloading | Total Bytes | Received Bytes |
---|---|---|---|---|---|
Amazon | ❌ | ❌ | ❌ | ❌ | ❌ |
Blizzard | ❌ | ❌ | ❌ | ❌ | ❌ |
Epic Games | ❌ | ❌ | ❌ | ❌ | ❌ |
GOG | ❌ | ❌ | ❌ | ❌ | ❌ |
Origin | ❌ | ❌ | ❌ | ❌ | ❌ |
Riot Games | ❌ | ❌ | ❌ | ❌ | ❌ |
Steam | ✅ | ✅ | ✅ | ✅ | ✅ |
Ubisoft | ❌ | ❌ | ❌ | ❌ | ❌ |
Launcher | List Games | Find Game¹ | Get launcher executable |
---|---|---|---|
Amazon | ✅ | ✅ | ✅ |
Blizzard | ✅ | ✅ | ✅ |
Epic Games | ✅ | ✅ | ✅ |
GOG | ✅ | ✅ | ✅ |
Origin | ✅ | ✅ | ✅ |
Riot Games | ✅ | ✅ | ✅ |
Steam | ✅ | ✅ | ✅ |
Ubisoft | ✅ | ✅ | ✅ |
[1]: Find Game: you can find for a specific game passing only the id
.
Launcher | Launch | Get Processes | Close |
---|---|---|---|
Amazon | ✅ | ❓ | ❓ |
Blizzard | ✅ | ❓ | ❓ |
Epic Games | ✅ | ❓ | ❓ |
GOG | ✅ | ❓ | ❓ |
Origin | ✅ | ❓ | ❓ |
Riot Games | ✅ | ❓ | ❓ |
Steam | ✅ | ✅ | ✅ |
Ubisoft | ✅ | ❓ | ❓ |
[1]: Game Processes: return a list with all Id
or PID
of processes from a specific
game.
- Rust
- cargo >= v1.49.0
- rustup >= v1.23.1
- rustc >= v1.49.0
const game_scanner = require("@equal-games/game-scanner");
const games = game_scanner.steam.games();
// [{
// _type: 'steam',
// id: '945360',
// name: 'Among Us',
// path: 'C:\\Program Files (x86)\\Steam\\steamapps\\common\\Among Us',
// commands: { install: [Array], launch: [Array], uninstall: [Array] },
// state: {
// installed: true,
// needs_update: true,
// downloading: true,
// total_bytes: 39626416,
// received_bytes: 0
// }
// }]
const game_scanner = require("@equal-games/game-scanner");
const games = game_scanner.steam.find('945360');
// {
// _type: 'steam',
// id: '945360',
// name: 'Among Us',
// path: 'C:\\Program Files (x86)\\Steam\\steamapps\\common\\Among Us',
// commands: { install: [Array], launch: [Array], uninstall: [Array] },
// state: {
// installed: true,
// needs_update: true,
// downloading: true,
// total_bytes: 39626416,
// received_bytes: 0
// }
// }
const game_scanner = require("@equal-games/game-scanner");
const game = game_scanner.steam.games().find(game => !game.state.installed);
game_scanner.mananger.install_game(game);
game_scanner.mananger.uninstall_game(game);
const game_scanner = require("@equal-games/game-scanner");
const game = game_scanner.steam.games().find(game => game.state.installed);
game_scanner.mananger.launch_game(game);
// After 30 seconds
game_scanner.mananger.close_game(game);
- Visual Studio >= 2019
- Desktop Development with C++
- MSVC >= v142
- Windows 10 SDK >= 10.0.18362.0
- Desktop Development with C++
- Node
- node >= 12.20.0
- npm >= 6.14.8
- windows-build-tools >= 5.2.2
npm config set msvs_version 2019
npm config set python python2.7
If you are interested in contributing to the project, please take a look at the Code of Conduct.
This project is licensed under the terms of the MIT license.