diff --git a/src/pocketmine/network/mcpe/NetworkSession.php b/src/pocketmine/network/mcpe/NetworkSession.php index 1ec213c83..16a87b1f3 100644 --- a/src/pocketmine/network/mcpe/NetworkSession.php +++ b/src/pocketmine/network/mcpe/NetworkSession.php @@ -533,6 +533,8 @@ class NetworkSession{ } if($authenticated and $this->info->getXuid() === ""){ $error = "Expected XUID but none found"; + }elseif(!$authenticated and $this->info->getXuid() !== ""){ + $error = "Unexpected XUID for non-XBOX-authenticated player"; } if($error !== null){ @@ -543,15 +545,9 @@ class NetworkSession{ $this->authenticated = $authenticated; - if(!$this->authenticated){ - if($authRequired){ - $this->disconnect("disconnectionScreen.notAuthenticated"); - return; - } - - if($this->info->getXuid() !== ""){ - $this->logger->warning("Found XUID, but login keychain is not signed by Mojang"); - } + if(!$this->authenticated and $authRequired){ + $this->disconnect("disconnectionScreen.notAuthenticated"); + return; } $this->logger->debug("Xbox Live authenticated: " . ($this->authenticated ? "YES" : "NO")); diff --git a/src/pocketmine/player/Player.php b/src/pocketmine/player/Player.php index be51e4a86..c4515c11c 100644 --- a/src/pocketmine/player/Player.php +++ b/src/pocketmine/player/Player.php @@ -283,7 +283,7 @@ class Player extends Human implements CommandSender, ChunkLoader, ChunkListener, $this->uuid = $this->playerInfo->getUuid(); $this->rawUUID = $this->uuid->toBinary(); - $this->xuid = $authenticated ? $this->playerInfo->getXuid() : ""; + $this->xuid = $this->playerInfo->getXuid(); $this->perm = new PermissibleBase($this); $this->chunksPerTick = (int) $this->server->getProperty("chunk-sending.per-tick", 4);