xupwup / LoLPatcher

League of Legends patcher
12 stars 4 forks source link

Crashes on Arch Linux x64 #16

Open ElectricPrism opened 8 years ago

ElectricPrism commented 8 years ago

Here's what I did and the output error message

mkdir -p ~/Workspace/LoL

cd ~/Workspace/LoL

wget http://lolpatcher.xupwup.nl/LoLPatcher.zip

unzip LoLPatcher.zip

java -jar LoLPatcher.jar

$ java -jar LoLPatcher.jar [xcb] Unknown request in queue while dequeuing [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. java: xcb_io.c:179: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed. $ java -jar LoLPatcher.jar $ java -jar LoLPatcher.jar $

xupwup commented 8 years ago

I cannot reproduce that error. This is what I did:

$ wget lolpatcher.xupwup.nl/LoLPatcher.zip
$ unzip LoLPatcher.zip
$ uname -srvmo
Linux 4.5.4-1-ARCH #1 SMP PREEMPT Wed May 11 22:21:28 CEST 2016 x86_64 GNU/Linux
GNU/Linux
$ sha256sum LoLPatcher.jar
ba8d60e8e2902ff0f3543399ce51bf308c71a2b2e0613b322cc232aa6121afd5  LoLPatcher.jar
$ java -version
openjdk version "1.8.0_92"
OpenJDK Runtime Environment (build 1.8.0_92-b14)
OpenJDK 64-Bit Server VM (build 25.92-b14, mixed mode)
$ java -jar LoLPatcher.jar

Note that the right way to start the program is by running java -jar SelfPatchFinalizer.jar LoLPatcher.jar, otherwise it cannot patch itself. You'll see a few .new files appear if you start it your way, and you need them because the .zip is very outdated.

Could you post PATCHLOG.txt? That file, containing more detailed errors, should be created by the patcher when something goes wrong.

ElectricPrism commented 7 years ago

Sorry for the delay, I think on my old install running it was you suggested worked.

At present the code I listed above does this:

➜  LoL java -jar SelfPatchFinalizer.jar 
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at selfpatchfinalizer.SelfPatchFinalizer.main(SelfPatchFinalizer.java:53)

I was wondering if you could

(A) List dependencies in the README.md

(B) Include the read-me in the ZIP listing dependencies and the proper launch command

(C) For linux systems you could even include a Icon and a .desktop launcher that makes it as easy as a double click pointing to directory ./

Even though the default LOL Launcher seems to be working at present I think there's still a need for this as it could break in the future at any time.

(I don't see any PATCHLOG.txt in ~/Workspace/LoL/ - is there supposed to be one?)

xupwup commented 7 years ago

the command line is

java -jar SelfPatchFinalizer.jar LoLPatcher.jar

You're missing the LoLPatcher.jar part.

ElectricPrism commented 7 years ago

Thanks, I went ahead and used your command to create a desktop launcher.

I copied the zip contents to /opt/lol and create a desktop launcher and icon.

icon

(Remove .txt extension) lol-launcher.desktop.txt

I'm not sure where the patcher installed the game data files to since it wasn't ~/.wine and didn't appear to be /opt/lol - but I can confirm it does boot and load well.

Also, compared to the standard client it's lightning fast at download.

If this was added to the Arch User Repository I'm sure a lot of Arch folk would use this as their league-of-legends go-to since it seems simple enough. http://aur.archlinux.org