Giter VIP home page Giter VIP logo

rcvolus / league-prod-toolkit Goto Github PK

View Code? Open in Web Editor NEW
131.0 8.0 25.0 29.9 MB

Toolkit for League Productions with overlays for champion select, ingame events, end of game stats, and more

License: MIT License

JavaScript 3.31% TypeScript 71.24% CSS 3.53% Pug 8.73% HTML 11.72% Shell 0.21% Batchfile 0.60% Dockerfile 0.67%
league-of-legends valorant graphics broadcast champ-select pick-ban league valo in-game

league-prod-toolkit's Introduction

Features

Production Features

  • Manage and dynamically update lower thirds for casters
  • Track matchups and scores to automatically generate overlays for ingame, talks and breaks
  • Apply consistent theming across all generated overlays
  • Twitch integration to create predictions and show state in stream (requires a Twitch-App)

League Features

Pregame

  • Lobby information with all players and op.gg links
  • Custom Champ Select overlay (Implementation of lol-pick-ban-ui)
  • Recording and Replay of Champselect
  • Rune overview (to kill time during spectator delay, game needs to be live)

Ingame

A lot of these features are impacted by the removal of the LiveEvents API and the introduction of Vanguard. Level ups, item purchases, the killfeed and inhibitor timers should still work.

  • Custom Scoreboard
  • Leader boards for Gold and Level + XP
  • Animations for level ups and item purchases
  • Animations for events (Baron | Dragons | Herald)
  • Custom killfeed
  • Power-Play timer for Baron and Elder Dragon
  • Inhibitor timers

Postgame

Screens showing postgame stats

  • Overview
  • Pick order
  • Item builds
  • Damage graphs
  • Gold graph

Valorant Features

Status 13.03.2023: VALORANT features are currently not maintained. While we focus on League, we will not actively support Valorant Features of the toolkit.

Pregame

  • Custom Agent select overlay
  • Loading screen overlay

Postgame

  • Stats for the winning team
  • MVP screen

Requirements & Limitations

  • Champion Select / ingame overlays require our Observer Tool to send game data
  • Some features require a Riot API Key
  • Some features do not work on Tournament Realm

Installation & Docs

Troubleshooting & Help

Some common issues are listed in the Wiki.

If your problem is not listed in the Wiki, please check if there are any open issues. If not, open a new issue and include any error messages you see and steps to reproduce the problem.

About Prod Toolkit

Architecture/Sample setup

This shows the prod toolkit running on a dedicated server, with observer PCs sending data and overlays integrated into OBS/vMix with a browser source.

Example Setup

Legend:

  • Magenta - Clients running the observer tool
  • Blue - The prod-toolkit
  • Green - An external API that is being connected to
  • Grey - Prod-toolkit interfaces

Developing

The developer documentation can be found in the wiki.

Legal Disclaimer

league-prod-toolkit was created under Riot Games' "Legal Jibber Jabber" policy using assets owned by Riot Games. Riot Games does not endorse or sponsor this project.

league-prod-toolkit's People

Contributors

dependabot[bot] avatar himyu avatar laraakaa avatar sdomi4 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

league-prod-toolkit's Issues

Change font in Champ Select UI

I want to change the font in the Champ Select UI I change the font in index.css in the theme, other plugins are applied, but the Champ Select UI does not change How can I change it

Ingame Overlay not working properly

Describe the bug
Ingame animations don't work properly, (level up, item bought) + typo in embedded link in the ingame module (ingmae.html instead of ingame.html)

To Reproduce
Steps to reproduce the behavior:

  1. Connect league production tool to league observer tool
  2. Sync observer tool with ingame
  3. start spectator mode ingame
  4. Wait for a player to reach set level or until item is bought
  5. wait for animation not to appear :(

Expected behavior
Expecting animation to appear properly, just like the inhibitor information do.

Additional context
Tried it on the current development branch, as on the state of the "update the ingame and teams module" issue. Neither does work

Not sure how to install

First of all I don't know is this the right place to write a comment about this "problem" and I'm sorry, but here it goes.

Like the title says I'm not sure how to install your program. I did install pick and ban UI and I love it, but I would like to use some other features but I need some help. I'm not a coder myself and I find it really hard to understand what to do while installing. Is there any video or anyone willing to help me (maybe Dominik if he is Croatian) installing it.

I'm organizing a LOL tournament and would like to use it. Thank you.

In game is wrong

Few things, first league updated their in game scoreboard and the in game tab and team games need to be updated with positions and color. The scoreboard now shows turrets natively so that can be removed. Third the level up seems bugged and doesn’t show the color behind the number instead it just shows the black text number.

Thank you for making this free and public, your work is very appreciated!

Zeri not shown in pick ban phase

Describe the bug
Zeris Splashart isn't shown when banned in pick ban phase.
neither is her splashart downlaoded on start

To Reproduce
Steps to reproduce the behavior:

  1. pick & ban
  2. ban zeri
  3. Tadaa Zeri splash not shown

Expected behavior
Show Zeri splash

database error?

image
When I run the file, it turns on, but this error pops up. I think it's about mongodb. Is there any way to solve it?

Installation problem

Good evening, I am coming to you because of a problem with the installation and operation of league-pro-toolkit & League Observer Tool.
Sorry if I'm not precise at all, I don't know it at all, it's the first time I'm working on it, I've never used RIOT APIs, I'm a manager for a structure that organizes a league, we would like to use the features available in your toolkit, so I downloaded the version of Node, League Observer Tool, also MongoDB, I took my Riot API Key and I followed the following steps

  1. Download the full source from github
  2. Extract the folder to the directory you want to run the tool from
  3. run install.bat
  4. Enter the configuration values in the script:
  5. Navigate to [...]\league-prod-toolkit-develop\modules\config and edit config.json:
  6. run start.bat (or run npm start)

eror1

If you need more info don't hesitate! I would really like to be able to use it because it seems to me really complete.

[Module-League-State] Test data for end of game / ingame

Testing changes to themes or overlays in general currently requires loading up a game or finding a match id.

  • A test (or record&replay) for champ select is already tracked in #35
  • Allow testing postgame stats by providing and loading a sample matchv5 API output
  • Optionally allow testing ingame by replaying sample events from ingame API

league-in-game is not working.

In-game information Preview is not working.

All league-in-game settings (Item Display, Level Display) can be set and are reflected in the toolkit.

However, it is not reflected on the preview screen.

image

add errorhandling for datadragon

The toolkit hard crashes when datadragon/communitydragon is not available as is often the case around patch days.
It should be possible to run the toolkit (if assets have been downloaded from a previous patch) without having to manually fix the game version in the config.

Crash message:

2022-03-01T21:31:30.354Z [info ] plugin-module-league-static: start downloading additional files

E:\tools\옵저버툴\league-prod-toolkit\modules\module-league-static\node_modules\node-fetch\lib\index.js:273
                                return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));
                                                           ^
FetchError: invalid json response body at https://raw.communitydragon.org/12.5/game/global/items/items.bin.json reason: Unexpected token < in JSON at position 0
    at E:\tools\옵저버툴\league-prod-toolkit\modules\module-league-static\node_modules\node-fetch\lib\index.js:273:32
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async StaticData.getAdditionalFiles (E:\tools\옵저버툴\league-prod-toolkit\modules\module-league-static\dist\StaticData.js:197:25) {
  type: 'invalid-json'
}

Tower kills not resetting after game end

Describe the bug
The tower kill counts don't reset after game end (with end of game synced in observer tool)

To Reproduce
Steps to reproduce the behavior:

  1. Spectate Game until end with ingame + end of game synced
  2. Spectate another Game, tower kills have not cleared

Expected behavior
Tower kills should reset when end of game is sent

Additional context
End of game is detected properly:
2022-01-31T23:17:50.062Z [info ] plugin-state-league: Flow: end of game - active

Add team Colors

certain productions might want to set team colors to use them in the overlays

related to #45

update deprecated dependencies

Multiple dependencies are out of date when installing prod-toolkit

npm WARN deprecated [email protected]: Please update to ini >=1.3.6 to avoid a prototype pollution issue
npm WARN deprecated [email protected]: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated [email protected]: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.

Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Add Team Logos

certain productions might want to set team logos to use them in the overlays

related to #45

Test

Write some more docs already

fix ingame Score

In-Game score does not disappear when switching back from Bo3 to Bo1

start.bat crashing when pick ban in-game opens

Greetings!

Since the new League of Legends patch 12.3. my Champselect UI is not responding!? I did everything step by step by the league-prod-toolkit/wiki Installation and it worked perfectly for me last month until this patch. I open start.bat, it initializes, then I open League Observer after opening League of Legends Client, and then it connects through the Observer tool normally. I open localhost:3003 and it shows me everything perfectly fine until I enter a game pick/ban lobby when my start.bat crashes and a JavaScript error pops up from League Observer. Please help!

Screenshot 2022-02-07 194444
!

closes itself

hi. i try to run start.bat or npm start, it start and load plugins but closes itself inmediatly.

Postgame stat names off center with different number lengths

Describe the bug
In the all-in-one postgame stats screen, stat names don't align to center properly when the stats have different amount of digits (see screenshots)

To Reproduce
Steps to reproduce the behavior:

  1. Load any postgame where a stat ends up in different lengths (e.g. blue team with 12 towers, red team with 1 tower)

Expected behavior
The center stat name should remain aligned to the center

Screenshots
"Tours" misaligned with unequal amounts of digits in towers taken:
image

Properly aligned when amount of digits is the same:
image

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser: Chrome, OBS
  • Toolkit version: latest develop branch

provider-webapi failed

Hey, one plugin not working. What's can be wrong?

2021-09-24T12:42:09.412Z [info ] plugin-provider-webapi: Fetching livegame data for summoner=Joep
2021-09-24T12:42:09.412Z [error] plugin-provider-webapi: Failed to get information for summoner=Joep. Maybe this summoner does not exist? error=TypeError: Cannot read property 'Summoner' of undefined
2021-09-24T12:42:09.418Z [info ] plugin-state-league: Loading livegame failed for summoner=Joep
2021-09-24T12:44:35.883Z [warn ] lpte-svc    : Awaiting event timed out. namespace=lpt, type=ready, timeout=150000
2021-09-24T12:44:35.884Z [error] plugin-league-end-of-game: Uncaught error in league-end-of-game: request timed out

Best Regards

Database Error

Hi,im getting a database error, i dont know what im doing wrong.

2021-11-04T05:48:17.372Z [error] lpte-svc : Request timed out after 5000ms. Request meta={"channelType":"REQUEST","type":"request","namespace":"config","version":1,"sender":{"name":"database","version":"1.0.0","mode":"PLUGIN","path":"C:\\league-prod-toolkit-develop\\modules\\database"},"reply":"request-97s9dsgkvkj2lzo"} 2021-11-04T05:48:17.375Z [warn ] plugin-database: database config could not be loaded 2021-11-04T05:48:17.376Z [warn ] lpte-svc : Awaiting event timed out. namespace=reply, type=request-97s9dsgkvkj2lzr, timeout=5000 2021-11-04T05:48:17.376Z [error] lpte-svc : Request timed out after 5000ms. Request meta={"channelType":"REQUEST","type":"request","namespace":"config","version":1,"sender":{"name":"league-in-game","version":"1.0.0","mode":"PLUGIN","path":"C:\\league-prod-toolkit-develop\\modules\\league-in-game"},"reply":"request-97s9dsgkvkj2lzr"} 2021-11-04T05:48:17.376Z [warn ] plugin-league-in-game: config could not be loaded 2021-11-04T05:48:17.855Z [warn ] lpte-svc : Awaiting event timed out. namespace=reply, type=request-97s9dsgkvkj2md2, timeout=5000 2021-11-04T05:48:17.855Z [error] lpte-svc : Request timed out after 5000ms. Request meta={"channelType":"REQUEST","type":"request","namespace":"config","version":1,"sender":{"name":"static-league","version":"3.0.0","mode":"PLUGIN","path":"C:\\league-prod-toolkit-develop\\modules\\static-league"},"reply":"request-97s9dsgkvkj2md2"} 2021-11-04T05:48:17.855Z [warn ] plugin-static-league: static-league config could not be loaded 2021-11-04T05:50:42.375Z [warn ] lpte-svc : Awaiting event timed out. namespace=lpt, type=ready, timeout=150000 2021-11-04T05:50:42.376Z [error] plugin-league-end-of-game: Uncaught error in league-end-of-game: request timed out Error: request timed out at Timeout._onTimeout (C:\league-prod-toolkit-develop\dist\core\eventbus\LPTEService.js:73:24) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) 2021-11-04T05:50:42.377Z [warn ] lpte-svc : Awaiting event timed out. namespace=lpt, type=ready, timeout=150000 2021-11-04T05:50:42.377Z [error] plugin-prod-clock: Uncaught error in prod-clock: request timed out Error: request timed out at Timeout._onTimeout (C:\league-prod-toolkit-develop\dist\core\eventbus\LPTEService.js:73:24) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) 2021-11-04T05:50:42.784Z [warn ] lpte-svc : Awaiting event timed out. namespace=lpt, type=ready, timeout=150000 2021-11-04T05:50:42.784Z [error] plugin-provider-webapi: Uncaught error in provider-webapi: request timed out Error: request timed out at Timeout._onTimeout (C:\league-prod-toolkit-develop\dist\core\eventbus\LPTEService.js:73:24) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) 2021-11-04T05:50:42.788Z [warn ] lpte-svc : Awaiting event timed out. namespace=lpt, type=ready, timeout=150000 2021-11-04T05:50:42.789Z [error] plugin-rcv-caster: Uncaught error in rcv-caster: request timed out Error: request timed out at Timeout._onTimeout (C:\league-prod-toolkit-develop\dist\core\eventbus\LPTEService.js:73:24) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) 2021-11-04T05:50:42.790Z [warn ] lpte-svc : Awaiting event timed out. namespace=lpt, type=ready, timeout=150000 2021-11-04T05:50:42.793Z [error] plugin-rcv-teams: Uncaught error in rcv-teams: request timed out Error: request timed out at Timeout._onTimeout (C:\league-prod-toolkit-develop\dist\core\eventbus\LPTEService.js:73:24) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) 2021-11-04T05:50:42.796Z [warn ] lpte-svc : Awaiting event timed out. namespace=lpt, type=ready, timeout=150000 2021-11-04T05:50:42.798Z [error] plugin-state-league: Uncaught error in state-league: request timed out Error: request timed out at Timeout._onTimeout (C:\league-prod-toolkit-develop\dist\core\eventbus\LPTEService.js:73:24) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) 2021-11-04T05:50:42.996Z [warn ] lpte-svc : Awaiting event timed out. namespace=lpt, type=ready, timeout=150000 2021-11-04T05:50:42.996Z [error] plugin-themeing: Uncaught error in themeing: request timed out Error: request timed out at Timeout._onTimeout (C:\league-prod-toolkit-develop\dist\core\eventbus\LPTEService.js:73:24) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7)

Help with database errors

Hey! I have recently tried to get the lol toolkit working to maybe use it in my own small production, but with my limited knowledge I haven't quite gotten it to work.

I get an auth failed MongoError and a bunch of topology is closed errors. Afterwards I also get a bunch of timed out request.
I assume it is due to not setting up MongoDb correctly, not connecting with it in the right way or something similar.

I created a cluster on MongoDB, downloaded the compass app, and input the database user credentials in the config.
If you aren't too busy, could you please assist me?

End game Help

Hello,

I would just like to use the "End Game" to format the statistics of the game except that I don't understand how it works... How to make it generate an image? How to change the font? Etc... I'm totally lost, if I could have some help that would be really nice!

Thank you !

End-game doesn't work

Good evening, I come to you again because I have a problem with the End-Game statistics, indeed, I thought I understood that if the module was working well then the statistics should appear alone, it is not the case, moreover when I try to enter manually the name of a player during a game in progress or the id of the game at the end of this one to be able to have the statistics it also does not work, I do not do what to do, if you have solutions I'm a taker thanks.
All modules are ON
fsdfsfsf
dfsdfsdfsf
After Match with Game ID error:
error
During Match with summoner name error:
error2

Static loader dont work

i view précèdent Issues for try to start program i add manually the gameversion :12.2.1 and the static loader dont work

Load match (postgame) throws Uncaught error in Handler

2021-11-08T16:20:57.378Z [error] lpte-svc : Uncaught error in handler: Cannot read property 'match' of undefined TypeError: Cannot read property 'match' of undefined at Registration.handle (C:\Users\Maxim\Desktop\league-prod-toolkit-develop\modules\league-end-of-game\dist\plugin.js:53:33) at C:\Users\Maxim\Desktop\league-prod-toolkit-develop\dist\core\eventbus\LPTEService.js:95:29 at Array.forEach (<anonymous>) at Timeout._onTimeout (C:\Users\Maxim\Desktop\league-prod-toolkit-develop\dist\core\eventbus\LPTEService.js:93:22) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7)
Unbenannt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.