Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nning/protonutils
CLI tool providing utilities for Proton: List games by version, Download/update GE/Luxtorpeda, clean unused runtimes, clean unused compatdata, ...
https://github.com/nning/protonutils
go golang proton steam
Last synced: 3 months ago
JSON representation
CLI tool providing utilities for Proton: List games by version, Download/update GE/Luxtorpeda, clean unused runtimes, clean unused compatdata, ...
- Host: GitHub
- URL: https://github.com/nning/protonutils
- Owner: nning
- License: mit
- Created: 2021-09-24T16:55:34.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-16T11:18:31.000Z (4 months ago)
- Last Synced: 2024-10-23T02:50:54.039Z (3 months ago)
- Topics: go, golang, proton, steam
- Language: Go
- Homepage:
- Size: 15.7 MB
- Stars: 36
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# protonutils
protonutils is a CLI tool that provides different utilities to make using the [Proton][0] compatibility tool more easily. It has the following features:
* List games by configured Proton version
* Download latest and older [Proton-GE][1] releases
* Download latest and older [Luxtorpeda][3] releases
* Clean-up unused compatibility tools automatically
* Search for app ID of game in your library by name
* Print or open compatdata and install directories by game name
(handy of you want to mess with savegames or mods, for example)
* Update assigned compatibility tool for one or more games
* Clean-up unused `compatdata` directories## Download Binary
* [Latest version](https://github.com/nning/protonutils/releases/latest/download/protonutils) (Linux x86_64)
Make sure, the downloaded binary is executable (e.g. by running `chmod +x protonutils`).
## Build on Arch Linux
There is a [package in the AUR][2].
yay -S protonutils
## Manual Build
Minimal Go version is 1.18.
This step is only necessary if aforementioned binary does not suit your needs for some reason. Install [Go](https://golang.org/), make sure `$GOPATH` is set correctly, then run...
go install github.com/nning/protonutils/cmd/protonutils@latest
protonutils## Example Output
$ protonutils list
Proton-6.21-GE-2
Cyberpunk 2077
DEATHLOOP
Dishonored 2
Frostpunk
Horizon Zero Dawn
Iron Harvest
Kena - Bridge of Spirits [SHORTCUT]Proton 6.3-8 (Default)
Age of Empires II: Definitive Edition
Fallout 4
Grand Theft Auto V
It Takes Two
Metro Exodus
Shadow Tactics: Blades of the Shogun
The Witcher 3: Wild Huntproton_experimental
Mass Effect™ Legendary Edition
Red Dead Redemption 2## Usage
The two outputs are just examples for two prominent commands, see full usage
documentation by running `protonutils -h` on your machine (or `man protonutils`
on Arch Linux if you installed from the AUR).### List Games by Version
$ protonutils list -h
List games by runtime
Usage:
protonutils list [flags]
Flags:
-a, --all List both installed and non-installed games
-h, --help help for list
-c, --ignore-cache Ignore app ID/name cache
-j, --json Output JSON (implies -a and -i)
-i, --show-id Show app ID
-u, --user string Steam user name (or SteamID3)### Update Proton-GE
$ protonutils ge update -h
Download and extract the latest Proton-GE releaseUsage:
protonutils ge update [flags]Flags:
-f, --force Force last version update
-h, --help help for update
-k, --keep Keep downloaded archive of last version### Bulk Update Compatibiliy Tool Versions
$ protonutils compattool migrate -h
Migrate compatibility tool version mappings from on version to another. Version parameters have to be version IDs. See `compattool list` for list of possible options.Usage:
protonutils compattool migrate [flags]Flags:
-h, --help help for migrate
-r, --remove Remove fromVersion after migration
-y, --yes Do not ask$ protonutils compattool migrate Proton-6.21-GE-2 Proton-7.0rc2-GE-1
Proton-6.21-GE-2 -> Proton-7.0rc2-GE-1* Cyberpunk 2077
* DEATHLOOP
* Horizon Zero DawnReally update? [y/N]
### Clean Unused `compatdata` Directories
$ protonutils compatdata clean
Calculating unused compatdata directory sizes...19 B Fallout 4
Total size: 19 B
WARNING: Backup save game data for games without Steam Cloud support!
Do you want to delete compatdata directories? [y/N]## Configuration
### Default User
`uid` can be a Steam user name or a SteamID3.
$ protonutils config user
### Support for Steam from Flatpak / Change Steam Root Path
$ protonutils config steam_root ~/.var/app/com.valvesoftware.Steam/data/Steam
### Reset Option
$ protonutils config steam_root ""
[0]: https://github.com/ValveSoftware/Proton
[1]: https://github.com/GloriousEggroll/proton-ge-custom
[2]: https://aur.archlinux.org/packages/protonutils/
[3]: https://github.com/luxtorpeda-dev/luxtorpeda