sarvex / HeroicGamesLauncher

A Native GOG and Epic Games Launcher for Linux, Windows and Mac.
https://heroicgameslauncher.com
GNU General Public License v3.0
0 stars 0 forks source link

Heroic Games Launcher

GitHub release GitHub all releases Flathub GPLv3 license
Discord Patreon PayPal kofi

Heroic is an Open Source Game Launcher for Linux, Windows and macOS.
Right now it supports launching games from the Epic Games Store using Legendary, GOG Games using our custom implementation with gogdl and Amazon Games using Nile.

Heroic is built with Web Technologies:
Typescript React MUI NodeJS Electron electron-builder Jest Vite

Index

Features available right now

Planned features

Supported Operating Systems

Language Support

Expand Thanks to the community, Heroic was translated to almost 40 different languages so far: - English - Azerbaijani - Basque - Belarussian - Bosnian - Bulgarian - Catalan - Czech - Croatian - Simplified Chinese - Traditional Chinese - Dutch - Estonian - Finnish - French - German - Greek - Japanese - Korean - Hungarian - Italian - Indonesian - Malayalam - Norwegian Bokmål - Persian - Polish - Portuguese - Portuguese (Brazil) - Romanian - Russian - Spanish - Slovak - Swedish - Tamil - Turkish - Ukrainian - Vietnamese

Help with Translations Here

Installation

Linux

Flatpak

Flathub Badge

Heroic is available on Flathub, so you should be able to easily install it on most distros with Software Centers (Pop!_Shop, Discover, etc.)

Debian, Ubuntu and Derivatives

Download the file ending in .deb from the latest release.
Double-click it to open it up in your Software Manager, or run sudo dpkg -i heroic_*_amd64.deb to install it directly:

Arch (AUR)

We have two AUR packages available:

Please see the Arch Wiki on how to install them

Fedora

COPR repo

Heroic for Fedora is available on this COPR repo.
Enable it with sudo dnf copr enable atim/heroic-games-launcher, then install Heroic with sudo dnf install heroic-games-launcher-bin

Binary package from the releases page

You can alternatively download the file ending in .rpm from the latest release and install it with sudo dnf install ./heroic-*.x86_64.rpm

Other Distributions (AppImage and TAR.XZ)

Since these two distribution formats don't have a form of dependency management, make sure the curl command is available. You might run into weird issues if it's not.

AppImage
.tar.xz

Windows

WinGet

If you use WinGet (installed by default on Windows 11 and modern versions of 10), you can run winget install Heroic in a terminal to install Heroic.

Manual installl

Download the Heroic Installer (Heroic-x.x.x-Setup.exe) or the portable version (Heroic-x.x.x-Portable.exe) from the latest release. Run the executable you downloaded to install/run Heroic.
The Setup will create shortcuts to Heroic on your Desktop and in your Start Menu.

macOS

If you use Homebrew, you can run brew install --cask --no-quarantine heroic to install Heroic.
Otherwise, download the file ending in .dmg from the latest release, double-click it to mount it, and drag the "Heroic" application into the "Applications" folder.

Development environment

This part will walk you through setting up a development environment so you can build Heroic binaries yourself or make changes to the code.

  1. Make sure Git, NodeJS, and Yarn are installed

  2. Clone the repo and enter the cloned folder, for example with these commands:

    git clone https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher.git --recurse-submodules
    cd HeroicGamesLauncher
  3. Make sure all dependencies are installed by running yarn

Building Heroic Binaries

Run the appropriate command for your OS:

Building with VS Code

Instead of using the above commands to build Heroic, you can also use the Tasks in VSCode to build. To do that, open up the command palette (Ctrl + P), type in "task" and press Space. You will then see 3 build tasks, "Build for Linux", "Build for Windows", and "Build for MacOS". Click the one you want to run.

Quickly testing/debugging Heroic on your own system

If you want to quickly test a change, or you're implementing features that require a lot of restarts, you can use Vite's development server to speed up the process:
Go to the "Run and Debug" tab of VSCode and start the "Launch Heroic (HMR & HR)" task (alternatively, if you're not using VSCode or just prefer the terminal, run yarn start). Heroic will start up after a short while, and once you make any change to the code, it'll reload/restart.

Note: If you do not need the React developer tools while testing changes, you can skip their install by setting the HEROIC_NO_REACT_DEVTOOLS environment variable before running yarn start (for example with HEROIC_NO_REACT_DEVTOOLS=1 yarn start).

Development Using a Container

Expand If you would prefer, we have a docker container defined to develop / build Heroic with (a potential reason being to avoid loading tons of dependencies on your host filesystem). There are two methods, based on whether you use VS Code. **VS Code** There is a `.devcontainer` directory containing a definition that VS Code will recognize for automatically opening your local Heroic directory in a container in VS Code. **NOTE: this requires that you install the 'Remote - Containers' extension.** 1. Open the root of your local Heroic directory in VS Code. 2. You should get a prompt in the bottom right to build and open the project in the dev container. 3. If the above prompt does not occur, on the bottom left, there is a green icon that should be there if the remote extension is installed. Click on it, and select "Reopen in container". 4. The bottom left green icon should now say: "Dev Container: Heroic Games Launcher". After the container's package manager runs, open a new terminal session and you should be able to run bash commands from within the container. Any yarn dist:linux builds should also now show up on your host filesystem. **Manually Building the Docker Image** If you don't use VS Code or don't want it integrated with the container, you can build and run the container manually using either Docker or Podman. 1. From the root of your local Heroic directory, run: ```bash docker build -t heroicdevcontainer -f Dockerfile . ``` 2. Assuming all went well, you can now enter the container: ```bash docker run -it -v ./:/tmp/heroic localhost/heroicdevcontainer:latest ``` 3. The above command will mount your local Heroic dir to `/tmp/heroic` in the container (unless you used a different path). ``` cd /tmp/heroic ``` And you should be good to go, code and build away!

Testing with Docker

It is recommended to run end to end tests with Docker so you don't alter your local config files or have your local config files interfere with the tests.

To run e2e tests on the unpackaged app running in dev mode. From the root of your local Heroic directory, run:

yarn test:e2e

To run e2e tests on the packaged app. From the root of your local Heroic directory, run:

yarn test:e2ePackaged

Sponsors

Thanks Weblate for hosting our translations

weblate

Thanks Signpath for providing free signing of Windows binaries

signpath

Screenshots

Expand ![image](https://user-images.githubusercontent.com/26871415/184140182-0b0b92b0-e388-401f-910b-ff95b22db059.png) ![image](https://user-images.githubusercontent.com/26871415/184139791-8666bc1d-a54f-467c-8c30-ea1eb6d24458.png) ![image](https://user-images.githubusercontent.com/26871415/184139827-ff8ae4ef-f5c3-42f4-b789-1b30595ec0b0.png) ![image](https://user-images.githubusercontent.com/26871415/184140036-28ee0d8b-a263-4ed8-a30a-1cd19436f90a.png) ![image](https://user-images.githubusercontent.com/26871415/184141942-937f8cc0-f148-4729-b03e-bfcc8132c233.png) ![image](https://user-images.githubusercontent.com/26871415/184144277-699e1108-52d9-4558-b113-84db5c90922c.png) ![image](https://user-images.githubusercontent.com/26871415/184144417-b3eb0ea5-5433-4273-ad35-15317f22588b.png)

Credits

Weblate: Localization platform

Those Awesome Guys: Gamepad prompts images

jump