Class ServerLoginNetworkHandler

java.lang.Object
net.minecraft.server.network.ServerLoginNetworkHandler
All Implemented Interfaces:
class_8701, PacketListener, ServerLoginPacketListener, ServerPacketListener, TickablePacketListener

public class ServerLoginNetworkHandler extends Object implements ServerLoginPacketListener, TickablePacketListener
The server login network handler.

It listens to packets on the netty event loop and is ticked on the server thread simultaneously.

Implementation Requirements:
The vanilla implementation is created by a handshake network handler. It first receives a hello packet from the client. If it is in online mode, it goes through an additional authentication process. Then it optionally sends a network compression packet. Finally, when it can accept the player (no player UUID conflicts), it will accept the player by sending a login success packet and then transitions the connection's packet listener to a ServerPlayNetworkHandler.
Mappings:
Namespace Name
official ali
intermediary net/minecraft/class_3248
named net/minecraft/server/network/ServerLoginNetworkHandler
  • Field Details

    • NEXT_AUTHENTICATOR_THREAD_ID

      private static final AtomicInteger NEXT_AUTHENTICATOR_THREAD_ID
      Mappings:
      Namespace Name Mixin selector
      official a Lali;a:Ljava/util/concurrent/atomic/AtomicInteger;
      intermediary field_14157 Lnet/minecraft/class_3248;field_14157:Ljava/util/concurrent/atomic/AtomicInteger;
      named NEXT_AUTHENTICATOR_THREAD_ID Lnet/minecraft/server/network/ServerLoginNetworkHandler;NEXT_AUTHENTICATOR_THREAD_ID:Ljava/util/concurrent/atomic/AtomicInteger;
    • LOGGER

      static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official b Lali;b:Lorg/slf4j/Logger;
      intermediary field_14166 Lnet/minecraft/class_3248;field_14166:Lorg/slf4j/Logger;
      named LOGGER Lnet/minecraft/server/network/ServerLoginNetworkHandler;LOGGER:Lorg/slf4j/Logger;
    • TIMEOUT_TICKS

      private static final int TIMEOUT_TICKS
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Lali;c:I
      intermediary field_29779 Lnet/minecraft/class_3248;field_29779:I
      named TIMEOUT_TICKS Lnet/minecraft/server/network/ServerLoginNetworkHandler;TIMEOUT_TICKS:I
    • field_45027

      private static final Text field_45027
      Mappings:
      Namespace Name Mixin selector
      official d Lali;d:Lte;
      intermediary field_45027 Lnet/minecraft/class_3248;field_45027:Lnet/minecraft/class_2561;
      named field_45027 Lnet/minecraft/server/network/ServerLoginNetworkHandler;field_45027:Lnet/minecraft/text/Text;
    • nonce

      private final byte[] nonce
      Mappings:
      Namespace Name Mixin selector
      official e Lali;e:[B
      intermediary field_14167 Lnet/minecraft/class_3248;field_14167:[B
      named nonce Lnet/minecraft/server/network/ServerLoginNetworkHandler;nonce:[B
    • server

      final MinecraftServer server
      Mappings:
      Namespace Name Mixin selector
      official f Lali;f:Lnet/minecraft/server/MinecraftServer;
      intermediary field_14162 Lnet/minecraft/class_3248;field_14162:Lnet/minecraft/server/MinecraftServer;
      named server Lnet/minecraft/server/network/ServerLoginNetworkHandler;server:Lnet/minecraft/server/MinecraftServer;
    • connection

      final ClientConnection connection
      Mappings:
      Namespace Name Mixin selector
      official g Lali;g:Lsf;
      intermediary field_14158 Lnet/minecraft/class_3248;field_14158:Lnet/minecraft/class_2535;
      named connection Lnet/minecraft/server/network/ServerLoginNetworkHandler;connection:Lnet/minecraft/network/ClientConnection;
    • state

      private volatile ServerLoginNetworkHandler.State state
      Mappings:
      Namespace Name Mixin selector
      official h Lali;h:Lali$a;
      intermediary field_14163 Lnet/minecraft/class_3248;field_14163:Lnet/minecraft/class_3248$class_3249;
      named state Lnet/minecraft/server/network/ServerLoginNetworkHandler;state:Lnet/minecraft/server/network/ServerLoginNetworkHandler$State;
    • loginTicks

      private int loginTicks
      Mappings:
      Namespace Name Mixin selector
      official i Lali;i:I
      intermediary field_14156 Lnet/minecraft/class_3248;field_14156:I
      named loginTicks Lnet/minecraft/server/network/ServerLoginNetworkHandler;loginTicks:I
    • field_45028

      Mappings:
      Namespace Name Mixin selector
      official j Lali;j:Ljava/lang/String;
      intermediary field_45028 Lnet/minecraft/class_3248;field_45028:Ljava/lang/String;
      named field_45028 Lnet/minecraft/server/network/ServerLoginNetworkHandler;field_45028:Ljava/lang/String;
    • field_45029

      @Nullable private @Nullable com.mojang.authlib.GameProfile field_45029
      Mappings:
      Namespace Name Mixin selector
      official k Lali;k:Lcom/mojang/authlib/GameProfile;
      intermediary field_45029 Lnet/minecraft/class_3248;field_45029:Lcom/mojang/authlib/GameProfile;
      named field_45029 Lnet/minecraft/server/network/ServerLoginNetworkHandler;field_45029:Lcom/mojang/authlib/GameProfile;
    • serverId

      private final String serverId
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official l Lali;l:Ljava/lang/String;
      intermediary field_14165 Lnet/minecraft/class_3248;field_14165:Ljava/lang/String;
      named serverId Lnet/minecraft/server/network/ServerLoginNetworkHandler;serverId:Ljava/lang/String;
  • Constructor Details

    • ServerLoginNetworkHandler

      public ServerLoginNetworkHandler(MinecraftServer server, ClientConnection connection)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lali;<init>(Lnet/minecraft/server/MinecraftServer;Lsf;)V
      intermediary <init> Lnet/minecraft/class_3248;<init>(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/class_2535;)V
      named <init> Lnet/minecraft/server/network/ServerLoginNetworkHandler;<init>(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/network/ClientConnection;)V
  • Method Details

    • tick

      public void tick()
      Specified by:
      tick in interface TickablePacketListener
      Mappings:
      Namespace Name Mixin selector
      official e Lst;e()V
      intermediary method_18784 Lnet/minecraft/class_7633;method_18784()V
      named tick Lnet/minecraft/network/listener/TickablePacketListener;tick()V
    • isConnectionOpen

      public boolean isConnectionOpen()
      Specified by:
      isConnectionOpen in interface PacketListener
      Mappings:
      Namespace Name Mixin selector
      official c Lsn;c()Z
      intermediary method_48106 Lnet/minecraft/class_2547;method_48106()Z
      named isConnectionOpen Lnet/minecraft/network/listener/PacketListener;isConnectionOpen()Z
    • disconnect

      public void disconnect(Text reason)
      Mappings:
      Namespace Name Mixin selector
      official b Lali;b(Lte;)V
      intermediary method_14380 Lnet/minecraft/class_3248;method_14380(Lnet/minecraft/class_2561;)V
      named disconnect Lnet/minecraft/server/network/ServerLoginNetworkHandler;disconnect(Lnet/minecraft/text/Text;)V
    • method_52416

      private boolean method_52416(com.mojang.authlib.GameProfile gameProfile)
      Mappings:
      Namespace Name Mixin selector
      official a Lali;a(Lcom/mojang/authlib/GameProfile;)Z
      intermediary method_52416 Lnet/minecraft/class_3248;method_52416(Lcom/mojang/authlib/GameProfile;)Z
      named method_52416 Lnet/minecraft/server/network/ServerLoginNetworkHandler;method_52416(Lcom/mojang/authlib/GameProfile;)Z
    • onDisconnected

      public void onDisconnected(Text reason)
      Called when the connection this listener listens to has disconnected. Can be used to display the disconnection reason.
      Specified by:
      onDisconnected in interface PacketListener
      Parameters:
      reason - the reason of disconnection; may be a generic message
      Mappings:
      Namespace Name Mixin selector
      official a Lsn;a(Lte;)V
      intermediary method_10839 Lnet/minecraft/class_2547;method_10839(Lnet/minecraft/class_2561;)V
      named onDisconnected Lnet/minecraft/network/listener/PacketListener;onDisconnected(Lnet/minecraft/text/Text;)V
    • getConnectionInfo

      public String getConnectionInfo()
      Mappings:
      Namespace Name Mixin selector
      official f Lali;f()Ljava/lang/String;
      intermediary method_14383 Lnet/minecraft/class_3248;method_14383()Ljava/lang/String;
      named getConnectionInfo Lnet/minecraft/server/network/ServerLoginNetworkHandler;getConnectionInfo()Ljava/lang/String;
    • onHello

      public void onHello(LoginHelloC2SPacket packet)
      Specified by:
      onHello in interface ServerLoginPacketListener
      Mappings:
      Namespace Name Mixin selector
      official a Ladd;a(Ladf;)V
      intermediary method_12641 Lnet/minecraft/class_2911;method_12641(Lnet/minecraft/class_2915;)V
      named onHello Lnet/minecraft/network/listener/ServerLoginPacketListener;onHello(Lnet/minecraft/network/packet/c2s/login/LoginHelloC2SPacket;)V
    • method_52417

      void method_52417(com.mojang.authlib.GameProfile gameProfile)
      Mappings:
      Namespace Name Mixin selector
      official b Lali;b(Lcom/mojang/authlib/GameProfile;)V
      intermediary method_52417 Lnet/minecraft/class_3248;method_52417(Lcom/mojang/authlib/GameProfile;)V
      named method_52417 Lnet/minecraft/server/network/ServerLoginNetworkHandler;method_52417(Lcom/mojang/authlib/GameProfile;)V
    • method_52419

      private void method_52419(com.mojang.authlib.GameProfile gameProfile)
      Mappings:
      Namespace Name Mixin selector
      official c Lali;c(Lcom/mojang/authlib/GameProfile;)V
      intermediary method_52419 Lnet/minecraft/class_3248;method_52419(Lcom/mojang/authlib/GameProfile;)V
      named method_52419 Lnet/minecraft/server/network/ServerLoginNetworkHandler;method_52419(Lcom/mojang/authlib/GameProfile;)V
    • method_52420

      private void method_52420(com.mojang.authlib.GameProfile gameProfile)
      Mappings:
      Namespace Name Mixin selector
      official d Lali;d(Lcom/mojang/authlib/GameProfile;)V
      intermediary method_52420 Lnet/minecraft/class_3248;method_52420(Lcom/mojang/authlib/GameProfile;)V
      named method_52420 Lnet/minecraft/server/network/ServerLoginNetworkHandler;method_52420(Lcom/mojang/authlib/GameProfile;)V
    • isValidName

      public static boolean isValidName(String name)
      Mappings:
      Namespace Name Mixin selector
      official a Lali;a(Ljava/lang/String;)Z
      intermediary method_40085 Lnet/minecraft/class_3248;method_40085(Ljava/lang/String;)Z
      named isValidName Lnet/minecraft/server/network/ServerLoginNetworkHandler;isValidName(Ljava/lang/String;)Z
    • onKey

      public void onKey(LoginKeyC2SPacket packet)
      Specified by:
      onKey in interface ServerLoginPacketListener
      Mappings:
      Namespace Name Mixin selector
      official a Ladd;a(Ladg;)V
      intermediary method_12642 Lnet/minecraft/class_2911;method_12642(Lnet/minecraft/class_2917;)V
      named onKey Lnet/minecraft/network/listener/ServerLoginPacketListener;onKey(Lnet/minecraft/network/packet/c2s/login/LoginKeyC2SPacket;)V
    • onQueryResponse

      public void onQueryResponse(LoginQueryResponseC2SPacket packet)
      Specified by:
      onQueryResponse in interface ServerLoginPacketListener
      Mappings:
      Namespace Name Mixin selector
      official a Ladd;a(Lade;)V
      intermediary method_12640 Lnet/minecraft/class_2911;method_12640(Lnet/minecraft/class_2913;)V
      named onQueryResponse Lnet/minecraft/network/listener/ServerLoginPacketListener;onQueryResponse(Lnet/minecraft/network/packet/c2s/login/LoginQueryResponseC2SPacket;)V
    • method_52289

      public void method_52289(class_8593 class_8593)
      Specified by:
      method_52289 in interface ServerLoginPacketListener
      Mappings:
      Namespace Name Mixin selector
      official a Ladd;a(Ladh;)V
      intermediary method_52289 Lnet/minecraft/class_2911;method_52289(Lnet/minecraft/class_8593;)V
      named method_52289 Lnet/minecraft/network/listener/ServerLoginPacketListener;method_52289(Lnet/minecraft/class_8593;)V
    • method_52418

      protected static com.mojang.authlib.GameProfile method_52418(String string)
      Mappings:
      Namespace Name Mixin selector
      official b Lali;b(Ljava/lang/String;)Lcom/mojang/authlib/GameProfile;
      intermediary method_52418 Lnet/minecraft/class_3248;method_52418(Ljava/lang/String;)Lcom/mojang/authlib/GameProfile;
      named method_52418 Lnet/minecraft/server/network/ServerLoginNetworkHandler;method_52418(Ljava/lang/String;)Lcom/mojang/authlib/GameProfile;