Skip to content

Compiling from sources

MCMrARM edited this page Dec 24, 2018 · 19 revisions

Basic prerequirements:

  • Ubuntu - sudo apt-get install git cmake pkg-config

Compiling the MSA dependency (required for Xbox Live)

Prerequirements

  • Ubuntu 18.04+ - sudo apt-get install libssl-dev libcurl4-openssl-dev qtbase5-dev qtwebengine5-dev
  • Ubuntu 16.04 - You must add a Qt 5.9+ repository first (add-apt-repository ppa:beineri/opt-qt596-xenial && apt-get update) from which you should install apt-get install qt59base qt59webengine; also install apt-get install libssl-dev libcurl4-openssl-dev
  • macOS - brew install cmake qt

Build instructions

git clone --recursive https://github.com/minecraft-linux/msa-manifest.git msa && cd msa
mkdir -p build && cd build
cmake -DENABLE_MSA_QT_UI=ON ..
make -j12

macOS: replace the cmake line with cmake -DCMAKE_PREFIX_PATH=$(brew --prefix qt) -DENABLE_MSA_QT_UI=ON ..

Installation

You can now optionally install the MSA daemon system-wise. If you don't, you'll need to specify the path to MSA later (and the resulting binary will only work on your system).

  • Generic instructions - Run sudo make install. Note that this doesn't make use of your system package manager, and therefore if possible, it's generally not recommended if there are better alternatives available for your system.
  • Ubuntu - You can create a .deb file and install it using the following commands:
    cpack --config msa-daemon/CPackConfig.cmake
    sudo dpkg -i  ./msa-daemon-0.1.1-Linux.deb && sudo apt-get install -f
    cpack --config msa-ui-qt/CPackConfig.cmake
    sudo dpkg -i  ./msa-ui-qt-0.1.1-Linux.deb && sudo apt-get install -f
    

Important Note: Before continuing to the next step, make sure to go to the parent directory with cd ../.. (make sure to return from the build directory and then from the msa directory). This generally applies to the following steps as well.

Compiling the launcher

Prerequirements

  • Ubuntu - you'll need to sudo dpkg --add-architecture i386, then install the required packages: sudo apt-get install g++-multilib libpng-dev:i386 libx11-dev:i386 libxi-dev:i386 libcurl4-openssl-dev:i386 libudev-dev:i386 libevdev-dev:i386 libegl1-mesa-dev:i386 libasound2:i386
  • macOS - brew install cmake libpng

Build instructions

git clone --recursive https://github.com/minecraft-linux/mcpelauncher-manifest.git mcpelauncher && cd mcpelauncher
mkdir -p build && cd build
cmake ..
make -j12

Important note: Please note that you may need to replace cmake .. with cmake -DMSA_DAEMON_PATH=/absolute/path/to/daemon/build/dir/msa-daemon .. if you didn't install the MSA daemon (e.g. if you ran the previous command in /home/paul/, you'd have to use /home/paul/msa/build/msa-daemon as the path). Note the .. is preceded by a space and is not part of the path to the daemon.

Updating the launcher

To update one of the components listed above (so, msa, mcpelauncher or mcpelauncher-ui), cd to it's directory and run: git pull && git submodule update. Then follow the same compile instructions as above, but skip the git clone line. You'll still need to follow the install steps again afterwards.

Setting it up

There are two ways to now get started. The recommended one is to use the Metalauncher. The Metalauncher is an user interface for managing Minecraft versions and this launcher, much alike the Java edition launcher. A Google Play account with a purchased copy is required. If you have already obtained an x86 apk (a standard ARM one, will not work!), you can also use the extract utility.

Option 1) Metalauncher (recommended)

Please visit https://github.com/minecraft-linux/mcpelauncher-ui-manifest/wiki/Compiling-from-sources for instructions

Option 2) Extract utility

Please visit https://github.com/minecraft-linux/mcpelauncher-manifest/wiki/Extract-utility for instructions

Uninstalling

If you installed using make install in order to uninstall do the following as root (escalate using sudo su):

rm /usr/local/bin/msa-daemon
rm /usr/local/bin/msa-ui-qt
rm /usr/local/bin/msa-ui-gtk
rm /usr/local/bin/mcpelauncher-client
rm -r /usr/local/share/mcpelauncher
rm /usr/local/bin/mcpelauncher-ui-qt
rm /usr/local/share/applications/mcpelauncher-ui-qt.desktop
rm /usr/local/share/pixmaps/mcpelauncher-ui-qt.png

Some of the commands may return errors - that's fine as some modules simply could have been not installed.