ViaVersion / ViaFabricPlus

Fabric mod to connect to EVERY Minecraft server version (Release, Beta, Alpha, Classic, Snapshots, Bedrock) with QoL fixes to the gameplay
GNU General Public License v3.0
394 stars 40 forks source link

Minecraft Bedrock login fails when using a Microsoft account w/out Minecraft: Java Edition license #285

Closed zcccccc1 closed 9 months ago

zcccccc1 commented 9 months ago

General Information

Advancementlnfo, Animatica, Better Mount HUD, Borderless Mining, Capes, CIT Resewn, Cloth Config v11, Continuity, Controlify, Debugify, Dynamic FPS, e4mc, Enhanced Block Entities, Entity Model Features, Entity Texture Features, Fabric API, Fabric Language Kotlin, FabricSkyBoxes, FabricSkyBoxes Interop, Fabrishot, Fadeless, FastQuit, FerriteCore, ImmediatelyFast, Indium, Iris, LambDynamicLights, Language Reload, Lithium, Main Menu Credits, Memory Leak Fix, MixinTrace, Mod Menu, Model Gap Fix, ModernFix, MoreChatHistory, No Chat Reports, No Telemetry, OptiGUl, Puzzle, Reese's Sodium Options, Remove Reloading Screen, Simple Voice Chat, Sodium, Sodium Extra, ViaFabricPlus, Xaero's Minimap, Xaero's World Map, YetAnotherConfigLib, YOSBR, Zoomify

Bug Description

When using a brand new MSA for Microsoft Bedrock login, the login fails after authorizing in the web browser and "An error has occurred! See the latest.log for more information." shows up.

[16:46:52] [ForkJoinPool.commonPool-worker-7/INFO]: Authenticating with Minecraft Services...
[16:46:53] [ForkJoinPool.commonPool-worker-7/INFO]: [STDERR]: org.apache.http.client.HttpResponseException: status code: 401, reason phrase: Unauthorized

This has nothing to do with piracy. As Bedrock and Java has two distinct licensing systems and a player can use two separate MSAs for the two editions, the license check creates issue. Either the Windows, iOS or Android version of BE doesn't include this check. Because the mod is trying to query the JE licensing servers if this MSA has a license for JE, but if I'm pirating, I won't be able to launch the game in the first place.

In addition, I am stuck at the error UI, the Esc key and the "Cancel" button on screen don't work.

Steps to Reproduce

  1. Sign up for a second Microsoft/Xbox account.
  2. Launch Minecraft with all the aforementioned mods installed.
  3. Click Multiplayer -> ViaFabricPlus -> Settings -> Bedrock - Click to set account for Bedrock edition.
  4. In the new microsoft.com/link browser tab, paste in the sign in code, then sign in with the second Microsoft account.
  5. The login fails, shows "An error has occurred! See the latest.log for more information."

Expected Behavior

The login should instead succeed, by getting the second Microsoft account's Xbox profile and gamertag, and signing in with these credentials.

RaphiMC commented 9 months ago

ViaFabricPlus does not check game ownership at all, neither bedrock nor java. The error you are getting is because the account you are trying to log in with doesn't have an XBOXlive profile (And thus no username). You have to log in at xbox.com and complete your profile and then try to add the account again