Synchronize games from other platforms into your Steam library

Overview

BoilR

Description

This little tool will synchronize games from other platforms into your Steam library, using the Steam Shortcuts feature. The goal is that you do not have to leave your Steam library to launch games from other launchers/stores.

Features

  • Download art from SteamGridDB
  • Legendary integration
  • Epic Games Store integration
  • Itch.io integration
  • Origin integration (currently only windows, linux comming soon)
  • GOG integration
  • Cross Platform (Linux & Windows)
  • UI For configuration
  • Small (~1.5mb on disk)
  • Lightweight (~2mb ram)
  • Fast synchronization (~30ms)
  • Fast art download (as fast as your internet will take you)
  • UPlay integration
  • Lutris integration
  • XBox/Microsoft Store integration
  • Scheduling of synchronization
  • Steam Deck support (should work, but need to test when I get one)

Beta

This tool is still in beta, there are still lots of things to do, but the things that are there work. Feel free to submit issues and pull requests.

Getting started

  • Download the latest release from the releases page.
  • Choose the UI version or the cli version (if in doubt pick the UI version)
  • Place it in a folder of your choice.
  • Run the executable.
  • Restart Steam to see your new shortcuts.

Getting art for your shortcuts

  • Get a SteamGridDB API key
  • For the CLI version, Write it in the config.toml file (see how in the config section).
  • for the Ui version , copy it into the auth key input.
  • Run the executable again

Configuration

The tool reads its configuration from a config.toml file. You can either manually edit this file or use the UI version to changing these configurations.

Here is a simple example of how to write the config file:

[steamgrid_db]
auth_key="your steamgrid db auth key"

And here is a full example of all configuration options:

[epic_games]
enabled=true #On windows this is default true, on linux default false
location="C:\\ProgramData\\Epic\\EpicGamesLauncher\\Data\\Manifests" #If this value is not defined, the tool will try to find it automatically (only windows). If it can't find it, it will fail and tell you.
create_symlinks = true #Only for Linux, To get around a bug in steam where paths can not contain spaces, BoilR creates symlinks in ~/.boilr/link and uses those. 

[legendary]
enabled=false #On windows this is default false, on linux default true
executable="legendary" #If this value is not defined, "legendary" will be used, it is assumed to be on the path.

[itch]
enabled=false #Default false
location="C:\\Users\\user\\AppData\\Roaming\\itch" #If this value is not defined, "%APPDATA%itch" will be used on windows, and HOME/.config/itch on linux.
create_symlinks = true #Only for Linux, To get around a bug in steam where paths can not contain spaces, BoilR creates symlinks in ~/.boilr/link and uses those. 

[origin]
enabled=false #Default false
location="C:\\ProgramData\\Origin" #If this value is not defined, "%PROGRAMGDATA%origin" will be used on windows, and HOME/Games/origin/drive_c/ProgramData/Origin/ on linux.

[gog]
enabled=false #Default false
location="C:\\ProgramData\\GOG.com\\Galaxy" #The location of GOG Galaxy will default to this value if not defined on windows and "~/Games/gog-galaxy/drive_c/ProgramData/GOG.com/Galaxy" on linux.
create_symlinks = true #Only for Linux, To get around a bug in steam where paths can not contain spaces, BoilR creates symlinks in ~/.boilr/link and uses those. 
wine_c_drive="/home/username/Games/gog-galaxy/drive_c" #Only for Linux, Is mandatory on linux. 

[steam]
location="C:\\Program Files (x86)\\Steam\\" #If this value is not defined, the tool will try to find it automatically. If it can't find it, it will fail and tell you.

[steamgrid_db]
enabled = true #If false, the whole download of custom art will be skipped.
auth_key="<your steamgrid db auth key>" #This value is mandatory if you have steamgrid_db enabled.

Tips for Linux

If you are on linux, and want to use one of the launchers that is not available natively, here are a few ways that you can make them work.

GOG

  • Install Lutris
  • Install GOG thourgh Lutris here
  • Set the path to GOG in the config.toml (or through the ui)
  • Run BoilR
  • Remember to pick which version of Proton you want to use for a game, before the first time you play it.

Epic

I recommend you just use Legendary. But if you really want to use EGS you can:

  • Install Lutris
  • Install EGS thourgh Lutris here
  • Set the path to EGS in the config.toml (or through the ui)
  • Run BoilR
  • Remember to pick which version of Proton you want to use for a game, before the first time you play it.

Origin

Currently BoilR can't setup shortcuts to Origin because Origin uses a special link to open games. But I know of a workaround, it is just going to take a bit to make (basicly let Boiler take that url as input and let it call origin with proton settings and the url). This section will be updated when it is ready. Untill then you can still play origin games thourgh Lutris here

License

This project is dual license MIT or Apache 2.0 , it is up to you. In short, you can do what you want with this project, but if in doubt read the license files.

Comments
  • Heroic launcher

    Heroic launcher

    The readme mentions that Heroic is supported but the config examples don't show what needs to be added and the GUI doesn't show it as an option. Are there instructions on how to do that?

    (I am using Heroic installed via Discover/flatplack on Steam Deck)

    opened by marmite22 54
  • Icon images don't apply in Steam

    Icon images don't apply in Steam

    Describe the bug Icon images dont seem to apply.

    To Reproduce Steps to reproduce the behavior:

    1. Select an Icon from the icon images for a game
    2. Go to steam and the icon is not set for the game. In desktop mode you can see there is no icon. In gaming mode you can see there is no icon set when you bring up the steam menu while in game.

    Expected behavior Expect the icon image to be set.

    Screenshots I will try to add some screenshots shortly below

    Desktop (please complete the following information):

    • OS: SteamOS
    • BoilR Version: 1.5.1
    • Launcher: Launcher doesn't seem to matter, I have the same issue with games added from Heroic and game I have added manually.
    bug 
    opened by Wibbbs 29
  • Boilr does not import or recognize Epic Games Store games in Steam Deck

    Boilr does not import or recognize Epic Games Store games in Steam Deck

    Hi, it's a shame because although heroic games import them well and add them to the game mode in addition to their covers...it seems that boilr although it says it imports the ones from Epic Games Store really doesn't do it well. I don't know why it doesn't recognize them or find them, but I would like it to be fixed in an update because I don't like adding them manually to the game mode.

    bug need more info 
    opened by Sightlyjester 29
  • Crash on selecting 'Images'

    Crash on selecting 'Images'

    I am running BoilR on Steam Deck, with latest system software and up to date BoilR from Flathub.

    The program starts fine, but when 'Images' is selected on the left side of the main Window, it crashes. Here's the output from the terminal:

    (deck@steamdeck ~)$ flatpak run io.github.philipk.boilr
    Setting for platform EGS are invalid, reason: Manifests not found
    Setting for platform Legendary are invalid, reason: No such file or directory (os error 2)
    Setting for platform Itch are invalid, reason: Path not found: Some("/home/deck/.config/itch/db/butler.db-wal")
    Setting for platform Origin are invalid, reason: Default path not found
    Setting for platform Gog are invalid, reason: Could not find path: "/home/deck/Games/gog-galaxy/drive_c/ProgramData/GOG.com/Galaxy"
    Found 2 game(s) for platform Heroic
    Setting for platform Flatpak are invalid, reason: No such file or directory (os error 2)
    thread 'main' panicked at 'source slice length (1620000) does not match destination slice length (2160000)', /run/build/boilr/cargo/vendor/image-0.24.3/./src/codecs/webp/extended.rs:462:21
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    

    I've tried to run Rust backtrace as suggested in the error, by running flatpak run io.github.philipk.boilr --env='RUST_BACKTRACE=1' but it does not seem to work. I am uncertain if I'm not doing something right, or the error message is wrong/outdated.

    Please let me know if there's anything further I can do to provide diagnostic info.

    bug 
    opened by ak-42 24
  • Package as Flatpak and publish on Flathub

    Package as Flatpak and publish on Flathub

    Since the Steam Deck comes with Flathub enabled and Discover pre-installed, It would be really nice to have the GUI build of BoilR available on Flathub.

    enhancement 
    opened by jrtberlin 21
  • [STEAMDECK] Latest version not applying icon images

    [STEAMDECK] Latest version not applying icon images

    Per title, I downloaded the latest FlatPak version of Boilr and ran the import, however after restarting Steam none of my non-Steam games had been updated to use icon images.

    Is there something I need to change in settings or are the icons downloaded to a directory somewhere to be manually applied?

    bug 
    opened by rkr87 20
  • [Feature Request] Playnite Support

    [Feature Request] Playnite Support

    I tried to code this myself but due to lack of time and health I have to put a nail into it.

    Just can't sit long enough at a desk to pull it off, so I put this up here to pick up if interested.

    The Support for Playnite would be Awesome. Its an wonderfull Library Manager and Multi Launcher. Even usable under Linux with Wine. Its also great for Emulation. So this would be a great way to get Emulation Support into BoilR

    Playnite stores all the Game Entries in a LiteDB Database "games.db" in the "library" folder. In Portable Mode this Folder is in the Playnite Folder itself. In Installed Mode it's in the Playnite Folder under %appdata%. The games.db has everything in it, we need. Even pointers to the Artwork already downloaded in Playnite. So, we don't need to search SteamGridDB for Artwork if it already exists in Playnite.

    For Launch Options a checkbox for "Launch via Playnite" and "Launch directly" would be awesome. Quite like It's already there for Heroic.

    enhancement 
    opened by NightHammer1000 17
  • Heroic Launer Games not starting (steamdeck)

    Heroic Launer Games not starting (steamdeck)

    Currently i use BoilR to import my games to steam für the steamdeck. I use Heroic Launer to install my epic games. It works fine if i launch them through the Heroic Launcher. I can play them. But if i use the steam links (created by BoilR) it doesnt work. Both applications are installed as flatpak. I don't know if this helps: https://github.com/redromnon/HeroicBashLauncher

    bug 
    opened by lublak 17
  • Flatpak Lutris Games are not Found

    Flatpak Lutris Games are not Found

    If you have the Flatpak Version of Lutris installed, the Games are not found.

    Also a option to Import the Games Direct Path into Steam and not the Lutris Launch Action would be nice

    bug 
    opened by NightHammer1000 15
  • BoilR on Steam Deck Result::unwrap() Err Utf8Error

    BoilR on Steam Deck Result::unwrap() Err Utf8Error

    (First issue i ever reported so sorry if it's gonna be a bit chaotic)

    Version used: v0.9.0 Tested on: Steam Deck - SteamOS3

    Upon running the "linux_BoilR" binary in Konsole, after allowing it to be executable, i got the following output:

    Found 1 user(s) Found 25 shortcuts for user: /home/deck/.steam/steam/userdata/--------- (edited out my user number) thread 'main' panicked at 'called Result::unwrap() on an Err value: Utf8Error { valid_up_to: 33, error_len: Some(1) }', src/itch/butler_db_parser.rs:33:55 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

    I do get the same output when running "linux_ui_BoilR" too. The settings were set up like i did on my Arch install where it worked seemingly as supposed to be.

    Googling the error message didn't get me far as I'm neither versed in rust and installing packages manually on steamOS is advised against due to the nature of updates having the possibilty to undo packages that may be installed manually via pacman on SteamOS.

    opened by Sarume 15
  • BoilR needs to set STEAM_COMPAT_DATA_PATH for Origin shortcuts on Linux

    BoilR needs to set STEAM_COMPAT_DATA_PATH for Origin shortcuts on Linux

    I installed Titanfall 2 from Origin, and BoilR detects it properly and will import it. But the method from which I installed it requires me to change the launch options to get it to launch correctly (the default BoilR launch options appear to launch the installer again via Origin).

    Once I changed those, I unchecked Titanfall 2 from BoilR, in hopes it would just leave the existing shortcut, as I discovered it will overwrite those launch options when left checked. But when I uncheck it, it also removes the shortcut from Steam.

    This is similar to #122 but with the additional note of BoilR overwriting a modified shortcut I figured I'd make my own issue to separate things.

    I have the VDF files from Steam, but Github doesn't seem to like attaching them, what's the best way to share those with you for troubleshooting?

    bug 
    opened by bkoehle2 14
  • Selecting Images and then Steam ID no longer works on Steam Deck, it crashes

    Selecting Images and then Steam ID no longer works on Steam Deck, it crashes

    Describe the bug Both Linux version and windows version crash on Steam deck after selecting Images and Steam ID. To Reproduce Steps to reproduce the behavior:

    1. Go to 'Images'
    2. Click on 'Steam User ID'
    3. Scroll down to 'desired ID' 4.Crashes
    • OS: [Steam Deck]
    • BoilR Version [e.g. v.1.7.19]
    • Launcher (if applicable)
    bug 
    opened by moraroy 3
  • Doesn't start anymore on Kubuntu 22.04

    Doesn't start anymore on Kubuntu 22.04

    The latest version of BoilR (1.7.17) it's not opening here.

    Kubuntu 22.04 running the binary version of BoilR on X11.

    https://user-images.githubusercontent.com/12108031/210357289-79b665f7-52bc-4990-9d22-70858c78f724.mp4

    The log from terminal.

    Screenshot_20230103_093153

    bug 
    opened by rauldipeas 15
  • Include non-installed titles from other launchers

    Include non-installed titles from other launchers

    Boilr makes it easy to see all your installed games in one place (steam). But sometimes it'd be nice to be able to have not just that, but all the available/bought games listed too.

    I'm not really sure how feasible this is, but it would be useful if Boilr could add all games from other launchers (i.e. Heroic, Lutris, Itch, on Linux) as Steam shortcuts, just like it does with regular installed games.

    It'd require a bit of extra maintenance by the user, but it could be a nice feature to have all available games listed right on steam, even better with the ability to import them as a separate category

    enhancement 
    opened by Willdrick 4
  • Steam can't launch Heroic games

    Steam can't launch Heroic games

    Describe the bug When I add a game through Heroic, it's works, but when I add a game through BoilR, don't.

    Screenshots Screenshot_20221129_114613 Screenshot_20221129_114931

    Desktop (please complete the following information):

    • OS: Linux, Kubuntu 22.04
    • BoilR Version: v.1.6.7 downloaded from releases page

    Additional context I think they're using different information to launch the games, as showed on screenshots.

    bug 
    opened by rauldipeas 7
  • Can't find EA Games on another disk

    Can't find EA Games on another disk

    Describe the bug So, I have a Game Pass subscription that come with EA Play. I installed Dragon Age Origins throught it on a secondary HDD (Where I put all my games) but Boilr can't find the game. I think that it is important to say that EA Play are installed in one HD and the games on another one. Also, I pointed the config.toml path to where the games are installed and not where the Launcher is

    To Reproduce

    1. Install a EA Play game on another HD
    2. Create a config.toml file and put Origin path as the folder where you installed the game
    3. Open Boilr
    4. Don't see your game listed

    Expected behavior To show the game installed trought EA Play

    Screenshots image

    Desktop (please complete the following information):

    • OS: Windows
    • BoilR Version v.1.7.6
    • EA Play
    bug 
    opened by ToMattBan 2
  • [Feature Request] process images for remote play non steam games

    [Feature Request] process images for remote play non steam games

    Currently BoilR works wonderfully for non-steam games installed to the local device, but provides no way to manage local images for non-steam games that show via remote play.

    enhancement 
    opened by jnackmclain 1
Releases(v.1.7.19)
Owner
Philip Kristoffersen
I make tools and games
Philip Kristoffersen
A sandbox library for making FAST voxel games

voxelize WIP A well-optimized web-based voxel engine. Development Before starting, make sure to install the following: rust node.js cargo-watch # clon

Ian Huang (Shaoru) 146 Dec 30, 2022
This is an online game in which you program your character and he fights with other players

Game for programmers The goal of this project is to create a simple game for programmers. The essence of the game Each player has his own character th

Danila 1 Dec 10, 2021
An ergonomic physics API for bevy games.

Heron An ergonomic physics API for 2d and 3d bevy games. (powered by rapier) How it looks like fn main() { App::build() .add_plugins(DefaultPlug

Jonathan Cornaz 313 Dec 16, 2022
A frontend to Assets purchased on Epic Games Store

Epic-Asset-Manager A frontend to Assets purchased on Epic Games Store Current Screenshot Install Arch Linux Use the AUR package Build flatpak meson _b

Acheta Games 202 Jan 3, 2023
A single-threaded polling-based Rust async executor suitable for use in games, embedded systems or WASM.

simple async local executor An Enlightware® software. Overview A single-threaded polling-based executor suitable for use in games, embedded systems or

Enlightware GmbH 16 Nov 15, 2022
A framework for making games using Macroquad.

Omegaquad A framework for making games using Macroquad. After writing maybe 5 games and finding myself always going to the previous project to copy-pa

null 14 Oct 13, 2022
A simple camera for properly displaying tile-based low resolution pixel perfect 2D games in bevy.

Bevy Tiled Camera A simple camera for properly displaying low resolution pixel perfect 2D games in bevy. The camera will adjust the viewport to scale

sark 10 Oct 5, 2022
A Rust promise for games and immediate mode GUIs

⌛ poll-promise A Rust promise for games and immediate mode GUIs Description poll-promise is a Rust crate for polling the result of a concurrent (e.g.

Embark 82 Dec 17, 2022
A single-threaded executor for deferred async code for games.

This crate provides a single-threaded, sequential, parameterized async runtime. In other words, this creates coroutines, specifically targeting video game logic, though cosync is suitable for creating any sequences of directions which take time.

Jonathan Spira 49 Dec 9, 2022
Wein2D.js bindings for creating browser games in Rust using WebAssembly.

Wein2D.js-WASM Wein2D.js bindings for creating browser games in Rust using WebAssembly. Wein2D.js-WASM requires Wein2d.js to be loaded in the same doc

DevTaube 1 Apr 14, 2022
Cross-platform (including wasm) persistent key value store plugin for rust games/apps

bevy_pkv bevy_pkv is a cross-platform persistent key value store for rust apps. Use it for storing things like settings, save games etc. Currently, it

Johan Klokkhammer Helsing 25 Jan 9, 2023
A framework for modding and instrumenting games.

me3 A framework for modifying and instrumenting games. Explore the docs » Report Bug · Request Feature About The Project Built With Getting Started Pr

Gary Tierney 13 Dec 18, 2022
A framework for building adventure games in Bevy.

Bevy_adventure A framework for building 3d adventure games in Bevy. preview.mp4 Features Interactive trait is the backbone of the framework, allowing

Hank Jordan 9 Jan 5, 2023
Bevy virtual Joystick for mobile games (Works with mouse on desktop)

Bevy Virtual Joystick Create and use a Virtual Joystick in a UI for bevy Game Engine. Versions Aviable and compatible versions bevy VirtualJoystick 0.

Sergio Alejandro Ribera Costa 7 Apr 16, 2023
Explicitly set sprite layers for sprites in Bevy games.

extol_sprite_layer lets you specify the drawing order for sprites in your Bevy game using a separate component rather than via the z-coordinate of you

Ash 5 May 2, 2023
Bevy plugin for an AssetServer that can load embedded resources, or use other AssetServers based on the path.

Bevy-Embasset Embed your asset folder inside your binary. bevy-embasset adds support for loading assets embedded into the binary. Furthermore, it can

Johnny Tidemand Vestergaard 9 Aug 4, 2022
game engine built in rust, using wgpu and probably other stuff too

horizon game engine engine for devpty games, made in 99.9% rust and 0.1% shell. this is our main project currently. the engine will be used for most i

DEVPTY 2 Apr 12, 2022
Sandbox is a pixel physics simulator inspired by other such like Sandspiel and Noita

Sandbox Sandbox is a pixel physics simulator inspired by other such like Sandspiel and Noita. It's also a precursor for an ongoing game project. Sandb

Okko Hakola 76 Nov 3, 2022
Transform your terminal into an art canvas where you can draw stuff!

Termdraw Turn your terminal into the drawing cavnas of your dream... or not! Installation To install this dream-come-true of a tool simply run cargo i

Enoki 5 Nov 23, 2022