mcpelauncher-linux icon indicating copy to clipboard operation
mcpelauncher-linux copied to clipboard

XboxLive

Open vzlomka76 opened this issue 8 years ago • 21 comments

When will add support for XboxLive? Just want to play with friends

vzlomka76 avatar Apr 14 '17 16:04 vzlomka76

You can meanwhile play on Raspberry PI or ARM Board with Tesseract Pocketmine server. On LAN you can also play a LAN game on the friends tab. When you have public IP, you can also redirect port 19132 to your Minecraft LAN device and play this way. Other possibility is to use Hamachi VPN.

kukulo2011 avatar Apr 15 '17 12:04 kukulo2011

@kukulo2011 I don't use Tesseract, i use Nukkit. Not in this case, I would like to see what would be the support of xbox live

vzlomka76 avatar Apr 15 '17 13:04 vzlomka76

If i remember correctly, @MCMrARM said he wasn't planning on adding XBL support. amiright?

DaMatrix avatar Apr 15 '17 15:04 DaMatrix

XBL isn't the priority now. There are few issues to be fixed: resource packs aren't working, storage sometimes is bugged, gamepad support is missing...

NyaomiDEV avatar Apr 15 '17 19:04 NyaomiDEV

I'd say the ETA on this is around two months.

MCMrARM avatar May 07 '17 16:05 MCMrARM

I'll write a bit more about what is the problem with adding this quickly and how someone could eventually help me. I more or less know of a hacky way to implement Xbox Live however to do so I need to have a working web browser which is the current problem with this overall. I'd need to add a custom scripting interface to the browser to get a callback with the login token. Adding an embeeded web browser to this is currently pretty problematic as Qt doesn't like being built for i386 and I'm not sure how easy would it be to embeed Chromium into this.

MCMrARM avatar Jul 31 '17 11:07 MCMrARM

I've tried integrating CEF into the project with pretty much success (except it looks like it'll add +150mb to binary size). I also did some reverse engineer on actual login procedure and it's probably doable, but still a lot of work left :)

MCMrARM avatar Aug 04 '17 20:08 MCMrARM

I got myself signed in! I have no idea if Realms work or not but looks like achievements work.

(Note it's not even persistent at this point and you'd have to log in on every launch at this point but I'm working on it :P)

MCMrARM avatar Aug 06 '17 08:08 MCMrARM

Okay, I'd ask you all to try this out, but it might not be easy to compile:

  1. Clone the 1.2-xboxlive branch
  2. Download CEF linux32 binary (http://opensource.spotify.com/cefbuilds/index.html) and extract Release/libcef.so to libs/cef (so that libs/cef/libcef.so exists)
  • copy Release/natives_blob.bin and Release/snapshot_blob.bin to the directory from where you will run mcpelauncher (the directory with the binary though, not working dir)
  • You'll need to build libcef_dll and copy over libcef_dll_wrapper.a to libs/cef/ . I think that should build pretty easily (note you'll need to do cmake . -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_C_FLAGS=-m32 to build for 32 bit)
  • from Resources copy: locales to libs/cef/locales/, cef.pak, cef_100_percent.pak, cef_200_percent.pak, cef_extensions.pak to libs/cef, and icudtl.dat to the mcpelauncher binary directory
  1. Then MCPELauncher should build finally, run and log in :)

I'm aware this is confusing, but I believe in anyone who will attempt to build this!

MCMrARM avatar Aug 06 '17 09:08 MCMrARM

Can Anyone Make a Video This Is Confusing Me Alot

M3meZ avatar Aug 07 '17 05:08 M3meZ

Perhaps you should wait a bit, since it seems like it's not too long until these changes are handled for you.

BrainBlasted avatar Aug 07 '17 05:08 BrainBlasted

k

M3meZ avatar Aug 07 '17 06:08 M3meZ

Okay, now it's way easier.

  1. Clone the 1.2-xboxlive branch
  2. Run ./setup_cef.sh and wait until it completes
  3. Build as normal Please note that there are new dependecies and you'll need to resolve them on your own.

MCMrARM avatar Aug 07 '17 15:08 MCMrARM

Great job so far! thx

Those dependencies must be enough.

apt-get install libxrender-dev:i386 libxrandr-dev:i386 libnss3-dev:i386 libxcursor-dev:i386 libxcomposite-dev:i386 libglib2.0-dev:i386 libgdk-pixbuf2.0-dev:i386 libcairo-dev:i386 libgtk2.0-0:i386 libxss-dev:i386 libxtst-dev:i386 libasound-dev:i386 libgconf2-dev:i386

Irioth avatar Aug 07 '17 22:08 Irioth

Linux Mint 18.1 ( Ubuntu 16.04 base ) Needs

libssl-dev:i386

I get stuck here tho;

In file included from /usr/include/curl/curl.h:35:0,
                 from /home/morten/source/mcpelauncher-linux/src/msa_network.cpp:8:
/usr/include/curl/curlrules.h:143:41: error: size of array ‘__curl_rule_01__’ is negative
     [CurlchkszEQ(long, CURL_SIZEOF_LONG)];
                                         ^
/usr/include/curl/curlrules.h:153:53: error: size of array ‘__curl_rule_02__’ is negative
     [CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)];
                                                     ^
In file included from /usr/include/curl/curl.h:35:0,
                 from /home/morten/source/mcpelauncher-linux/src/cll.cpp:6:
/usr/include/curl/curlrules.h:143:41: error: size of array ‘__curl_rule_01__’ is negative
     [CurlchkszEQ(long, CURL_SIZEOF_LONG)];
                                         ^
/usr/include/curl/curlrules.h:153:53: error: size of array ‘__curl_rule_02__’ is negative
     [CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)];
                                                     ^

Not sure how to fix that, and I don't have much time to much around today.

I'll update my vagrant file to use the 1.2 branch and produce output that is generally usefull, should I put it here or on the wiki?

for those that don't know, vagrant is a virtual machine templating system that lets you spool up new instances of machines on you computer without user input - very useful for automated testing on clean systems.

guppy42 avatar Aug 08 '17 06:08 guppy42

The line cat /proc/cpuinfo | awk '/^processor/{print $3}' | tail -1 doesn't do what you think it does;

it reports the number of physical cores -1, so on single cores it report 0 ( and -j0 makes make fail) on my i5 it report 3 but it has hyper threading to the correct value would be 4*2

at any rate if you pick a number higher than the max number of threads you cpu can handle it just works as if you specified max so maybe just replace that with a static number?

guppy42 avatar Aug 08 '17 06:08 guppy42

I've created a seperate issue for testing the build system using vagrant #164

guppy42 avatar Aug 08 '17 07:08 guppy42

@guppy42 As a temporary workaround, what I can think of, is getting the normal non-distribution CURL headers and building against those instead of the system ones.

MCMrARM avatar Aug 08 '17 10:08 MCMrARM

Just a word of caution here - I rebooted and suddenly I had no desktop, at least the following software had been uninstalled;

  • Google Chrome
  • Cinnamon (desktop)
  • lightdm & it's greeter (login software)

All I've installed on my real box is openssl openssl:i386 libssl-dev:i386 and ofcourse run the setup_cef.sh script

given that setup_cef does not mess with packages I'm inclined to think that libssl-dev:i386 might be the culprit. It could also be a flaw in Mint's updater but I don't see anyone else online complaining about it - so exercise caution

guppy42 avatar Aug 08 '17 18:08 guppy42

@guppy42 Probably one of the packages has a complex dependency mess, try to read the change list more carefully next time - setup_cef shouldn't cause any mess.

MCMrARM avatar Aug 08 '17 18:08 MCMrARM

Not pointing fingers or anything I well aware that if anyone is responsible for messing up my system it's me ;)

Just posted it in case it happened to anyone else also so we can try and figure out what package that started the cascade

guppy42 avatar Aug 08 '17 18:08 guppy42