All Projects → RCVolus → lol-pick-ban-ui

RCVolus / lol-pick-ban-ui

Licence: MIT license
Web-Based UI to display the league of legends champ select in esports tournaments.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
Less
1899 projects
CSS
56736 projects
HTML
75241 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to lol-pick-ban-ui

LeagueReplayParser
C# library which can read some data from a .rofl file, and start a replay in the client. (no longer actively maintained)
Stars: ✭ 20 (-88.95%)
Mutual labels:  league-of-legends, league
lol-client-java-api
Simple library which provides access to internal League of Legends Client API.
Stars: ✭ 51 (-71.82%)
Mutual labels:  league-of-legends, league
league-connect
🔌 Promise-based NodeJS interface to the League of Legends Client APIs
Stars: ✭ 92 (-49.17%)
Mutual labels:  league-of-legends, league
KBotExt
Application that sends custom requests to League of Legends LCU api
Stars: ✭ 86 (-52.49%)
Mutual labels:  league-of-legends, league
LeagueAPI
League of Legends API & Data Framework in Swift
Stars: ✭ 50 (-72.38%)
Mutual labels:  league-of-legends, league
Mecha
🚀 Debugger and plugin loader for the League of Legends client
Stars: ✭ 48 (-73.48%)
Mutual labels:  league-of-legends, league
league-bot
A League of Legends bot to level up accounts. For best results use the settings required settings in the code/README. This bot is designed for Windows computers.
Stars: ✭ 19 (-89.5%)
Mutual labels:  league-of-legends, league
Pyot
AsyncIO based high-level Python Riot Games API framework which encourages rapid development and clean, pragmatic design.
Stars: ✭ 56 (-69.06%)
Mutual labels:  league-of-legends
folderplayout
CasparCG client for scheduled recurring playback of a playlist.
Stars: ✭ 46 (-74.59%)
Mutual labels:  broadcast
OddAutoWalker
League of Legends External Orb Walker
Stars: ✭ 56 (-69.06%)
Mutual labels:  league-of-legends
onetricks.net
(WIP) kayn-powered (typescript node.js) ReasonReact app presenting you a dashboard of high ELO one trick ponies in League of Legends
Stars: ✭ 13 (-92.82%)
Mutual labels:  league-of-legends
BroadcastBot
A simple Telegram bot that can broadcast messages and media to the bot subscribers. with mongo DB support
Stars: ✭ 73 (-59.67%)
Mutual labels:  broadcast
DI-star
An artificial intelligence platform for the StarCraft II with large-scale distributed training and grand-master agents.
Stars: ✭ 1,335 (+637.57%)
Mutual labels:  league
Camille
C# Riot API Library. Thread safe, automatic retries, autogenerated nightly releases.
Stars: ✭ 82 (-54.7%)
Mutual labels:  league-of-legends
lol-replay
A collection of Go (golang) packages to record and play back League of Legends games from the spectator endpoint.
Stars: ✭ 61 (-66.3%)
Mutual labels:  league-of-legends
runeterra
Legends of Runeterra deck code encoder/decoder in JavaScript
Stars: ✭ 45 (-75.14%)
Mutual labels:  league-of-legends
TVGemist
An *Unofficial* Uitzending Gemist application for  TV
Stars: ✭ 23 (-87.29%)
Mutual labels:  broadcast
Web-Broadcasting-Software
Broadcasting software for the web. (WBS)
Stars: ✭ 138 (-23.76%)
Mutual labels:  broadcast
dart vlc
🎞 Flutter audio / video playback, broadcast & recording library for Windows & Linux.
Stars: ✭ 439 (+142.54%)
Mutual labels:  broadcast
AAPB2
American Archive of Public Broadcasting
Stars: ✭ 17 (-90.61%)
Mutual labels:  broadcast

lol-champselect-ui

UI to display the league of legends champion selection in esports tournaments.

Architecture:

Architecture

Who used this?

It is most convincing to see the tool directly in action. Have you used it in any of your productions or projects? Feel free to send a pull request adding your project to this list along our way.

Features

  • Connects to the League Client and fetches information about the current champ select in real time
  • Automatically fetches champion loading images, splash arts and square icons from datadragon, which means that if a new champion is released it will automatically fetch the correct resources.
  • Ready to use design templates:
    • Europe (similar to the pick&ban UI used in the LEC)
  • Easy feature toggle (when using design templates) for:
    • Show / hide scores (usable if it's not best of 1)
    • Show / hide coaches
    • Show / hide summoner spells (usable in live matches on the live server where the enemy team is not supposed to see the summoner spells of the opposite team.
  • Easy configuration:
    • Set team names
    • Set coach names
    • Set score
    • Set colors (default blue/red, but they can differ!)
  • Allows to completely create a custom design based on web technologies (HTML, CSS & JS), including custom animations and transitions

Replays (Playing a recorded champ select)

Replays are available. They are pretty useful to test your overlay with, since it mocks the data sources and simulates a draft phase, that has already passed. There are some recordings of replays in the "recordings" folder.

In order to play a replay that simulates a full tournament draft, please issue the following command to start the backend:

npm start -- --data ../recordings/tournament-draft

While you are in a replay, you can focus the window and press "p" on your keyboard once, to pause or unpause the replay. This will freeze the current state, so you can adapt your design without having to hurry.

Configuration

You can configure the variable values, like team names, team scores, coach names and even the colors used. Just open up the file config.json in the folder backend with any texteditor, like notepad. Any changes you do inside this file will be reflected immediately and do not require a restart or reload.

Installation (Development purposes)

Please note: if you're looking for an easier installation, have a look at this project: https://github.com/FearNixx/vigilant-bans (the linked project is not associated or affiliated with the Riot Community Volunteers, and we can provide no warranty for the linked project)

  1. Download and install Node.JS for Windows (or any other operating system): https://nodejs.org/download/release/v16.7.0/node-v16.7.0-x64.msi (please really install the linked version, 16.7.0, as otherwise you may run into issues)
  2. Download or clone this Git-Repository to your local machine.
  3. Inside the downloaded folder, open the backend folder, and open up a command prompt there (Windows: Shift + Rightclick -> Open Powershell / Commandline Window here)
  4. Install all required dependencies for the backend using the command npm install
  5. Start the backend using the command npm start
  6. The backend should now launch on localhost:8999

Installation of europe layout

  1. Open up the folder layouts/layout-volu-europe, keep the backend (terminal) open & running!
  2. Also open the terminal here (like in step 3)
  3. Also issue npm install (like in step 4)
  4. Also start the frontend using npm start (like in step 5)
  5. The application will now be accessible under http://localhost:3000?backend=ws://localhost:8999

Installation of simple layout

Please note that the simple layout cannot be directly used out of the box, it is more like an example of how you can create your own overlay. It is created as simple as possible from code perspective, thus it's name, but it is not simple to install and use. You also need to edit the two files "overlay.png" and "underlay.png" in the folder layouts/layout-simple. We have provided some example, however you need to do it on your own.

  1. Open up another terminal in the project root folder, using Shift + Rightclick -> Open Powershell.
  2. You only need to execute the following command once: npm install -g serve
  3. Now start the local web server, using the simple command serve
  4. Now the application is accessible under http://localhost:5000/layouts/layout-simple/?backend=ws://localhost:8999

Troubleshooting

Before you create an issue on GitHub, please check if your problem is listed below, and can be solved that way:

Connection to League Client failed (Unhandled PromiseRejectionWarning: TypeError: Cannot read property "port" of undefined)

The above outlined error happens, if a connection to the League Client cannot be established. So make sure that your League Client is running. We noticed that for some servers (mainly ones not run by Riot Games) the Client process runs as administrator, and therefore you also need to execute this tool as administrator, as otherwise the LeagueClient cannot be accessed. So when you open up the powershell, instead of doing the Shift + Rightclick thingy, open it directly (search for Powershell) but rightclick it and select "Open as Administrator". Then, navigate to the folder where you have the files in using the command cd {folder}. Then try again to start it, using npm start.

error: failed to read backend url query param. make sure you set ?backend=ws://[ip]:[port] as query parameter

Error message on older versions: SyntaxError: failed to construct 'WebSocket': The URL 'undefined' is invalid

This window may pop up when you start the europe layout. But there is nothing to worry, just close it and make sure you open up the correct link: http://localhost:3000?backend=ws://localhost:8999 (the ?backend part in the link is important, if you leave it out you get said error message!)

Demo (YouTube)

Demo Video

Creating your own design

Please refer to CUSTOM_THEME.

Contributors / Maintainers

  • Development: Lara "Laraka" Bärtschi
  • Design (Europe): Elias "Elilift" Inäbnit

Legal disclaimer

lol-pick-ban-ui was created under Riot Games' "Legal Jibber Jabber" policy using assets owned by Riot Games. Riot Games does not endorse or sponsor this project. However, Riot was informed and has confirmed that this project is compliant with their ToS.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].