Don't allow duplicate UUIDs on the proxy.
This commit is contained in:
parent
668cdabdf7
commit
3776feb559
@ -325,7 +325,8 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If offline mode and they are already on, don't allow connect
|
// If offline mode and they are already on, don't allow connect
|
||||||
if ( !isOnlineMode() && bungee.getPlayer( getName() ) != null )
|
// We can just check by UUID here as names are based on UUID
|
||||||
|
if ( !isOnlineMode() && bungee.getPlayer( getUniqueId() ) != null )
|
||||||
{
|
{
|
||||||
disconnect( bungee.getTranslation( "already_connected" ) );
|
disconnect( bungee.getTranslation( "already_connected" ) );
|
||||||
return;
|
return;
|
||||||
@ -416,11 +417,19 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||||||
private void finish()
|
private void finish()
|
||||||
{
|
{
|
||||||
// Check for multiple connections
|
// Check for multiple connections
|
||||||
ProxiedPlayer old = bungee.getPlayer( getName() );
|
// We have to check for the old name first
|
||||||
if ( old != null )
|
ProxiedPlayer oldName = bungee.getPlayer( getName() );
|
||||||
|
if ( oldName != null )
|
||||||
{
|
{
|
||||||
// TODO See #1218
|
// TODO See #1218
|
||||||
old.disconnect( bungee.getTranslation( "already_connected" ) );
|
oldName.disconnect( bungee.getTranslation( "already_connected" ) );
|
||||||
|
}
|
||||||
|
// And then also for their old UUID
|
||||||
|
ProxiedPlayer oldID = bungee.getPlayer( getUniqueId() );
|
||||||
|
if ( oldID != null )
|
||||||
|
{
|
||||||
|
// TODO See #1218
|
||||||
|
oldID.disconnect( bungee.getTranslation( "already_connected" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
offlineId = java.util.UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + getName() ).getBytes( Charsets.UTF_8 ) );
|
offlineId = java.util.UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + getName() ).getBytes( Charsets.UTF_8 ) );
|
||||||
|
Loading…
Reference in New Issue
Block a user