GithubHelp home page GithubHelp logo

pupix / rift-explorer Goto Github PK

View Code? Open in Web Editor NEW
551.0 25.0 74.0 5.53 MB

🛠 Explore the API of the League of Legends client

License: MIT License

JavaScript 14.29% CSS 53.34% HTML 0.29% TypeScript 28.01% Sass 4.08%

rift-explorer's Introduction

Rift Explorer is no longer maintained. For an alternative, see LCU Explorer.


Rift Explorer logo


Discord GitHub package.json version GitHub all releases GitHub repo size GitHub code size in bytes Lines of code

Always up to date documentation for the League Client API.

Rift Explorer helps aid development of LCU applications by generating documentation of the LCU API.

What is the LCU?

For more information as to what the LCU is please refer to this link.

Table of contents:

  1. Getting Started
  2. Bugs and Issues
  3. Contributing
  4. FAQ
  5. License

Getting Started

Requirements

  • Windows 7 or above (64-bit)
  • macOS sierra or above (64-bit)
  • Linux is partially supported(64-bit). - if you would like to help please open an issue regarding it

Note: 32-bit is unsupported.

Prebuilt

The latest prebuilt binaries for Windows and macOS can be found below

macos   windows

Building

Prerequisites

Run from source

1. Clone from repo

git clone https://github.com/Pupix/rift-explorer.git

2. Install dependencies

yarn install

3. Start League of Legends


4. Start Rift Explorer

yarn dev

Build from source

1. Clone from repo

git clone https://github.com/Pupix/rift-explorer.git

2. Install dependencies

yarn install

3. Build

yarn build

Bugs and Issues

For any bugs or issues please use the issue template

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

FAQ

Q: Why is a 32-bit version of Rift Explorer missing?

A: We have never supported 32-bit versions of Rift Explorer and will never provide support nor downloads for 32-bit versions, However it can be built from source but as said previously no support will be given if an issue arises. Any issues relating to 32-bit versions of Rift Explorer will simply be closed.

License

Distributed under the MIT License. See LICENSE.md for more information.

rift-explorer's People

Contributors

be90728 avatar hi-ray avatar kandation avatar mingweisamuel avatar morilli avatar nerdsie avatar pupix avatar realytcracker avatar thomasmarton 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rift-explorer's Issues

Is there an API to get live game info?

I know that the public Riot Api does have this but unfortunately it's only available for Riot managed regions. I'm wondering how we can get the current game ID / dropInSpectateGameId from Summoner ID/ name?

whatever I do I get { "error": "no response from server" }

I would like to prefix by saying my knowledge is very limited within JSON and the like, I am simply trying to change my profile picture like many others.

After trying to use the different tools in the rift-explorer executable all that happens is that I get Response Headers
{ "error": "no response from server" }

screenshot: https://imgur.com/0qCO1Lg

I am running league 9.10 and I don't think I have anything else running that would interfere.

traditional Chinese lang

'use strict';

/* jshint quotmark: double */
window.SwaggerTranslator.learn({
"Warning: Deprecated":"警告:已過時",
"Implementation Notes":"實現備註",
"Response Class":"響應類",
"Status":"狀態",
"Parameters":"參數",
"Parameter":"參數",
"Value":"值",
"Description":"描述",
"Parameter Type":"參數類型",
"Data Type":"數據類型",
"Response Messages":"響應消息",
"HTTP Status Code":"HTTP狀態碼",
"Reason":"原因",
"Response Model":"響應模組",
"Request URL":"請求URL",
"Response Body":"響應Body",
"Response Code":"響應碼",
"Response Headers":"響應Header",
"Hide Response":"隱藏響應",
"Headers":"Headers",
"Try it out!":"試試看!",
"Show/Hide":"顯示/隱藏",
"List Operations":"顯示操作",
"Expand Operations":"展開操作",
"Raw":"原始",
"can't parse JSON. Raw result":"無法解析JSON. 原始結果",
"Model Schema":"模型架構",
"Model":"模組",
"apply":"套用",
"Username":"帳號",
"Password":"密碼",
"Terms of service":"服務條款",
"Created by":"開發者",
"See more at":"查看更多:",
"Contact the developer":"聯繫開發者",
"api version":"api版本",
"Response Content Type":"響應Content Type",
"fetching resource":"正在獲取資源",
"fetching resource list":"正在獲取資源列表",
"Explore":"瀏覽",
"Show Swagger Petstore Example Apis":"顯示 Swagger Petstore 範例 Apis",
"Can't read from server. It may not have the appropriate access-control-origin settings.":"無法從服務器讀取。可能沒有正確設定access-control-origin。",
"Please specify the protocol for":"請指定協定:",
"Can't read swagger JSON from":"無法讀取swagger JSON於",
"Finished Loading Resource Information. Rendering Swagger UI":"已加載資源訊息。正在處理Swagger UI",
"Unable to read api":"無法讀取api",
"from path":"從路徑",
"server returned":"服務器返回"
});

repair loop

hi, how to fix it? I tried to move system.yaml to config directory and it didn't work. Nothing works.

Waiting for League to start

Hi, I'm from Taiwan server and i found that rift explorer can't recognize my client and stay at Waiting for League to start

  1. both rift-explorer and league is run by admin, LeagueClient, LeagueClientUx, LeagueClientUxRender all set to run by admin

  2. system.yaml added enable_swagger: true

like this:

enable_swagger: true
app:
app_name: LeagueClient
bugs

  1. tried #3 using LeagueClient.exe --no-rads is not working .
  2. both rift explorer and league is in C drive.
  3. WMIC PROCESS WHERE name='LeagueClientUx.exe' GET commandline :

C:/Garena/Games/32775/LeagueClient/LeagueClientUx.exe "--locale=zh_TW" "--server
s.chat.chat_host=chattw1.lol.garenanow.com" "--servers.lcds.lcds_host=prodtw1.lo
l.garenanow.com" "--servers.lcds.login_queue_url=https://lqtw1.lol.garenanow.com
/login-queue/rest/queues/lol" "--region=TW" "--parent-client=GarenaPC" "--no-rad
s" "--remoting-auth-token=39Svy0AnSceoIS9CN79UTA" "--app-port=51974" "--install-
directory=C:\Garena\Games\32775\LeagueClient" "--app-name=LeagueClient" "--ux-na
me=LeagueClientUx" "--ux-helper-name=LeagueClientUxHelper" "--log-dir=LeagueClie
nt Logs" "--bugsplat-name=league_client_riotgames_com" "--bugsplat-platform-id=T
W_GarenaPC" "--app-log-file-path=C:/Garena/Games/32775/Game/Logs/LeagueClient Lo
gs/2019-01-15T20-10-10_15624_LeagueClient.log" "--app-pid=15624" "--no-proxy-ser
ver"

Please help, thanks.

URL to send chat message in champ select ?

Hi,

Firstly thanks you for Rift-Explorer and LCU connector

I try to search but i can't find where is the api url to send message in champ select,would you have it ?

Thanks

Can't load Swagger. Make sure it's enabled in system.yaml

The app can't access the swagger documentation..

I have enabled swagger by editting my system.yaml

---
enable_swagger: true
app:
  app_name: LeagueClient
...

The app receives a 404 on the url it is trying to access.
Is there some documentation on what the url should be or a way to validate that the swagger json is actually present?

This is the url it is trying to access:

https://riot:[email protected]:23558/swagger/v2/swagger.json

(the app is running with administrator privileges)

Not Working on the PBE

With the recent PBE update, it no longer works. It will probably stop working on the live servers too once the next update comes.

I am getting stuck with the "Waiting for League to start..." message.

Downloading Replay

The POST is broken. No contextData will be sent. There still seem some other endpoints do not function properly as well. I need to send posts etc. externally and not within rift explorer.

32bit?

Hi, is there a 32 bit version?

How do I fix this

I know this sort of question might be very basic, but I've already searched and tried many things and can't still fix this error.
Whenever I try to open the app on rift explorer this pops up:
screenshot_46
I just don't know what to do. Also, I've already done the enable_swagger: true
Since it's in portuguese, I'll try to roughly translate it:
Line: 1
Charact.: 1
Error: Syntax error
Code: 800A03EA
Origin: Microsoft JScript compilation error

enabling swagger causes the game to stop working

The game no longer tries to repair the game files. When the rift explorer said that swagger was disabled I enabled it by putting enable_swagger: true in the system.yaml with the new patcher disabled and now the game won't even run, no sign, no process in the task manager no nothing.

Waiting for League to start...

So I have looked at the posts of the same issue and I have tried running the program as administrator, but it still does not get past the: "Waiting for League to start..."

Both League Client and the program are being ran as administrators and I have the enable_swagger: true in the system.yaml file.

My League Client is on my D: drive while the program is on the C: drive.

I am on the NA server

Can i find a version for Win7 32bit

I tried to open 6.1 version of Rift Explorer. I opened the exe file but an warning appeared that tells my Windows version is not compatible with RiftExplorer.exe. Is that problem causes from my computer?

hello

do you have 32 bit? i cant start x64

the icon problem

so this https://imgur.com/a/WioKgfL doesn't have those new account icons like ahri,mf or something,don't have the bug that last time I linked,is it related to account and old account or just a random bug

need some help

I did the system thingy, I openned league, then rift explorer, it worked, now id like to know how to use it, for example there is a folder called "performance", what is it for and how can I use it etc.
hope I was precise enough, thanks for what you are doing

Icon change not saving

When I change my icon in lol it reverts back to the previous one. It also did not stick after many games and restarts.

Question: Is there any information about api?

There is model Schema but fopr example in notifications

PlayerNotificationResource {
backgroundUrl (string, optional),
created (string, optional),
critical (boolean, optional),
data (object, optional),
detailKey (string, optional),
dismissible (boolean, optional),
expires (string, optional),
iconUrl (string, optional),
id (integer, optional),
source (string, optional),
state (string, optional),
titleKey (string, optional),
type (string, optional)
}

How do i know what titleKey is, i know for club_invite but how can i find out other types? Example club_join or something else, to make my own custom notifications?
I get this:
image
How can i make custom title and message?
Is there full documentation like classic riot api?

Could not find the game

An error occurred: Could not find the game
I'm sure my game is open !!! My area Garena-Tw

How to get the current summoner skins?

Is there an API to get the current logged in account skins?

Theoretically this endpoint should exist, because the client has this feature now, am I right?
I could'nt find this in Rift Explorer, maybe I didn't dig enough.

Anyone?

help me sniffer packet

I have used rift-explorer, I found the League of Legends client created a local https server. I have used a lot of software to sniffer packet, like wireshark, fiddler. but I can not sniffer the right packet. please help me to sniffer the right packer so I can know all the api in League of Legends client.

How to listen to events?

Hi,

Awesome work on Rift Explorer!!!

I already can get the connected LoL accont in my Electron App.

I just noticed that I can connect to WebSocket server, I can make requests to the API and get resposes, but I can't listen to client events. How can I do that?

I'm currently using require('websocket').client package to handle the websocket part.
Everything is working fine, but the only problem is that the message callback is never being called, no matter what I do in my LoL client:

This is how my code looks right now:
image

Is there a specific protocol I should use, or a recommended WebSocket implementation? I just found a Gist written by you: https://gist.github.com/Pupix/eb662b1b784bb704a1390643738a8c15
Is this the current LoL client WS Protocol? (WAMP v1)
I'm not specifying this protocol in the WebSocket plugin I'm currently using, could this be the reason why I can't capture those client events?

Thankss in advance!!!

New Patcher

Is it possible to use rift explorer in the new Patcher? I saw some new releases but I didn't understand anything, Thank you

Body parameter ignored in most of post requests?

Curl:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic hidden' -d 'test123' 'https://127.0.0.1:hidden/lol-game-client-chat/v1/instant-messages'

Request Headers:

{
  "Accept": "application/json"
}

Response Body:

{
  "errorCode": "RPC_ERROR",
  "httpStatus": 400,
  "implementationDetails": {},
  "message": "A value for 'summonerName' is required."
}

Response Code:

400

Response Headers:

{
  "status": "400",
  "access-control-expose-headers": "content-length",
  "cache-control": "no-store",
  "access-control-allow-origin": "https://127.0.0.1:hidden",
  "content-length": "151",
  "vary": "origin",
  "content-type": "application/json"
}

I did enter username but its like i didnt. Is it app bug?

image

Waiting for League to start...

rift-explorer-v3.0.0 version is ok, but rift-explorer-v5.0.0 version not ok.
both LOL and rift-explorer use admin right.

All I get is a white screen

I'm new to this and after downloading the app all I get is a white screen.
Id like to add that I play on the ph server and I don't exactly know whether I edited the yaml file right since it's not on the same path as the one on the riot servers. I appreciate the help ^^

Trying to make calls with Python requests

I currently have this code:

import requests

headers = {
    'Accept': 'application/json',
    'Authorization': 'Basic cmlvdDp4MFVua3NrcFMzSUlaTkd6TVlaaVNn',
}

res = requests.get('https://127.0.0.1:52351/lol-champ-select/v1/session', headers=headers)

print(res.json())

My problem is that no matter what I do, I'm getting this error:

Traceback (most recent call last):
  File "clientTest.py", line 8, in <module>
    res = requests.get('https://127.0.0.1:52351/lol-champ-select/v1/session', headers=headers)
  File "C:\Users\Dimitrie\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Users\Dimitrie\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\Dimitrie\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\Dimitrie\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\Dimitrie\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='127.0.0.1', port=52351): Max retries exceeded with url: /lol-champ-select/v1/session (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)'),))

Clearly I'm doing something wrong, however I'm not quite sure what the problem is. It sounds like there is something wrong with my authentication token I copied and pasted out of Rift Explorer. However, I'm not really sure what the role of this token is considering everything is handled over localhost. I'm also not sure how to acquire this token. Could anyone offer some help?

Edit: Okay, so it turns out my problem was SSL verification built into python's requests library. I fixed it by changing the request line to this:
res = requests.get('https://127.0.0.1:52351/lol-champ-select/v1/session', headers=headers, verify=False)

However, I still have no idea how to get my Authorization key and the randomized port after the client starts. How do I do that?

Edit 2:

Wow so this was absurdly complicated to figure out. Doesn't help that there is no documentation anywhere. Here's how I solved it:

When the League Client starts, a file called "lockfile" is generated in the League of Legends install directory. The file looks something like this:

LeagueClient:9872:52351:x0UnkskpS3IIZNGzMYZiSg:https

In my case, 52351 is the port. To find the authentication token, you must take "x0UnkskpS3IIZNGzMYZiSg" and concatenate it with "riot:" with the riot part first. Like this:

"riot:x0UnkskpS3IIZNGzMYZiSg"

You then need to take this string and encode it. Then you must take that encoding and turn it into base 64 as a string. That finally is your authentication token. This is the code I used to compute it in python.

merged = "riot:" + "x0UnkskpS3IIZNGzMYZiSg"
authToken = base64.b64encode(merged.encode())

I hope this helps someone else because it took me a good few hours of struggling.

Waiting for League to start.

EUW server worked fine for a while, today not sure what's wrong tried everything I can is there a straight solution to this?

The application can't run in your PC

Everytime I open the Riftexplorer.exe Windows(10) says that this application can't be executed in my PC and to find a version that run talking to the software owner.

enable_swagger causes loop

For a few days (most likely since the new patcher from the 18.04.2019, https://support.riotgames.com/hc/en-us/articles/360015621174) exploration of the API via swagger doesn't work anymore:

Rift Explorer detects that a necessary entry is missing (enable_swagger: true in system.yaml), closes the client, auto-updates said file and waits for the league client to restart.
The league launcher itself detects the change, removes it, and automatically restarts itself after 10 seconds.

Rinse and repeat.
Can you confirm this behavior, @Pupix ?
Does this also mean that the days of API exploration have come to an end ?

How to use client WebSocket

I found, that client uses WebSocket to publish some events which list is in /Help endpoint. Also I think it uses wamp-proto.org as I found some references to that in code (plugin-runner/loader.js).

Does anyone knows how to use those events?

More of Rift Explorer

Hey, i heard that there were more cool things in Rift Explorer and not just icon changing, so just wanted to ask else can people do with the program.

system.yawl and patching/updating problem

Okay so I edited system.yawl file like this:

enable_swagger: true
app:
app_name: LeagueClient
...

But whenever I try to start league, no matter how, as an administrator or not, it's constantly repairing itself and through that repair it removes 'enable_swagger: true' from system.yawl

Is there anything I can do to stop that repair from happening?

It's happening ONLY when I mess with system.yawl file.

Also if I try it without enable_swagger: true it just restarts client without any results, it's just updating over and over again and whenever client starts it says "Rift Explorer needs to restart the League Client to enable the API documentation"

There's also 'API has been auto-enabled. Please restart the League Client' message, and if I restart client then it just does the same thing over and over again.

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.