ChristopherHX / mcpelauncher-manifest

EOL use ng, https://github.com/minecraft-linux/mcpelauncher-manifest/tree/ng, This works with 0.12 - 1.16.10.x (excl. beta 1.16.0.67/68), This won't work with the current 1.16.20-200 Versions
GNU General Public License v3.0
219 stars 21 forks source link

Not working Minecraft Android Versions #48

Closed ChristopherHX closed 2 years ago

ChristopherHX commented 4 years ago

This Project has been suspended by me since 2021/11/1, further changes or bug fixes are requiring Pull Requests to github repositories of minecraft-linux See https://github.com/ChristopherHX/mcpelauncher-manifest/issues/48#issuecomment-962518143

FAQ

The following versions haven't known to work yet. 0.0.0.0 - 0.11.99.99 1.13.0.9 - 1.13.0.17 1.16.0.67+ (works in ng) 1.16.210, 1.16.220 (Known issues) 1.16.230-1.17.0 (Known issues)

Please post exact version numbers which aren't working. Crashlogs would pollute this Issue.

YTG1234 commented 4 years ago

1.16.100.50 just hangs. The latest release, 1.16.10.02, works fine.

freundTech commented 4 years ago

1.16.20.03 is broken again. See #129

finobi commented 3 years ago

1.16.100.04 hangs randomly, mostly when game is quit

ChristopherHX commented 3 years ago

I know the launcher is unstable on some devices, but here an overview about the current status:

michael-ts commented 3 years ago

I would like to politely mention that while the launcher says that lack of support for 1.16.210 is not a bug but a feature request, the inability to use 1.16.210 basically prevents some of us from playing with our family and friends any more, as some devices auto-update and it seems universally true that they block older clients from connecting.

ChristopherHX commented 3 years ago

I won't want be rude, you get what you want immediately https://github.com/minecraft-linux/mcpelauncher-versiondb/pull/11/

...the ability to craft in 1.16.210 prevents basically some of us from playing survival at all see MCPE-117105.

I still recommend to back up your worlds before starting 1.16.210.

michael-ts commented 3 years ago

@ChristopherHX Wow, thanks! I tested it this weekend and it works great with Realms for me.

ChristopherHX commented 3 years ago

Here an overview about the current status of 1.16.230. I will upload fixes in the next update no eta. I do this for free, in my spare time.

Haus3master commented 3 years ago

Here an overview about the current status of 1.16.230. I will upload fixes in the next update no eta. I do this for free, in my spare time.

  • [ ] All problems from 1.16.220
  • [ ] _ZN7Bedrock17configureBreakpadEv corrupts the stack, stubbing it works (maybe calls setjmp, longjmp etc.)
  • [ ] Mouse input capture not working. Mojang added native android mouse support using MainActivity::lockCursor, MainActivity::unlockCursor.
  • [ ] Crash on exit (low priority)

Minecraft bedrock version numbers are getting out of hand, I hope this doesn't go to 1.16.2000.05...

Haus3master commented 3 years ago

I won't want be rude, you get what you want immediately https://github.com/minecraft-linux/mcpelauncher-versiondb/pull/11/

...the ability to craft in 1.16.210 prevents basically some of us from playing survival at all see MCPE-117105.

I still recommend to back up your worlds before starting 1.16.210.

So far, I didn't encounter the crafting bug...

ChristopherHX commented 3 years ago

So far, I didn't encounter the crafting bug...

Then you are likely only using the arm version of this Launcher, it seems to only affect Android x86(_64) devices incl. x86(_64) Versions of this Launcher. Most Users of this Launcher don't use the arm version, I use / test arm seldom.

_I was the first one who began to provide prebuilds for armv7 and armv8, just to make it complete or to complex for noobs to install it (Imagine running the x8664 version on raspbian (armv7) and wonder why it creates a text file on the desktop, no joke).

Haus3master commented 3 years ago

So far, I didn't encounter the crafting bug...

Then you are likely only using the arm version of this Launcher, it seems to only affect Android x86(_64) devices incl. x86(_64) Versions of this Launcher. Most Users of this Launcher don't use the arm version, I use / test arm seldom.

_I was the first one who began to provide prebuilds for armv7 and armv8, just to make it complete or to complex for noobs to install it (Imagine running the x8664 version on raspbian (armv7) and wonder why it creates a text file on the desktop, no joke).

True, I do use the arm version of the launcher, well, thanks for building for different architectures!

RetroSoftwareRepository commented 3 years ago

What versions do work exactly? I am looking to test my OG Mac Pro running El Capitan, and all the x86 versions I've tried are blocked by the latest launcher.

ChristopherHX commented 3 years ago

I prefer you would open an issue here: https://github.com/minecraft-linux/mcpelauncher-ui-manifest/issues

What versions do work exactly?

For EI Captain 32bit game, should be Minecraft 1.1-1.16.10 (x86) . I never tested it on EI Captain.

all the x86 versions I've tried are blocked by the latest launcher.

This might be a bug, which appeard after I introduced "Block launching unsupported Minecraft Versions completely" How to reproduce:

Workaround 1:

start the mcpelauncher-ui-qt from Terminal with --enable-devmode. For example

"/Applications/Minecraft Bedrock Launcher.app/Contents/mcpelauncher-ui-qt" --enable-devmode

Go to settings->Dev enable show unverified Versions, you will be able to run it anyway.

Workaround 2:

Delete the Minecraft version completly, and reinstall the version, if still blocked open an issue https://github.com/minecraft-linux/mcpelauncher-ui-manifest/issues

Workaround 3:

Get the old version of the Launcher until fixed, only basic 1.16.210 support was added.

In the changelog: https://github.com/ChristopherHX/osx-packaging-scripts/releases/tag/v0.1-beta-21-300

If you are not trying to run a beta version and you find the version in https://github.com/minecraft-linux/mcpelauncher-versiondb/tree/v0.1-beta-20 it is the bug I can confirm, I'am going to fix it with the next release.

No sound for game 1.16.20 or newer on 32bit macOS, might be implementable

reedacartwright commented 3 years ago

When it says that 'baron cannot fabricate Classloader class' is this a blocking bug, or a bug in some legacy part of the loader?

RetroSoftwareRepository commented 3 years ago

Well I've just bought the game on the Google Play store, and I don't have this issue anymore. I am able to play 1.16.210 just fine, no sound effects and all. The crafting system doesn't look to be difficult to use. The game runs fantastically, just like Java edition does since I upgraded the system starting in 2015 and is almost done as of last year. Just needs the CPUs upgraded to dual 3 GHz Quad core Xeons.

imawinnerloser commented 3 years ago

The latest version, 1.16.220.02, is preventing me from getting on my realm on my mac. When will the new update be added.

ChristopherHX commented 3 years ago

When it says that 'baron cannot fabricate Classloader class' is this a blocking bug, or a bug in some legacy part of the loaderNot blocking for me, I would say it is optional. It might be possible to fix by just implementing missing c++ funcions called via jni. I'm not willing to update the Launcher as frequently as last year, it is very time consuming. If someone tells me the crafting and / or texture bugs are fixed by mojang the next update might happen earlier.

reedacartwright commented 3 years ago

I'm motivated to help maintain the code base. I need to be pointed in the right direction. From the current status reports, it seems like you are working on some things, but wont have them finalized until a later date.

ChristopherHX commented 3 years ago

Glad to hear, that you want to help. Sadly some people seem to think they have a right for playing the latest version of the game at the same day as mojang releases it. The original maintainer / owner (MCMrArm) haven't made any patches since some time

Yes I have some prototype code to open 1.16.230 (includes 1.16.220 (beta, release not tested)), which needs to be rebased on ng. For the following parts

I haven't done anything about the other not checked points.

I have paused development and testing of these patches due to exams (they are over since tuesday), before I forget to learn enough :/.

I will publish these patches (only source code) this evening (UTC+1), but it lacks other (important?) points which might be also relevant to be accessible without --dev-mode + show unverified versions.

@reedacartwright May I ask, you know how to compile and debug this launcher? (https://github.com/minecraft-linux/mcpelauncher-manifest/tree/ng) You will have to configure cmake with clang(++) and -DJNI_USE_JNIVM=ON or it will still crash while using the default provide for fake-jni /baron.

ChristopherHX commented 3 years ago

Those of us who want to fix some of the not checked known problems, can now checkout https://github.com/minecraft-linux/mcpelauncher-manifest/commit/8b614d061bdd845f0d4f9df585902d9ca7b3e224. This version is not attached to a Launcher Release, because of following problems:

reedacartwright commented 3 years ago

@ChristopherHX I have a local copy of the ng branch compiled manually following the example in your packaging scripts. If you can tell me what flags I need to pass to cmake to be able to debug it that would be helpful.

ChristopherHX commented 3 years ago

You need to pass -DCMAKE_BUILD_TYPE=Debug and rebuild, I forget what hack is needed to see the content of strings (gnu libstdc++), just google that yourself.

But debugging the game itself, is very frustrating for me. No source code only some symbols loadable in gdb via a hack and assembly.

ChristopherHX commented 3 years ago

Also read my readme of jnivm to trace (-DJNIVM_ENABLE_TRACE=ON) what jni methods are called https://github.com/ChristopherHX/libjnivm#readme

reedacartwright commented 3 years ago

I got it compiled and generated a log file. Now I just need to figure out how to extract important information from the log.

The game crashes for me before the game loads. So I can't test what you were saying about storage paths.

Update: Here's the correct log. I don't know why I had an strace log. I don't remember generating one. log.txt

ghost commented 3 years ago

Mojang Studios already released Minecraft 1.16.220 on April 6th. I've read the reason why 1.16.220 isn't released for macOS/Linux. Time isn't an issue as long as the problem is solved.

ChristopherHX commented 3 years ago

@reedacartwrightI read your log (a non strace log is far more readable for me) and found the reason you haven't compiled with the following cmake option -DJNI_USE_JNIVM=ON. My linux-packaging scripts, build.sh is outdated and I haven't added -DJNI_USE_JNIVM=ON cmake option or made it the default. Cmake flags are splitted across .sh and quirk files, not really readable. This option is also mentioned inside the commit message of my incomplete patchset. Feel free to fix fake-jni support if you wish. I am not working on fake-jni support, because I have written my own implementation (jnivm) and fake-jni is deprecated by their owner(s). @GabeCoder I don't like that mojang makes more breaking changes than ever, if you have a chromebook than you can natively use Minecraft 1.16.230 beta with mouse without this launcher.Time isn't an issue as long as the problem is solved. You can be happy that this launcher isn't abandoned, but more imported the last launcher update was planned to be released in May not March, including more patches. Delays like this will happen more often in the future, as I am not actively developing the launcher for free anymore. It was only released to solve critical regressions like showing 1.16.210 in the menu.

darkporpoise commented 3 years ago

@ChristopherHX Hopefully all the people clamouring for an update shows how much they appreciate your time and effort.

Kas-tle commented 3 years ago

On MacOS 10.14, the updates seem to allow for launch on 1.16.220 versions. 1.16.230.54 however leads to a failure to start. I've attached the log and can provide more info if that would be of assistance. log.txt

reedacartwright commented 3 years ago

@ChristopherHX I remembered to set it. Here is the cmake command I ran:

CC=clang CXX=clang++ cmake -G Ninja ../../source/mcpelauncher -DJNI_USE_JNIVM=ON -DCMAKE_BUILD_TYPE=Debug

When I run grep JNI_USE_JNIVM CMakeCache.txt, it's reported as set:

JNI_USE_JNIVM:BOOL=ON

Is there some other reason it might not have taken?

reedacartwright commented 3 years ago

I added the JNIVM_TRACE flag, and it's crashing because of a missing method:

03:50:08 Debug [JNIVM] InternalFindClass com/mojang/minecraftpe/MainActivity
03:50:08 Debug [JNIVM] Invoked Unknown Member Function Class=`com/mojang/minecraftpe/MainActivity` Method=`tick` Signature=`()V`
03:50:08 Debug [JNIVM] InternalFindClass com/mojang/minecraftpe/MainActivity
03:50:08 Debug [JNIVM] Call Member Function Class=`com/mojang/minecraftpe/MainActivity` Method=`getCursorPosition` Signature=`()I`
03:50:08 Debug [JNIVM] InternalFindClass com/mojang/minecraftpe/MainActivity
03:50:08 Debug [JNIVM] Call Member Function Class=`com/mojang/minecraftpe/MainActivity` Method=`getBroadcastAddresses` Signature=`()[Ljava/lang/String;`
03:50:08 Debug [JNIVM] InternalFindClass com/mojang/minecraftpe/MainActivity
03:50:08 Debug [JNIVM] Invoked Unknown Member Function Class=`com/mojang/minecraftpe/MainActivity` Method=`tick` Signature=`()V`
03:50:08 Debug [JNIVM] InternalFindClass com/mojang/minecraftpe/MainActivity
03:50:08 Debug [JNIVM] Call Member Function Class=`com/mojang/minecraftpe/MainActivity` Method=`getCursorPosition` Signature=`()I`
03:50:08 Debug [JNIVM] InternalFindClass com/mojang/minecraftpe/MainActivity
03:50:08 Debug [JNIVM] Invoked Unknown Member Function Class=`com/mojang/minecraftpe/MainActivity` Method=`getImageData` Signature=`(Ljava/lang/String;)[I`
03:50:08 Debug [JNIVM] Construct array=`[I` via New*Array
03:50:08 Debug [JNIVM] InternalFindClass [I

Looks like I got some programming to do.

ghost commented 3 years ago

@GabeCoder I don't like that mojang makes more breaking changes than ever, if you have a chromebook than you can natively use Minecraft 1.16.230 beta with mouse without this launcher.

Unfortunately, I don’t have a Chromebook, but instead, a Raspberry Pi 4. But yes, Mojang is releasing updates too often.

Time isn't an issue as long as the problem is solved. You can be happy that this launcher isn't abandoned, but more imported the last launcher update was planned to be released in May not March, including more patches.

At least Minecraft didn’t die. (Technoblade never dies)

Delays like this will happen more often in the future, as I am not actively developing the launcher for free anymore. It was only released to solve critical regressions like showing 1.16.210 in the menu.

Does this mean that it require payment for gamers to install the launcher, or does it mean that the developer needs to pay to publish updates? I still understand that Minecraft needs to be paid for on Google Play for legal reasons.

If I was old enough for a PayPal account, I would’ve contributed to this project with money.

ChristopherHX commented 3 years ago

@Kas-tle You will need to add the path to libEGL.dylib into your LD_LIBRARY_PATH env variable, my osx-packaging-scripts build it to find it in the App Bundle. (You find it inside of chrome and 'Minecraft Bedrock Launcher.app/Contents/Frameworks') Seems like mojang removed symbols again, so you need libEGL for 1.16.230

I added the JNIVM_TRACE flag, and it's crashing because of a missing method:

Are you shure it is because a missing method? For me it just continues. If it is 1.16.230 it might be that I had just luck to avoid the crash. No idea, might only work on some machines? like mine. As I said haven't time to test the patch. I don't like shorten logs, it lacks relevant contents.

reedacartwright commented 3 years ago

On my machine the crash is happening in the image Blob code. I've worked with that part of the codebase before. I'm working under the assumption that it is memory related and maybe tied to loading a resource pack.

On Fri, Apr 9, 2021, 04:20 ChristopherHX @.***> wrote:

@Kas-tle https://github.com/Kas-tle You will need to add the path to libEGL.dylib into your LD_LIBRARY_PATH env variable, my osx-packaging-scripts build it to find it in the App Bundle. (You find it inside of chrome and 'Minecraft Bedrock Launcher.app/Contents/Frameworks') Seems like mojang removed symbols again, so you need libEGL for 1.16.230

I added the JNIVM_TRACE flag, and it's crashing because of a missing method:

Are you shure it is because a missing method? For me it just continues. If it is 1.16.230 it might be that I had just luck to avoid the crash. No idea, might only work on some machines? like mine. As I said haven't time to test the patch. I don't like shorten logs, it lacks relevant contents.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ChristopherHX/mcpelauncher-manifest/issues/48#issuecomment-816612992, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAY4HXKY3PMA6O5R45UP33TH3PI7ANCNFSM4K7F6QJQ .

ghost commented 3 years ago

Q&A: Do Minecraft Bedrock Edition versions corrupt sometimes when they’re released on macOS/Linux?

jpsnyder commented 3 years ago

Delays like this will happen more often in the future, as I am not actively developing the launcher for free anymore.

@ChristopherHX Do you have any sponsorship links for donations? I would like to contribute towards your much appreciated efforts. This launcher is vital in helping me to play Minecraft with my friends who insist on using bedrock.

ChristopherHX commented 3 years ago

Do you have any sponsorship links for donations?

Only my personal paypal account christopher.homberger@web.de.

How does mojang generate the internal storage path now? vscode: /data/data/home/christopher/minecraft-linux/mcpelauncher-ng-upstream/build/proc/9814/cmdline /data/data + parent folder of executable + /proc/ + pid + /cmdline, I guess this would do it for now.

Well I'm wrong there is still something very very weird AppImage: /data/data/tmp/.mount_MinecrTO7u4O/usr/bin/./mcpelauncher-client macOS? flatpak?

nguyentiffany commented 3 years ago

how soon do you think the new update will be supported

ghost commented 3 years ago

I just realized that in 1.16.210, there is a bug that causes skins not to be fully imported. This doesn’t have to do with the macOS/Linux launcher itself, but is actually a Mojang problem.

ChristopherHX commented 3 years ago

Now?, flatpak might delay the update macOS dmg 10.12 randomly failed to build, so use 10.10.

Kas-tle commented 3 years ago

On MacOS it seems it's basically impossible to use internal storage at the moment, from a practical standpoint. It attempts to write directly to /data/data in the root directory, which it then, of course, cannot do unless it was launched with sudo. If you do however go into the package contents and launch the UI with sudo ./mcpelauncher-ui-qt, that is indeed exactly what it will do, creating a /data/data folder in the system root directory.

jpsnyder commented 3 years ago

Only my personal paypal account christopher.homberger@web.de.

Donated :)
You should also look into adding a sponsor button on the repo. It is just the matter of adding a FUNDING.yml file linking to your username for the funding platorm of your choice. https://github.blog/2020-03-24-getting-started-with-github-sponsors/

reedacartwright commented 3 years ago

I merged the getImageData code from feature-jnivm branch and it solved my crash. Pull request is at https://github.com/minecraft-linux/mcpelauncher-client/pull/19

ChristopherHX commented 3 years ago

On MacOS it seems it's basically impossible to use internal storage at the moment,

My first fix was only working on my dev env. The AppImage also crafted another path. I will provide a fix for it within 24 Hours.

I don't know exactly how the game build the internal storage path now. I need a list of all possible /data/data locations and it will work.

ghost commented 3 years ago

So far, Minecraft 1.16.220 has had me caught up with Mojang and runs smoothly. Plus, the shield is positioned correctly, even though I’m not using shields for PvP.

Deckedgamer23 commented 3 years ago

hey 1.16.220.20 has a bug where I can only scroll one way please help it makes the game like unplayable

nguyentiffany commented 3 years ago

1.16.220 is still hidden and unsupported for me

Haus3master commented 3 years ago

1.16.220 is still hidden and unsupported for me

Update the launcher to the latest version, and enable devmode and select show beta versions then the .220 versions will show up...

nguyentiffany commented 3 years ago

how do i enable devmode?

ChristopherHX commented 3 years ago

enable devmode and select show beta versions

No, if you do this the launcher will crash and / or get corrupted.

how do i enable devmode?

Please keep it off, or I'm forced to remove the devmode from my prebuilds. There is no valid reason to enable it, for normal users.

1.16.220 is still hidden and unsupported for me

Needs launcher version v0.1-beta-23 or newer. The only possible reason for this is you haven't installed one of the last two update's. Without this update it is impossible to start the game, regardless if you enabled the devmode or not.

Flatpak, use the software manager or one of the following commands

flatpak update
sudo flatpak update

AppImage and / or macOS press "check for updates" in settings->about

If updating fails just download the launcher update from the download page