Skip to content

Enable Xbox Live sign in and multiplayer in Minecraft - #60

Open
Sightem wants to merge 20 commits into
Weather-OS:masterfrom
Sightem:pr-33-xuser
Open

Enable Xbox Live sign in and multiplayer in Minecraft#60
Sightem wants to merge 20 commits into
Weather-OS:masterfrom
Sightem:pr-33-xuser

Conversation

@Sightem

@Sightem Sightem commented Jul 24, 2026

Copy link
Copy Markdown

This builds on #33 and implements the Gaming Runtime behavior minecraft’s embedded XSAPI needs to finish xbox live initialization. it enables Xodus interoperability, consumes the returned MSA token, completes XUser/XSTS/profile setup, routes token requests to the correct relying party, fixes token and signature result buffers, and supplies the user state and identity methods minecraft queries

It also adds the required XNetworking information flow, XSystem interface support, and fixes Xodus socket response handling

Tested with Minecraft Bedrock 1.26.33 under GDK Proton10-32: Xbox Live sign in works and multiplayer servers can be joined without ProxyPass

image image

@Sightem

Sightem commented Jul 24, 2026

Copy link
Copy Markdown
Author

Perhaps embarrassingly, I have been working on this since around december and only came across #33 today. I have tried my best to reconcile what I had locally with that branch

@olivi-r

olivi-r commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Hi, great work! I am also actively in the progress of updating #33 to consume the bleeding edge changes to Xodus ipc for device/title auth via sisu flow, for accessing both default and title specific endpoints (https://title.mgt.xboxlive.com/titles/current/endpoints). This will be general enough to support other first party games using custom title services.
Can we coordinate our branches perhaps?

@Sightem

Sightem commented Jul 24, 2026

Copy link
Copy Markdown
Author

Hey there, thank you! and yes, happy to. once the new Xodus/SISU work is available I can rebase my commit onto it, resolve the overlapping pieces, retain only the fixes still needed, and test minecraft again. if you prefer to cherry pick I can split the commit further. let me know what works best

@yuuzuree

Copy link
Copy Markdown

Hey, I'm getting a crash trying to run 1.26.33 with this branch. sign in screen renders fine, D3D11 device creates fine (tried both wined3d and DXVK), but it dies right after this every time:

fixme:gdkc:XNetworkingRegisterConnectivityHintChanged queue ..., callback ..., token ... stub!
fixme:twinapi:RegisterAppStateChangeNotification routine ..., context ..., reg ... - stub.
wine: Unhandled page fault on write access to 0x...
err:virtual:virtual_setup_exception stack overflow 1856 bytes

Same crash spot both times, before and after switching to DXVK, so probably not a rendering issue but I wouldn't know.

Arch/Hyprland rtx 4060 game files via xodus streaming. I can grab a full backtrace if you want or if its helpful. not sure if this is environment or a real issue since im not really a coding genius, sorry

@Sightem

Sightem commented Jul 25, 2026

Copy link
Copy Markdown
Author

@yuuzuree yes, a full backtrace would be useful

@yuuzuree

Copy link
Copy Markdown

@Sightem heres a snippet of the important pieces, also every frame is inside minecraft.windows itself theres no xgameruntime/wine frames except the thread trampoline at the bottom, so its not crashing in the stub call itself. null pointer write on a bg thread right after XNetworkingRegisterConnectivityHintChanged gets stubbed. my guess is the stub returns success without actually setting something up and the game null derefs it later but no idea if thats right

Unhandled exception: page fault on write access to 0x0000000000000000 in 64-bit code (0x000001443605a7).
Register dump:
rip:00000001443605a7 rsp:00007fbda1a9d700 rbp:00007fbda1a9d780 eflags:00010213 ( R- -- I -A- -C)
rax:00007fbdb05be180 rbx:0000000000000040 rcx:0000000000000000 rdx:00007fbcb471b360
rsi:00007fbc939fd5d0 rdi:00007fbc9218a740 r8:0000000000000000 r9:0000000000000000 r10:00007fbdb05be180
r11:00007fbc939fd5d0 r12:0000000000000055 r13:00007fbcb471b360 r14:0000000000000060 r15:00007fbcb412ca10
Backtrace:
=>0 0x000001443605a7 in minecraft.windows (+0x43605a7) (0x007fbda1a9d780)
1 0x0000014435e83a in minecraft.windows (+0x435e83a) (0x007fbda1a9d930)
2 0x0000014201a418 in minecraft.windows (+0x201a418) (0x007fbda1a9e220)
3 0x00000141899d0b in minecraft.windows (+0x1899d0b) (0x007fbda1a9eb40)
4 0x000001418a0786 in minecraft.windows (+0x18a0786) (0x007fbda1a9ec00)
5 0x000001444f5e14 in minecraft.windows (+0x44f5e14) (0x007fbda1a9f5b0)
6 0x000001444f70af in minecraft.windows (+0x44f70af) (0x007fbda1a9f5b0)
7 0x000001444f6a1e in minecraft.windows (+0x44f6a1e) (0x007fbda1a9f950)
8 0x0000014427d14b in minecraft.windows (+0x427d14b) (0x007fbda1a9fac0)
9 0x000001418ea4de in minecraft.windows (+0x18ea4de) (0x007fbda1a9fb70)
10 0x000001400a5b3a in minecraft.windows (+0xa5b3a) (0x007fbda1a9fc00)
11 0x00000140726947 in minecraft.windows (+0x726947) (0x007fbda1a9fcd0)
12 0x0000014075894f in minecraft.windows (+0x75894f) (0x007fbda1a9fed0)
13 0x006ffffe983a2a _beginthreadex_trampoline+0x4a(arg=00007FBDB05B2B30) [/home/hypr2/WineGDK/dlls/msvcrt/thread.c:202] in ucrtbase (0000000000000000)
14 0x006fffffa01549 in kernel32 (+0x11549) (0000000000000000)
15 0x006fffffbe0dab in ntdll (+0x10dab) (0000000000000000)
0x000001443605a7 minecraft.windows+0x43605a7: movq %r11, (%rcx)
System information:
Wine build: wine-11.8
Platform: x86_64 (guest: i386)
Version: Windows 10

Heres also the FULL backtrace 

backtrace.txt

@Sightem

Sightem commented Jul 25, 2026

Copy link
Copy Markdown
Author

the crash is on minecraft worker thread while loading a TextureSet through ResourcePack::getResource, the fault seems to be a null link during resource cache insertion. XNetworkingRegisterConnectivityHintChanged is unrelated to this.

could you provide the complete log from process startup, the exact commit you built, and retry with a freshly streamed Content directory using current xodus?

@yuuzuree

Copy link
Copy Markdown

@Sightem I tried to get you a fresh pull but hit a different xodus bug, current main doesnt seem to decrypt the exe during streaming anymore (comes out as raw data not a valid PE), and the new run command errors out on both a directory and the msixvc file. not sure if thats expected right now or a bug on their end or just my issue

my original install still reproduces the exact same crash though, same registers, same backtrace, so that ones alright to tinker with, the commit i built from is b5d23b0

@Sightem

Sightem commented Jul 25, 2026

Copy link
Copy Markdown
Author

that is quite strange, beats me honestly

@ItsAMariotimeGitTheHub

Copy link
Copy Markdown

Just a quick question. Does this require Linux-specific binaries? Because Mac users are definitely feeling a bit left out back here

@Sightem

Sightem commented Jul 26, 2026

Copy link
Copy Markdown
Author

@ItsAMariotimeGitTheHub this PR is tested with WineGDK inside GDK-Proton, and im unaware if macos analogues exist. Xodus itself is Rust and to my knowledge does not support macos either (it does, see the comment below). unfortunately there are too many missing/broken things on the macos side

@ChristopherHX

ChristopherHX commented Jul 26, 2026

Copy link
Copy Markdown

does not support macos either

this is wrong for xodus..., I develop it on macOS and it works as the game.(well instead of proton you need crossover)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants