MCMrARM / mcpelauncher-linux

Please note this is a legacy repository, please go to: https://github.com/minecraft-linux/mcpelauncher-manifest/wiki
GNU General Public License v3.0
311 stars 44 forks source link

Support Minecraft better together version #196

Closed hunar1997 closed 7 years ago

hunar1997 commented 7 years ago

I tried it and everything was fine until running the launcher screenshot from 2017-09-22 17-47-02 that version is a BIG thing i really want it in linux :/

guppy42 commented 7 years ago

The apk-download branch Works for 1.2 use that

MCMrARM commented 7 years ago

...and there comes the time to finally merge that branch into master.

hunar1997 commented 7 years ago

I couldn't compile the apk-download branch .. it didn't fine zip.h .. and i tried the 1.2 branch .. but during the launch black screen flashed and closed with errors screenshot from 2017-09-23 13-59-16 Help?? :/

guppy42 commented 7 years ago

Try installing libzip-dev

ghost commented 7 years ago

Also can't get 1.2 mcpelauncher + 1.2 APK to work. The branch seems to compile and the APK extracts OK. Not sure how to read the error dump. MCMrARM, might be interesting to hear more about how how you interpret the output/errors.

1.2 branch of mcpelauncher APK is 1.2.0.81 x86 Ubuntu 16.04 LTS

loading native libraries
oslib: libGLESv2.so: 157613656
oslib: /root/packages/MCPE_Launcher_1.2/libs/native/libfmod.so.8.2: 157615592
loading hybris libraries
loading MCPE
loaded MCPE (at 4084047872)
apply patches
...
patches applied!
init app platform vtable
AppPlatform size = 174
init app platform
app platform initialized
init window
EGL_VERSION = 1.4 (DRI2)
create minecraft client
userdata path = data/user/
get system region: 0xdeadbeef
current storage path = data/current/
userdata path = data/user/
init minecraft client
get assert full path: uniforms.json
userdata path = data/user/
current storage path = data/current/
get data url: assets/
internal storage path = data/private/
internal storage path = data/private/
internal storage path = data/private/
internal storage path = data/private/
xbox read config file
internal storage path = data/private/
internal storage path = data/private/
internal storage path = data/private/
internal storage path = data/private/
get assert full path: texture_backwards_compatibility_mapping.json
get assert full path: texture_backwards_compatibility_mapping.json
userdata path for levels = data/user/
userdata path for levels = data/user/
internal storage path = data/private/
userdata path = data/user/
get data url: assets/
getjvmenv
...
getjvmenv
get assert full path: profanity_filter.wlist
internal storage path = data/private/
creating fake store <MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqU9snkqLkTCYZQfQgNy9eabP/OcumQTgcoYhuBbmx2isicIX8mSUNJn64yxiA6acqnJzJxGbKW9H+gSWMuRtCtwI3Exb3sCq19EiVtjos4u5BJatzBKXXDDJeeYrejGk8FgT6ffokcilJFY4wgQQxDGFdfE/reAqm6+VKUtoqnjMpG0wVZn+o0bJfxNvE/ydJPlabDmoywEn9zEl0hXo0i+cimVlFZcTT6ed7U9celM2Ywg+7qVIu7fmBHPucTIoUAbipEAIvP2EntOqrhUG6GKJ219Qhdr43fvnyBailudNBiDRqA+x0rCH1JgmV/BvyAHTBylPzroeh9rWJNNPxQIDAQAB>
get product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget product sku prefix: realmsget store id: LinuxStore
Signal 11 received
Backtrace elements: 3
#0 ./mcpelauncher(_Z12handleSignaliPv+0x62) [0x806fcd1]
#1 [0xf774fcb0]
#2 [0x98d710a]
Dumping stack...
#28 HYBRIS Core::FileSystemImpl::_readOperation(Core::Result&&, unsigned long long)+298 in libminecraftpe.so+0x21dacda [0xf58b4cda]
#41 HYBRIS OfferRepository::_createRealmsOffers()+40 in libminecraftpe.so+0x12e8e38 [0xf49c2e38]
#54 HYBRIS OfferRepository::_createRealmsOffers()+40 in libminecraftpe.so+0x12e8e38 [0xf49c2e38]
#72 HYBRIS Core::FileSystem::openFile(Core::Path, Core::File&, Core::FileOpenMode, Core::FileBufferingMode)+848 in libminecraftpe.so+0x21d1c20 [0xf58abc20]
#92 HYBRIS Core::FileSystem::cleanPathSeparators_deprecated(Core::PathBuffer<Core::StackString<char, 1024u> >&, Core::Path)+273 in libminecraftpe.so+0x21d5cf1 [0xf58afcf1]
#98 HYBRIS Core::FileStorageArea::getStorageAreaForPath(std::shared_ptr<Core::FileStorageArea>&, Core::Path)+112 in libminecraftpe.so+0x21ce1d0 [0xf58a81d0]
#104 HYBRIS AppPlatform::loadTexture(std::string const&)+131 in libminecraftpe.so+0x1910f93 [0xf4feaf93]
#184 HYBRIS operator delete(void*)+28 in libminecraftpe.so+0x28be00c [0xf5f9800c]
#190 HYBRIS operator delete(void*)+6 in libminecraftpe.so+0x28bdff6 [0xf5f97ff6]
#196 HYBRIS Core::FileSystem::createDirectoryRecursively(Core::Path)+132 in libminecraftpe.so+0x21d31b4 [0xf58ad1b4]
#468 HYBRIS OfferRepository::_createRealmsOffers()+40 in libminecraftpe.so+0x12e8e38 [0xf49c2e38]
#540 HYBRIS OfferRepository::OfferRepository(MinecraftEventing&, std::string const&, std::string const&, Social::UserManager&, ClientInstance&, OculusPlatformMessagePump*, EntitlementManager&)+812 in libminecraftpe.so+0x12e817c [0xf49c217c]
#556 HYBRIS operator new(unsigned int)+39 in libminecraftpe.so+0x28c02e7 [0xf5f9a2e7]
#564 HYBRIS MinecraftGame::initImpl()+12362 in libminecraftpe.so+0xccc2ca [0xf43a62ca]
#582 HYBRIS ServiceLocator<AppPlatform>::mService+0 in libminecraftpe.so+0x3381ec0 [0xf6a5bec0]
#676 HYBRIS __cxxabiv1::__vmi_class_type_info::__do_dyncast(int, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const+1107 in libminecraftpe.so+0x28c0ed3 [0xf5f9aed3]
#732 HYBRIS (null)+44 in libc.so+0x3306c [0xf6bb206c]
#738 HYBRIS (null)+6 in libc.so+0x33046 [0xf6bb2046]
#740 HYBRIS (null)+69 in libc.so+0x33295 [0xf6bb2295]
#744 HYBRIS operator delete(void*)+28 in libminecraftpe.so+0x28be00c [0xf5f9800c]
#752 HYBRIS (null)+36 in libc.so+0xbb134 [0xf6c3a134]
#766 HYBRIS (null)+0 in libminecraftpe.so+0x3381e00 [0xf6a5be00]
#772 HYBRIS operator delete(void*)+28 in libminecraftpe.so+0x28be00c [0xf5f9800c]
#776 HYBRIS ThreadLocal<AppPlatform*>::getLocal()+56 in libminecraftpe.so+0xc817a8 [0xf435b7a8]
#811 HYBRIS getTimeMs()+0 in libminecraftpe.so+0x21ed1d0 [0xf58c71d0]
#813 HYBRIS std::_Function_base::_Base_manager<int (*)()>::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)+0 in libminecraftpe.so+0xcfa590 [0xf43d4590]
#814 HYBRIS std::_Function_handler<int (), int (*)()>::_M_invoke(std::_Any_data const&)+0 in libminecraftpe.so+0xcfa570 [0xf43d4570]
#815 HYBRIS getTimeMs()+0 in libminecraftpe.so+0x21ed1d0 [0xf58c71d0]
#817 HYBRIS std::_Function_base::_Base_manager<int (*)()>::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)+0 in libminecraftpe.so+0xcfa590 [0xf43d4590]
#818 HYBRIS std::_Function_handler<int (), int (*)()>::_M_invoke(std::_Any_data const&)+0 in libminecraftpe.so+0xcfa570 [0xf43d4570]
#832 HYBRIS App::init(AppContext&)+36 in libminecraftpe.so+0x17b6414 [0xf4e90414]
#890 HYBRIS xbox::services::system::user_auth_android::invoke_auth_flow()+0 in libminecraftpe.so+0x24a1eb0 [0xf5b7beb0]
#891 HYBRIS crossplat::JVM+0 in libminecraftpe.so+0x343a9d0 [0xf6b149d0]
Signal 6 received
Aborted (core dump)
guppy42 commented 7 years ago

Please Use the apk-download branch

hunar1997 commented 7 years ago

Ok .. but now zip.h cant find zipconfig.h ... this is sooooo frustrating
screenshot from 2017-09-25 14-31-20

guppy42 commented 7 years ago

Try this - seems to be the most recent dependency list, unfortunately I haven't had time to test for my self so the wiki isn't updated

sudo apt install git libcurl4-openssl-dev zlib1g-dev:i386 libncurses5-dev:i386 gcc-multilib g++-multilib libx11-dev linux-libc-dev:i386 uuid-dev:i386 libpng-dev:i386 libx11-dev:i386 libxext6:i386 libmirclient-dev:i386 libmircommon-dev:i386 libxkbcommon-dev:i386 libwayland-dev:i386 libwayland-egl1-mesa:i386 libegl1-mesa-drivers:i386 libegl1-mesa-dev:i386 libegl1-mesa:i386 libgles2-mesa-dev:i386 libcurl4-openssl-dev libprotobuf-dev libprotoc-dev protobuf-compiler protobuf-c-compiler libzip-dev:i386 libssl-dev:i386 libgtk2.0-0:i386 libgtkglext1:i386 libasound2:i386 libnss3:i386 libxss1:i386 libgconf2-4:i386 libxtst6:i386 libudev1:i386 libprotobuf-dev:i386

from https://github.com/MCMrARM/mcpelauncher-linux/issues/172#issuecomment-323370147

hunar1997 commented 7 years ago

I seriously need some help .. previously i said that it couldn't find zip.h i don't know why that is solved now .. now same thing happed to curl .. it cant find curl/curl.h but that is weird because i installed those libraries and i can #include <curl/curl.h> in my projects without getting errors .. i done the same thing before with zip.h i don't know what fixed it .. this error only occurs inside this project .. there must be something that i don't know

guppy42 commented 7 years ago

you solved the zip.h issue because you followed my advice https://github.com/MCMrARM/mcpelauncher-linux/issues/196#issuecomment-331737744

to solv the curl issue do:

sudo apt install libcurl4-openssl-dev:i386

I don't mean to sound snobby but if you don't know how to google installing a particular library for your distro then maybe you should wait untill a ready made install script is created? you will only end up frustrating your self otherwise

hunar1997 commented 7 years ago

No No .. i'm not a begginer or anything like that .. i know those things very well .. but i just realized that (I FORGOT THE :i386 THE WHOLE TIME XD) that was my problem .. I feel really dumb right now .. Ok I compiled it now .. but there is no extract.sh file anywhere :/

guppy42 commented 7 years ago

after make install run mcpelauncher and it will ask you for your playstore credentials and download/extract the apk automatically hence the "apk-download" name of the branch ;)

hunar1997 commented 7 years ago

I'll just give up XD .. I really wanted to get MC1.2 .. make worked but make install didn't .. and ./mcpelanucher shows error screenshot from 2017-09-26 15-09-07 I think I'll just stick to the older version

guppy42 commented 7 years ago

step by step (assuming you have installed all dependencies)

git clone https://github.com/MCMrARM/mcpelauncher-linux.git
cd mcpelauncher-linux/
git checkout apk-download
git submodule init
git submodule update
./setup_cef.sh
./download_icon.sh
./setup_bin_libs.sh
mkdir build
cd build
cmake ..
sudo make install

At this point you may or may not have a an icon in you desktop menu ( didn't work on LM 18 ) if you do click it - if not type mcpelauncher (note the lack of a leading ./ ! )

to manually create a shortcut type which mcpelauncher that will return the full path to it where the shortcut should point to.

Enjoy

guppy42 commented 7 years ago

please note that if you are on Ubuntu 16.04 or earlier ( or any of the derived versions there of like Kbuntu, etc ) you need get a more recent version of cmake to compile! guide here: https://github.com/MCMrARM/mcpelauncher-linux/wiki/Requirements-For-Debian-Based-(Debian,-Ubuntu,-Mint)#installing-an-updated-cmake-ubuntu-1604

(I know this is not a problem for you - but others will find this issue when searching :P )

hunar1997 commented 7 years ago

Oh maaaaaaaaaan .. it works :D .. THANK YOUUUUUUUUUUUUUU

hunar1997 commented 7 years ago

Wait .. nooo .. there is a problem :( .. the menu, settings and xbox everything works except when i try to create a new world the computer freezes and nothing will respond .. the screen froze including the cursor and no key combination got me out of it , nothing .. i force restarted my laptop and tried again with sudo .. this time it crashed with a long error message .. this is the end of the message screenshot from 2017-09-26 18-31-46

janisroze commented 7 years ago

after https://github.com/MCMrARM/mcpelauncher-linux/issues/196#issuecomment-332191326

i get

ak@Lenovo:~/Downloads/minecr/mcpelauncher-linux/build$ make
make: *** No targets specified and no makefile found.  Stop.

and if i try

ak@Lenovo:~/Downloads/minecr/mcpelauncher-linux$ /home/ak/cmake-3.7.1/bin/cmake .

CMake Error at /home/ak/cmake-3.7.1/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
  Could NOT find CURL (missing: CURL_LIBRARY) (found version "7.47.0")
Call Stack (most recent call first):
  /home/ak/cmake-3.7.1/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /home/ak/cmake-3.7.1/Modules/FindCURL.cmake:50 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  gplay_api/CMakeLists.txt:7 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/ak/Downloads/minecr/mcpelauncher-linux/CMakeFiles/CMakeOutput.log".
See also "/home/ak/Downloads/minecr/mcpelauncher-linux/CMakeFiles/CMakeError.log".

But I have Curl. Am I missing something?

MCMrARM commented 7 years ago

You need 32-bit CURL (dev library).

guppy42 commented 7 years ago

My comment is missing a cmake ... after cd build.

My apologies

guppy42 commented 7 years ago

@MCMrARM commented You need 32-bit CURL (dev library).

for ubuntu based distributions this is obtained by;

sudo apt install libcurl4-openssl-dev:i386

janisroze commented 7 years ago

First of all I want to thank you for the help.

After it did not allow to install CURL I managed to install it and cmake finished successfully. I had to step back to the main folder where the MakeFile was and tried make

but when I thought everything is well I got this:

[ 53%] Linking CXX executable mcpelauncher
CMakeFiles/mcpelauncher.dir/hybris/src/hooks.c.o: In function `my_pthread_attr_getstackaddr':
hooks.c:(.text+0x43f): warning: the use of `pthread_attr_getstackaddr' is deprecated, use `pthread_attr_getstack'
CMakeFiles/mcpelauncher.dir/hybris/src/hooks.c.o: In function `my_pthread_attr_setstackaddr':
hooks.c:(.text+0x41e): warning: the use of `pthread_attr_setstackaddr' is deprecated, use `pthread_attr_setstack'
failed to create symbolic link '/home/ak/Downloads/minecr/mcpelauncher-linux/src/initial_setup_resources' because existing path cannot be removed: Is a directory
CMakeFiles/mcpelauncher.dir/build.make:1001: recipe for target 'mcpelauncher' failed
make[2]: *** [mcpelauncher] Error 1
make[2]: *** Deleting file 'mcpelauncher'
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/mcpelauncher.dir/all' failed
make[1]: *** [CMakeFiles/mcpelauncher.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
MCMrARM commented 7 years ago

Fixed with this commit -- https://github.com/MCMrARM/mcpelauncher-linux/commit/0729f940d29e5c7cabea57ebb1c05a46c77a5259 so git pull && cmake && make

janisroze commented 7 years ago

@MCMrARM It works. Great thanks. I was wondering now that I have successfully obtained the apk but would want to use my Xbox 360 controller to play the game should i use the gamepad-support branch?

Anyways really great work man.

MCMrARM commented 7 years ago

You might want to give it a try; but you'll need to build it in a separate directory (mkdir build && cd build && cmake ..)

janisroze commented 7 years ago

i was doing

git clone https://github.com/MCMrARM/mcpelauncher-linux.git
cd mcpelauncher-linux/
git checkoutgamepad-support
git submodule init
git submodule update
./setup_cef.sh
./download_icon.sh
./setup_bin_libs.sh
mkdir build
cd build
cmake ..
sudo make 

And got this

[ 59%] Linking CXX executable mcpelauncher
CMakeFiles/mcpelauncher.dir/hybris/src/hooks.c.o: In function `my_pthread_attr_getstackaddr':
hooks.c:(.text+0x43f): warning: the use of `pthread_attr_getstackaddr' is deprecated, use `pthread_attr_getstack'
CMakeFiles/mcpelauncher.dir/hybris/src/hooks.c.o: In function `my_pthread_attr_setstackaddr':
hooks.c:(.text+0x41e): warning: the use of `pthread_attr_setstackaddr' is deprecated, use `pthread_attr_setstack'
/usr/bin/ld: cannot find -ludev
/usr/bin/ld: cannot find -levdev
collect2: error: ld returned 1 exit status
CMakeFiles/mcpelauncher.dir/build.make:1027: recipe for target 'mcpelauncher' failed
make[2]: *** [mcpelauncher] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/mcpelauncher.dir/all' failed
make[1]: *** [CMakeFiles/mcpelauncher.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

It seems something similar to https://github.com/MCMrARM/mcpelauncher-linux/issues/196#issuecomment-334517180

but it seems i do not have some dependencies as well.

guppy42 commented 7 years ago
/usr/bin/ld: cannot find -ludev
/usr/bin/ld: cannot find -levdev

Might want to hit Google for how to add those dependencies to your distro. (most likely libudev-dev , libudev-dev)

janisroze commented 7 years ago

@guppy42

Thanks even though I am trying to google the problem I am still hitting a roadblock.

I tried to install

libudev1 is already the newest version (229-4ubuntu19).
udev is already the newest version (229-4ubuntu19).
libudev-dev is already the newest version (229-4ubuntu19).

But still no progress. I cant find the levdev in google anyway. Im so close that my minecraft taste buds are tingling but yet so far with this little problem.

guppy42 commented 7 years ago

try adding the proper architecture, ie; sudo apt install libudev-dev:i386