Convert Figma logo to code with AI

PhilipK logoBoilR

Synchronize games from other platforms into your Steam library

1,476
43
1,476
92

Top Related Projects

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.

Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.

8,115

Lutris desktop client

2,235

All your games in one place

Quick Overview

BoilR is an open-source tool designed to integrate non-Steam games and emulators into your Steam library. It automatically adds games from various platforms like Epic Games, GOG, and Heroic, as well as emulated games, to Steam, allowing users to launch and manage all their games from a single interface.

Pros

  • Simplifies game management by consolidating multiple platforms into Steam
  • Supports a wide range of platforms and emulators
  • Automatically updates game lists and artwork
  • Cross-platform compatibility (Windows, Linux, and Steam Deck)

Cons

  • May require manual configuration for some emulators or less common platforms
  • Potential for conflicts with Steam's own library management
  • Relies on third-party platforms' stability and API changes
  • Limited customization options for advanced users

Getting Started

  1. Download the latest release from the BoilR GitHub releases page.
  2. Extract the downloaded archive to a location of your choice.
  3. Run the BoilR executable.
  4. Select the platforms and emulators you want to integrate with Steam.
  5. Click "Add to Steam" to start the integration process.
  6. Restart Steam to see your newly added games.

For more detailed instructions and troubleshooting, refer to the BoilR documentation.

Competitor Comparisons

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.

Pros of HeroicGamesLauncher

  • Dedicated launcher for Epic Games and GOG, providing a native interface for these platforms
  • Supports cloud saves and syncing game progress across devices
  • Offers wine/proton integration for running Windows games on Linux

Cons of HeroicGamesLauncher

  • Limited to Epic Games and GOG platforms, while BoilR supports multiple launchers
  • May require more system resources as a standalone application
  • Less flexible in terms of integrating with existing Steam libraries

Code Comparison

HeroicGamesLauncher (TypeScript):

export const installGame = async (
  gameInstallParams: GameInstallParams
): Promise<void> => {
  const { appName, path, platformToInstall } = gameInstallParams
  // Installation logic here
}

BoilR (Go):

func (a *App) ImportGames(ctx context.Context) error {
    for _, importer := range a.importers {
        err := importer.Import(ctx)
        if err != nil {
            return fmt.Errorf("error importing games: %w", err)
        }
    }
    return nil
}

The code snippets show different approaches: HeroicGamesLauncher focuses on game installation for specific platforms, while BoilR emphasizes importing games from various sources into a unified library.

Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.

Pros of Playnite

  • More comprehensive game library management with support for multiple platforms
  • Rich feature set including game metadata scraping and customizable UI
  • Extensible plugin system for additional functionality

Cons of Playnite

  • Larger application size and potentially higher resource usage
  • Steeper learning curve due to more complex features and options
  • May be overkill for users only interested in Steam library management

Code Comparison

Playnite (C#):

public class Game : DatabaseObject
{
    public string Name { get; set; }
    public Guid PlatformId { get; set; }
    public List<Guid> GenreIds { get; set; }
}

BoilR (Go):

type Game struct {
    Name     string
    Platform string
    Genres   []string
}

Both projects handle game data, but Playnite's implementation is more complex, reflecting its broader scope and feature set. BoilR's simpler structure aligns with its focused approach on Steam library integration.

8,115

Lutris desktop client

Pros of Lutris

  • Broader game support, including non-Steam games and emulators
  • More mature project with a larger community and extensive documentation
  • Offers a graphical user interface for easier management

Cons of Lutris

  • More complex setup and configuration process
  • Heavier resource usage due to its comprehensive features
  • Slower development cycle compared to BoilR

Code Comparison

BoilR (Go):

func (s *Steam) GetInstalledApps() ([]App, error) {
    apps := []App{}
    for _, libraryFolder := range s.libraryFolders {
        folderApps, err := s.getAppsInFolder(libraryFolder)
        if err != nil {
            return nil, err
        }
        apps = append(apps, folderApps...)
    }
    return apps, nil
}

Lutris (Python):

def get_installed_games(self):
    """Return the list of installed games."""
    return [
        game for game in self.games
        if game.get('runner') and game.get('installed') is True
    ]

The code snippets show different approaches to retrieving installed games. BoilR focuses on Steam libraries, while Lutris has a more generic approach for various game sources.

2,235

All your games in one place

Pros of GameHub

  • More comprehensive game management features, including library organization and game launching
  • Supports a wider range of gaming platforms and stores
  • Offers a full graphical user interface for easier navigation and management

Cons of GameHub

  • Larger and more complex project, potentially requiring more system resources
  • May have a steeper learning curve for users due to its extensive feature set
  • Limited to Linux operating systems

Code Comparison

GameHub (C#):

public class Game : BaseObject
{
    public string name { get; set; }
    public string? description { get; set; }
    public GameSource? source { get; set; }
    public GameStatus status { get; set; }
}

BoilR (Go):

type Game struct {
    ID          string
    Name        string
    Hidden      bool
    Tags        []string
    LastPlayed  time.Time
    PlayTime    time.Duration
    ImageURL    string
    IconURL     string
}

Both projects define game structures, but GameHub's implementation is more detailed and object-oriented, while BoilR's is simpler and more focused on basic game information.

GameHub offers a more feature-rich experience for Linux users, with comprehensive game management capabilities. However, BoilR is a lighter, cross-platform solution focused specifically on adding non-Steam games to Steam. The choice between them depends on the user's needs and operating system.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

BoilR

BoilR automatically adds (almost) all your games to your Steam library (including image art).

BoilR Screenshot BoilR Images Screenshot

It uses the Steam 3rd party shortcuts feature and does not require you to set up anything. The goal is that you do not have to leave your Steam library to launch games from other launchers/stores, so that you can find all the games that you have available. Optionally, you can set up BoilR to automatically download artwork from SteamGridDB.

Getting started

  • Download the latest release from the releases page.
  • Run the executable.
    • if you are on a Steam Deck, right click and mark it "executable" under properties
  • Click Import Games.
  • Restart Steam to see your new shortcuts.

If you are on Linux (or a Steam Deck) you can install BoilR from flathub. Be aware that the flatpak version has some limitations compared to the native version. There is also an AUR package

Index

Features

  • Show games from other platforms in your steam library
  • Automatically download art from SteamGridDB
  • Customize your Steam games art
  • Backup your shortcuts
  • Cross Platform (Windows, Linux, Mac, Steam Deck)
  • Standalone / No install needed
  • Small (~3mb on disk)
  • Lightweight (~30mb ram)
  • Fast synchronization (~1 second)

Integrations

BoilR can import games from many platforms, but there are limits based

PlatformsWindowsLinux (executable)Linux (flatpak)
Epic Games StoreYesYes, install through protonYes, install through proton
Itch.io (Windows Games)YesNoNo
Itch.io (Linux Games)NoYesYes
OriginYesYes, install through protonYes, install through proton
GOGYesNo (Use Heroic or MiniGalaxy)No (Use Heroic or MiniGalaxy)
UPlayYesYesYes
Lutris (Flatpak)NoYesYes (make sure Lutris is shut down first)
Lutris (Non-Flatpak)NoYesYes
LegendaryNoYesYes
RareNoYesYes
Heroic LauncherNoYesYes
Amazon GamesYesNoNo
FlatpaksNoYesYes
BottlesNoYesYes
MiniGalaxyNoYesYes
PlayniteYesNoNo
Game PassYesNoNo

Getting cover art for your shortcuts

  • Get a SteamGridDB API key
  • Run BoilR
  • Put the auth key in the input in the settings
  • Click "Import games"

Tips

Tips for Linux

If you are running Linux (this includes Steam Deck) and are running into problems check tips for Linux section

Configuration

Most people will not have to configure anything, just open BoilR and click Import Games, but it is possible to configure a lot, see the configuration section

Run as CLI

In previous releases there was both a CLI and UI version of BoilR, now there is only a UI version. But you can add the commandline argument --no-ui and then the UI version will act like the old CLI version. This saves some CO2 from not having to build 2 versions of BoilR for each platform, and it also makes development easier.

Rename shortcuts

You can rename a shortcut from BoilR by double clicking it from the import list and picking a new name. If you want to revert back to the original name, just clear the name and click rename.

Try the native version over the flatpak

In general, the native (downloaded form the releases page) version of BoilR is the more reliable one. If you experience bugs or errors please try the native version and see if that fixes your problem.

Contributions

How can I help/contribute?

If you are a coder, you are very welcome! You can fork this repo and then create a pull request.

To check formats and errors of code before run the code:

cargo fmt

cargo check

To run BoilR just write:

cargo run

If you are not a developer (or you don't like to code in Rust) do spread the work and create issues/discussions for anything.

I found a bug, what do I do?

Check that there is not already an issue for it here If not, create a new issue and I will have a look at it (remember to write which OS you are using).

I have a great idea / I would like support for a specific platform, what do I do?

Check out the discussions and feel free to create new discussions for your idea.

Can I donate to support BoilR?

Nope, please don't, donate it to your favorite charity instead, and if you don't have one of those may I suggest something like GiveWell.

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.

What is up with the name BoilR?

This tool turns things into Steam, therefor boiler, And it is written in Rust so therefor: BoilR