Skip to content

Java open-source Razer Chroma keyboard integration for League of Legends

License

Notifications You must be signed in to change notification settings

bonepl/ChromaLeague

Repository files navigation

Chroma League

GitHub release (latest by date) GitHub release (by tag) GitHub all releases License Coverage

Java open-source Razer Chroma keyboard integration for League of Legends.

If you like this project, consider giving me a tip for all the hard work :)

Donate

Introduction

Razer Chroma is a wonderful framework provided by Razer for implementing custom LED animations for their peripherals.

Many applications/games have its official support but League of Legends is not one of them.

So I designed my custom League of Legends Razer Chroma integration that I'm using daily playing games on Summoner's Rift.

This end up with bigger project Chroma League which I'm sharing for all League of Legends players owning Razer Chroma keyboards to enjoy the integrations

Chroma League is using League's Live Client Data Api exposed during game to fetch current game's state and react to the in-game events.

If you have any comments, suggestions, ideas, found a bug or just want to say hello please visit official thread at Razer Insider: Chroma League - League of Legends integration for Razer Chroma .

Overview

Chroma League HUD

This is what basic in game HUD looks like on Chroma Keyboard. Certain in-game events will spawn additional animations.

Requirements

  • Windows
  • League of Legends
  • Razer Synapse 3 (with Chroma Connect module enabled)
  • Chroma enabled keyboard

Running

Simply download the latest Chroma League release, unpack and run it by executing run-chroma-league.bat.

WARNING: You need to fully unpack the archive to separate directory before running it. Running Chroma League directly from the archive will end up with following error:

windows cannot find './cl-jre/bin/java.exe'. Make sure you type the name correctly and try again

After running run-chroma-league.bat you will see terminal window with application logs. Chroma League will verify connectivity to local Razer SDK and log REST Api versions like:

18:20:08 [INFO] Detected Razer Chroma REST Api Version[core=3.23.03, device=3.23.04, version=3.23.05]

This means that Chroma League has successfully passed startup checks, will automatically detect when you join the game and start running integrations.

Compatibility

  • runs on Windows only
  • supports only Chroma enabled keyboards (was tested on BlackWidow, but should support the others)
  • developed for Summoner's Rift standard games (supports natively other game types, but there can be some side effects)

Implemented integrations

  • animated health bar (with health loss and gain animations)
  • animated resource bar (customized for all champions)
  • level up animation
  • gold pouch with animated coins (3000 gold means pouch is full)
  • enemy/ally dragon/herald/baron kill indicators
  • dragons killed by allies counter
  • dragon soul indicator
  • baron/elder buff indicator
  • killing spree counter
  • assist spree counter
  • kill/assist animation
  • respawn animation
  • dead animation
  • rift change animation
  • dim background light for the keyboard for playing in the dark
  • game victory animation
  • game defeat animation

Troubleshooting

Double check if Razer Chroma SDK Server service in Windows (services.msc) is up and running. Few times I experienced a bug where it was stuck in Paused state and not responding.

You can use this PowerShell script to restart the service.

If you encounter a bug, please attach logs (cl.log) with the exceptions to help me track the error.

Before reporting a bug, please check Chroma League's issues page if it isn't already worked on.

Plans

Next plans include resolving any bugs/issues, crafting better, advanced animations for events (like dragon kills) and then maybe extending support to other peripherals like mice or headphones.

Disclaimer

League of Legends and all related logic used in this project are owned and copyrighted by Riot Games

Razer Chroma and Razer Chroma SDK and all related logic used in this project are owned and copyrighted by Razer

Postscript

I'm constantly improving this project in my free time, so I cannot promise any timelines for next releases.

If you spot a bug, feel free to create a new issue on GitHub repository.