Closed wyatt8740 closed 7 years ago
I believe this issue might not be due to the loader. I've been trying to write a loader myself, and ran into this issue. After finding 2-3 other open source loaders, they all exhibit the same error. Perhaps it's Jagex's doing.
One client that does not do this is this one: https://github.com/RuneSuite/simple-client
It's written in Kotlin, which is compiled for execution in a Java VM, like Scala. There was a commit to fix this problem, too. It looks like they made the launcher call the init() and start() methods later on in the code than it had been executing.
I can confirm it works, although setting up a Kotlin compiler was quite annoying for me, and I had to tweak an XML file's version number (I forget which one) to make it build happily.
It's definitely Jagex's doing, but it's not anything actually showing any intent to stop unofficial clients. It's just a change in their applet.
The easiest fix is to move applet.init() in RSLoader.java just before applet.start() line.
Hey, thanks for reporting this - apologies for the slow update but it should now be fixed :)
No problem. I was curious as to what you'd do to fix it - I tried to interpret that kotlin implementation into your Java code, but was having a hard time wrapping my head around it. Thanks for fixing it!
Upon launching the client for Old-School Runescape: