stirante / lol-client-java-api

Simple library which provides access to internal League of Legends Client API.
GNU General Public License v3.0
67 stars 14 forks source link

[QUESTION] Client Connection not working as expected #30

Closed datschi23 closed 2 years ago

datschi23 commented 2 years ago

Hey, I tried to connect to the client API with this project. I created a Java project and added the dependencies in the pom.xml as described in the README. I then copied the code from the "SkinListExample.java" and ran it locally. The program starts, but I don't see any output in the console. When I debug the program, I see that after "api.addClientConnectionListener(new ClientConnectionListener() {" the program goes directly to the end and does not try to connect to the client. I have had the League Client open as written in the README. I also tried the other examples in the README, but without success

https://user-images.githubusercontent.com/64021184/170552963-5cebdc6b-fd35-4b19-a59e-eee30516c12e.mp4

.

stirante commented 2 years ago

Hey, are you using version 1.2.3 from readme, 1.2.5 latest release or 1.2.7-SNAPSHOT from my own repository?

Also it's supposed to go straight to the end of the code, because the client connection listener should be called async when the connection is available.

datschi23 commented 2 years ago

I am using version 1.2.5

stirante commented 2 years ago

Could you try executing ClientApi.generateDebugLog and printing all info that you get through the consumer in argument?

datschi23 commented 2 years ago

This is the output: log.txt

stirante commented 2 years ago

Looks like it hid the command line arguments from you for some reason. For me it returns something like this:

"C:/Riot Games/League of Legends/LeagueClientUx.exe" "--riotclient-auth-token=XXX" "--riotclient-app-port=21931" "--no-rads" "--disable-self-update" "--region=EUNE" "--locale=en_GB" "--remoting-auth-token=XXX" "--respawn-command=LeagueClient.exe" "--respawn-display-name=League of Legends" "--app-port=21991" "--install-directory=C:\Riot Games\League of Legends" "--app-name=LeagueClient" "--ux-name=LeagueClientUx" "--ux-helper-name=LeagueClientUxHelper" "--log-dir=LeagueClient Logs" "--crash-reporting=crashpad" "--crash-environment=EUN1" "--crash-pipe=\\.\pipe\crashpad_10800_LRQKEITGOWEJRQHR" "--app-log-file-path=C:/Riot Games/League of Legends/Logs/LeagueClient Logs/2022-05-27T08-18-08_10800_LeagueClient.log" "--app-pid=10800" "--output-base-dir=C:\Riot Games\League of Legends" "--no-proxy-server"  
datschi23 commented 2 years ago

Okay, I had to start Intellij as administrator to get it to work. This is the output: log.txt

I tested the previous code with administrator rights and it worked now. Is it normal that I need administrator rights?

stirante commented 2 years ago

Sometimes it was caused by LoL being ran with administrator rights, but again not always. Seems like it depends on the OS most of the times.

In my app, that uses this library I specifically added a setting for forcing the app to run with administrator rights due to that issue.

datschi23 commented 2 years ago

Okay, I will try to force the application to run with administrator. Thanks for the quick help.