From 022db5cbe3e832646579576d220657fa71e45b5c Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 17 Apr 2022 19:27:48 +0100 Subject: [PATCH] NetworkSession: compare usernames case-insensitively the current data management system uses case-insensitive names, so we can't allow different players with the same name in different cases to join, or we will have duplication exploits. This typically only applies to offline servers, since Xbox Live doesn't permit reuse of a username, same case or otherwise. closes #4965 --- src/network/mcpe/NetworkSession.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/mcpe/NetworkSession.php b/src/network/mcpe/NetworkSession.php index 73be3bee5..68e6d517e 100644 --- a/src/network/mcpe/NetworkSession.php +++ b/src/network/mcpe/NetworkSession.php @@ -635,7 +635,7 @@ class NetworkSession{ continue; } $info = $existingSession->getPlayerInfo(); - if($info !== null && ($info->getUsername() === $this->info->getUsername() || $info->getUuid()->equals($this->info->getUuid()))){ + if($info !== null && (strcasecmp($info->getUsername(), $this->info->getUsername()) === 0 || $info->getUuid()->equals($this->info->getUuid()))){ if($kickForXUIDMismatch($info instanceof XboxLivePlayerInfo ? $info->getXuid() : "")){ return; }