Its-Haze / league-rpc

Just a better Rich Presence for League of Legends. Showcasing Live Game Stats, Summoner Icons, Rank Emblems and Champion Skins on Discord.
GNU General Public License v3.0
27 stars 6 forks source link
discord discord-rpc league-of-legends league-of-legends-python league-of-legends-rpc league-rich-presence leaguerpc linux presence-detection rich-presence rich-presence-discord riot-games-league rpc teamfight-tactics
![GitHub All Releases](https://img.shields.io/github/downloads/its-haze/league-rpc/total.svg?style=for-the-badge&color=purple) ![Stargazers](https://img.shields.io/github/stars/its-haze/league-rpc.svg?style=for-the-badge) ![Issues](https://img.shields.io/github/issues/its-haze/league-rpc.svg?style=for-the-badge) ![MIT License](https://img.shields.io/github/license/its-haze/league-rpc.svg?style=for-the-badge)

Windows Mac Python

A Better League of Legends Rich Presence For Discord!

Enhance your Discord experience while playing League of Legends! This project brings unique Discord Rich Presence integration for League players, including features not even available natively from the game!

Got questions already? Don't hesitate to join the Discord Community Server

Table of Contents

Showcase

Summoner Icons

Who let the Kitten and the Penguin out? I did 😎. Now you too, can show off your favorite summoner icon, righ there on Discord!

summoner-icon-1 summoner-icon-2

Ranked Games

You can show off your rank emblem right in your Discord Presence.

If you really don't want to show your rank, then add the --no-rank argument, to disable this feature. As it's enabled by default.

lobby-ranked lobby-ranked-2

In Game

Skins (Animated ones are included)

Ezreal-Animated Lux-Animated

Aphelios-skin

TFT (Teamfight tactics)

Showcase your favorite TFT Companion!

tft-companion-1 tft-companion-2

Arena

To show these Arena ranked emblems, you will need to add the argument --show-rank when starting this application

Arena-rpc-example Arena-rpc-example-ranked-emblem Arena-ingame-example

Swarm

Swarm PVE is now officially supported

image


Installation

Prerequisites

Download the latest version.

  1. Go to the Releases Page
  2. Find the latest version and download leagueRPC.exe located under the assets section.

Run the application.

  1. Locate the downloaded leagueRPC.exe file. Probably in your Downloads folder.
  2. Double-click the file to start leagueRPC. You will need to accept the windows popup, if one may appear.
  3. Done ✨

Build from source (This is what the cool kids do!)

If you prefer using the command line, follow these steps:


Command Line Arguments

LeagueRPC supports various command-line arguments to enhance flexibility and user customization.

✨ Means Recommended.

--launch-league <location> ✨

The --launch-league argument allows you to automatically launch the League of Legends client alongside leagueRPC. This feature is designed to make your experience more seamless by integrating the game launch into the RPC setup.

By default, if --launch-league is specified without a path, the default installation path will be used:

C:\Riot Games\Riot Client\RiotClientServices.exe

This path is correct for the majority of installations. If your League of Legends client is installed in this location, you do not need to specify the path explicitly.

If you have installed League of Legends in a non-default location, you must provide the path to the RiotClientServices.exe file when using --launch-league. For example, if your game is installed on the D drive, you can start leagueRPC with the game like this:

.\leagueRPC.exe --launch-league "D:\Riot Games\Riot Client\RiotClientServices.exe"

This command tells leagueRPC to launch the League of Legends client from the specified location.

--client-id <discord-app-id> ✨

Specify a custom Discord client ID for the RPC connection. Defaults to League of Legends Example .\leagueRPC.exe --client-id 1230607224296968303 - This will show League of Kittens

You can create your own here: Discord Developer Portal. Then use the APPLICATION ID

--no-stats

Opt out of displaying in-game KDA and minion (creep score) statistics in your Discord Rich Presence. By default, these stats are shown.

Example: .\leagueRPC.exe --no-stats

--no-rank

Hide your League rank on Discord (SoloQ/Flex/TFT/Arena) By default, this will be enabled.

Example: .\leagueRPC.exe --no-rank

--hide-emojis

Do you want to hide your Online/Away emoji?. Then add this argument. By default, this will be shown.

Example: .\leagueRPC.exe --hide-emojis

Online Away

--add-process <process-name>

Add custom Discord process names to the search list. This is useful if your Discord client is running under a different process name.

Example: .\leagueRPC.exe --add-process CustomDiscord AnotherProcess

--wait-for-league <seconds>

Specify the time (in seconds) the script should wait for the League of Legends client to start. Use -1 for infinite waiting. This is particularly useful for auto-launch scenarios like with Lutris or other launchers, ensuring the script does not error out if League is not immediately detected. Default is -1

Example: .\leagueRPC.exe --wait-for-league 30

--wait-for-discord <seconds>

Similar to --wait-for-league, specify the time (in seconds) to wait for Discord to start. Use -1 for infinite waiting. This ensures that the script waits for Discord to fully start, avoiding premature errors. Default is -1

Example: .\leagueRPC.exe --wait-for-discord 15

Combine arguments

Each of these arguments can be combined to tailor the Discord RPC to your preferences.

.\leagueRPC.exe --client-id 1194034071588851783 --launch-league --no-stats --no-rank --add-process CustomDiscord --wait-for-league -1 --wait-for-discord 15 --show-emojis

🛑 All of these arguments are optional. No extra argument is needed for the script to function properly. But in case you want to change something, you now can.

Features

  1. Dynamic Champion Skin Display: If a skin is active, it will display the artwork of that skin, and it's name on Discord!
  2. Live KDA Stats: Keep track of your Kills, Deaths, and Assists updated live during the game.
  3. Creep Score: Your minions (creep score) are displayed, providing a comprehensive view of your in-game performance.
  4. Ranks: Show your rank detailes on SoloQ/Flex, TFT, and Arena!
  5. Precise In-Game Time Tracking: The in-game time is calculated with precision. Even if the script stops, when restarted, it will display the correct in-game time, ensuring continuous and accurate representation of your game status.
  6. Discord Reconnection Window: While the script only works while Discord is up and running. There are instances where discord could crash. This program will attempt to reconnect to Discord's RPC even if the app is not running. For a period of time, and only exit when too much time has passed. Default is (50) seconds to restart/reconnect Discord.
  7. Disables Native League Presence: This application is able to detect, and disable the built in rich presence coming from league, leaving only this one active as your main Presence on discord. This was a huge issue before since it's not easy to disable. And now all you have to do is just start this application before launching the league client, and you will be good to go.
  8. Launches League of legends for you: To avoid forgetting to start this application before league all the time, you can let the application start league for you. Please read about the --launch-league argument to learn more.

Tips for Running

FAQ

Q: Will this get my account banned?

Q: League's native RPC is still running. how do i turn it off?

Q: Does Riot approve this?

Q: Does it support TFT?

Q: Does it support Arena?

Q: Does it support ARAM?

Q: Can it run on Windows?

Q: Why doesn't the minnions (cs) update live?

Contact and Support

Got questions? Join the Discord Server Feel free to open up Help tickets, or contact me directly on Discord (@haze.dev).

For issues related to the code, or project as a whole, please open an issue on GitHub.

History

This project was previously called league-rpc-linux, but since RIOT introduced Vanguard, and broke League on linux. I wanted to rename this project to league-rpc, and continue maintaining it for Windows users.