scripts icon indicating copy to clipboard operation
scripts copied to clipboard

Update League of Legends script

Open ImperatorS79 opened this issue 6 years ago • 42 comments

Description

Fix broken installation script

What works

Installation

What was not tested

Game itself

Test

  • Operating system (and linux kernel version): ubuntu 19.04 5.0.0-25-generic
  • Hardware (GPU/CPU): Intel core i3-7100

Ready for review

  • [ ] Script tested as a regular phoenicis user and working (if you have a problem -> create as draft and ask for help).
  • [x] json-align and eslint run according to the documentation.
  • [x] Codacy and travis checked.

ImperatorS79 avatar Aug 24 '19 19:08 ImperatorS79

Tried EU West and East installers, still getting that dx9 error.

Zemogiter avatar Aug 24 '19 19:08 Zemogiter

@Zemogiter Could you check the wine log and the content of your runtime because this is definitely weird.

ImperatorS79 avatar Aug 25 '19 15:08 ImperatorS79

This is weird. I've applied the latest commit from this PR to my local repo and the installation went fine no more dx9 errors. I've noticed that it downloaded the runtime now (before the .Phoenicis/engines/wine/runtime folder was empty). Perhaps we need to add a force runtime download button in the options menu.

Zemogiter avatar Aug 25 '19 16:08 Zemogiter

Did you try launching the game ?

ImperatorS79 avatar Aug 25 '19 17:08 ImperatorS79

I can't because I forget password & username. Waiting for email.

Zemogiter avatar Aug 25 '19 18:08 Zemogiter

@Zemogiter please make sure to use only code you have written yourself and none from the initial PR #797. The reason being that after reading the latest comments on it I wouldn't assume that we have permission to do so.

madoar avatar Aug 26 '19 17:08 madoar

Why D9VK is removed? Is it due to #797?

Zemogiter avatar Aug 27 '19 13:08 Zemogiter

Just because I am not sure it works currently and I can then launch it on my potato pc ^^.

ImperatorS79 avatar Aug 27 '19 14:08 ImperatorS79

Just because I am not it work currently and I can then launch it on my potato pc ^^.

Note that you need patches for league of legends to work without them game won't let you pass champion select due to pakman violation (pakman is league of legends anti-cheat)

Or using patched gcc for 32-bit architecture on 32-bit wine since game is written in CPP.

Kreyren avatar Aug 27 '19 17:08 Kreyren

@madoar I guess we could merge this so that at least the installation script works. Waiting for a new custom wine build in https://github.com/PhoenicisOrg/phoenicis-winebuild/issues/85.

ImperatorS79 avatar Sep 06 '19 12:09 ImperatorS79

@ImperatorS79 I would like to wait until #1112 has been merged if this is fine with you

madoar avatar Sep 07 '19 08:09 madoar

@ImperatorS79 Referencing https://github.com/Winetricks/winetricks/pull/1335 in case you want to grab a logic + i'm willing to help you debug phoenicis script if needed.. i probably broke it in all the ways possible at this point O.o

Kreyren avatar Sep 26 '19 21:09 Kreyren

Can somebody test if the game works?

plata avatar Oct 05 '19 09:10 plata

The games will surely not work, because it needs a patched wine version https://github.com/PhoenicisOrg/phoenicis-winebuild/pull/107.

ImperatorS79 avatar Oct 05 '19 09:10 ImperatorS79

Then we must wait until that's done. Proton doesn't work either?

plata avatar Oct 05 '19 09:10 plata

Those patch are not in proton. They are taken from bugzilla. Unfortunately they cannot be applied with winebuild (because of the command used by winebuild).

ImperatorS79 avatar Oct 05 '19 09:10 ImperatorS79

You can deploy the wine into a AppImage using https://github.com/Winetricks/winetricks/pull/1348

Or get it from: https://github.com/mmtr/Wine_Appimage/releases

Referencing logic in winetricks to get league of legends working: https://github.com/Winetricks/winetricks/pull/1335

Also its possible that the sc-segment patch is PE which would allow it to be deployed into a current WINE using LD_PRELOAD as referenced on https://github.com/Winetricks/winetricks/pull/1347#issuecomment-536647605 but I didnt investigate it fully yet

The other method is using ntdll which is not PE afaik

Kreyren avatar Oct 05 '19 19:10 Kreyren

@ImperatorS79 can you fix the conflicts?

plata avatar Dec 28 '19 12:12 plata

There are still conflicting files.

Zemogiter avatar Jan 02 '20 09:01 Zemogiter

Codacy complains

Zemogiter avatar Jan 02 '20 09:01 Zemogiter

I must confessed I forgot about the current status of this PR. Is the game in theory playable after applying this PR or are there still some issues with the game itself (like the anti-cheat protection making issues etc.)?

madoar avatar Jan 02 '20 11:01 madoar

I guess the game should work. At least the game can install with this PR while before it could not.

ImperatorS79 avatar Jan 02 '20 11:01 ImperatorS79

I guess the game should work. At least the game can install with this PR while before it could not.

there are changes made in the wine so that's why is it working.. should work no issue on staging wine now

Kreyren avatar Jan 02 '20 21:01 Kreyren

Can anybody verify this such that we can merge the PR?

plata avatar Jan 03 '20 10:01 plata

After the setup file is downloaded I get this error:

[ERROR] org.phoenicis.multithreading.ControlledThreadPoolExecutorService (l.64) - Executable LeagueClient.exe not found!
	at <js> create(Unnamed:174:4783-4834)
	at <js> _createShortcut(Unnamed:184:4986-5002)
	at <js> go(Unnamed:98:3725-3759)
	at com.oracle.truffle.polyglot.ObjectProxyHandler.invoke(HostInteropReflect.java:678)
	at com.sun.proxy.$Proxy68.go(Unknown Source)
	at org.phoenicis.javafx.components.application.skin.ApplicationInformationPanelSkin.lambda$installScript$7(ApplicationInformationPanelSkin.java:237)
	at org.phoenicis.scripts.session.PhoenicisInteractiveScriptSession.eval(PhoenicisInteractiveScriptSession.java:35)
	at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$createInteractiveSession$1(BackgroundScriptInterpreter.java:45)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

[WARNING] 
org.graalvm.polyglot.PolyglotException: Executable LeagueClient.exe not found!
    at <js>.create (Unnamed:174)
    at <js>._createShortcut (Unnamed:184)
    at <js>.go (Unnamed:98)
    at com.oracle.truffle.polyglot.ObjectProxyHandler.invoke (HostInteropReflect.java:678)
    at com.sun.proxy.$Proxy68.go (Unknown Source)
    at org.phoenicis.javafx.components.application.skin.ApplicationInformationPanelSkin.lambda$installScript$7 (ApplicationInformationPanelSkin.java:237)
    at org.phoenicis.scripts.session.PhoenicisInteractiveScriptSession.eval (PhoenicisInteractiveScriptSession.java:35)
    at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$createInteractiveSession$1 (BackgroundScriptInterpreter.java:45)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:834)

Zemogiter avatar Jan 03 '20 11:01 Zemogiter

Can you find LeagueClient.exe in your container?

plata avatar Jan 03 '20 11:01 plata

For reference:

https://github.com/PhoenicisOrg/scripts/blob/8046db259d4a2a90436d315233981879de33649a/Engines/Wine/Shortcuts/Wine/script.js#L174

madoar avatar Jan 03 '20 11:01 madoar

@plata that's a negative

Zemogiter avatar Jan 03 '20 11:01 Zemogiter

Are there any other .exe files that look like they should be used to start League of Legends?

madoar avatar Jan 03 '20 11:01 madoar

@madoar no but there is League%20of%20Legends%20installer%20EUW.exe in resources

Zemogiter avatar Jan 03 '20 11:01 Zemogiter