Fix NPE when user disconnects from embedded Geyser server

This commit is contained in:
rtm516 2020-12-10 10:15:38 +00:00
parent f014ca4ef8
commit 9d1ecdf52c
No known key found for this signature in database
GPG key ID: 331715B8B007C67A

View file

@ -53,6 +53,14 @@ public class ProxyConnectorServerEventHandler extends ConnectorServerEventHandle
// Add another disconnect handler to remove the player on final disconnect
bedrockServerSession.addDisconnectHandler(disconnectReason -> {
// Make sure nothing is null before locating the player
if (MasterServer.getInstance() == null
|| MasterServer.getInstance().getPlayers().size() == 0
|| session.getAuthData() == null
|| session.getAuthData().getXboxUUID() == null) {
return;
}
Player player = MasterServer.getInstance().getPlayers().get(session.getAuthData().getXboxUUID());
if (player != null) {
MasterServer.getInstance().getLogger().debug("Player disconnected from Geyser proxy: " + player.getDisplayName() + " (" + disconnectReason + ")");