Package net.minecraft.server.network
Class ServerLoginNetworkHandler
java.lang.Object
net.minecraft.server.network.ServerLoginNetworkHandler
- All Implemented Interfaces:
PacketListener,ServerCookieResponsePacketListener,ServerCrashSafePacketListener,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 arjintermediary net/minecraft/class_3248named net/minecraft/server/network/ServerLoginNetworkHandler
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final ClientConnection(package private) static final Loggerprivate intprivate static final AtomicIntegerprivate final byte[]private @Nullable com.mojang.authlib.GameProfile(package private) final MinecraftServerprivate final Stringprivate ServerLoginNetworkHandler.Stateprivate static final intprivate final boolean -
Constructor Summary
ConstructorsConstructorDescriptionServerLoginNetworkHandler(MinecraftServer server, ClientConnection connection, boolean transferred) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoiddisconnect(Text reason) private booleanhasPlayerWithId(com.mojang.authlib.GameProfile profile) booleanvoidvoidonDisconnected(Text reason) Called when the connection this listener listens to has disconnected.voidvoidonHello(LoginHelloC2SPacket packet) voidonKey(LoginKeyC2SPacket packet) voidprivate voidsendSuccessPacket(com.mojang.authlib.GameProfile profile) (package private) voidstartVerify(com.mojang.authlib.GameProfile profile) voidtick()Ticks this packet listener on the game engine thread.private voidtickVerify(com.mojang.authlib.GameProfile profile) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.network.listener.PacketListener
accepts, fillCrashReportMethods inherited from interface net.minecraft.network.listener.ServerCrashSafePacketListener
shouldCrashOnExceptionMethods inherited from interface net.minecraft.network.listener.ServerLoginPacketListener
getPhaseMethods inherited from interface net.minecraft.network.listener.ServerPacketListener
getSide
-
Field Details
-
NEXT_AUTHENTICATOR_THREAD_ID
- Mappings:
Namespace Name Mixin selector official aLarj;a:Ljava/util/concurrent/atomic/AtomicInteger;intermediary field_14157Lnet/minecraft/class_3248;field_14157:Ljava/util/concurrent/atomic/AtomicInteger;named NEXT_AUTHENTICATOR_THREAD_IDLnet/minecraft/server/network/ServerLoginNetworkHandler;NEXT_AUTHENTICATOR_THREAD_ID:Ljava/util/concurrent/atomic/AtomicInteger;
-
LOGGER
- Mappings:
Namespace Name Mixin selector official bLarj;b:Lorg/slf4j/Logger;intermediary field_14166Lnet/minecraft/class_3248;field_14166:Lorg/slf4j/Logger;named LOGGERLnet/minecraft/server/network/ServerLoginNetworkHandler;LOGGER:Lorg/slf4j/Logger;
-
TIMEOUT_TICKS
private static final int TIMEOUT_TICKS- See Also:
- Mappings:
Namespace Name Mixin selector official cLarj;c:Iintermediary field_29779Lnet/minecraft/class_3248;field_29779:Inamed TIMEOUT_TICKSLnet/minecraft/server/network/ServerLoginNetworkHandler;TIMEOUT_TICKS:I
-
nonce
private final byte[] nonce- Mappings:
Namespace Name Mixin selector official dLarj;d:[Bintermediary field_14167Lnet/minecraft/class_3248;field_14167:[Bnamed nonceLnet/minecraft/server/network/ServerLoginNetworkHandler;nonce:[B
-
server
- Mappings:
Namespace Name Mixin selector official eLarj;e:Lnet/minecraft/server/MinecraftServer;intermediary field_14162Lnet/minecraft/class_3248;field_14162:Lnet/minecraft/server/MinecraftServer;named serverLnet/minecraft/server/network/ServerLoginNetworkHandler;server:Lnet/minecraft/server/MinecraftServer;
-
connection
- Mappings:
Namespace Name Mixin selector official fLarj;f:Lvs;intermediary field_14158Lnet/minecraft/class_3248;field_14158:Lnet/minecraft/class_2535;named connectionLnet/minecraft/server/network/ServerLoginNetworkHandler;connection:Lnet/minecraft/network/ClientConnection;
-
state
- Mappings:
Namespace Name Mixin selector official gLarj;g:Larj$a;intermediary field_14163Lnet/minecraft/class_3248;field_14163:Lnet/minecraft/class_3248$class_3249;named stateLnet/minecraft/server/network/ServerLoginNetworkHandler;state:Lnet/minecraft/server/network/ServerLoginNetworkHandler$State;
-
loginTicks
private int loginTicks- Mappings:
Namespace Name Mixin selector official hLarj;h:Iintermediary field_14156Lnet/minecraft/class_3248;field_14156:Inamed loginTicksLnet/minecraft/server/network/ServerLoginNetworkHandler;loginTicks:I
-
profileName
- Mappings:
Namespace Name Mixin selector official iLarj;i:Ljava/lang/String;intermediary field_45028Lnet/minecraft/class_3248;field_45028:Ljava/lang/String;named profileNameLnet/minecraft/server/network/ServerLoginNetworkHandler;profileName:Ljava/lang/String;
-
profile
- Mappings:
Namespace Name Mixin selector official jLarj;j:Lcom/mojang/authlib/GameProfile;intermediary field_45029Lnet/minecraft/class_3248;field_45029:Lcom/mojang/authlib/GameProfile;named profileLnet/minecraft/server/network/ServerLoginNetworkHandler;profile:Lcom/mojang/authlib/GameProfile;
-
serverId
- See Also:
- Mappings:
Namespace Name Mixin selector official kLarj;k:Ljava/lang/String;intermediary field_14165Lnet/minecraft/class_3248;field_14165:Ljava/lang/String;named serverIdLnet/minecraft/server/network/ServerLoginNetworkHandler;serverId:Ljava/lang/String;
-
transferred
private final boolean transferred- Mappings:
Namespace Name Mixin selector official lLarj;l:Zintermediary field_48275Lnet/minecraft/class_3248;field_48275:Znamed transferredLnet/minecraft/server/network/ServerLoginNetworkHandler;transferred:Z
-
-
Constructor Details
-
ServerLoginNetworkHandler
public ServerLoginNetworkHandler(MinecraftServer server, ClientConnection connection, boolean transferred) - Mappings:
Namespace Name Mixin selector official <init>Larj;<init>(Lnet/minecraft/server/MinecraftServer;Lvs;Z)Vintermediary <init>Lnet/minecraft/class_3248;<init>(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/class_2535;Z)Vnamed <init>Lnet/minecraft/server/network/ServerLoginNetworkHandler;<init>(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/network/ClientConnection;Z)V
-
-
Method Details
-
tick
public void tick()Ticks this packet listener on the game engine thread. The listener is responsible for synchronizing between the game engine and netty event loop threads.- Specified by:
tickin interfaceTickablePacketListener- Mappings:
Namespace Name Mixin selector official eLwi;e()Vintermediary method_18784Lnet/minecraft/class_7633;method_18784()Vnamed tickLnet/minecraft/network/listener/TickablePacketListener;tick()V
-
isConnectionOpen
public boolean isConnectionOpen()- Specified by:
isConnectionOpenin interfacePacketListener- Mappings:
Namespace Name Mixin selector official cLwa;c()Zintermediary method_48106Lnet/minecraft/class_2547;method_48106()Znamed isConnectionOpenLnet/minecraft/network/listener/PacketListener;isConnectionOpen()Z
-
disconnect
- Mappings:
Namespace Name Mixin selector official bLarj;b(Lwu;)Vintermediary method_14380Lnet/minecraft/class_3248;method_14380(Lnet/minecraft/class_2561;)Vnamed disconnectLnet/minecraft/server/network/ServerLoginNetworkHandler;disconnect(Lnet/minecraft/text/Text;)V
-
hasPlayerWithId
private boolean hasPlayerWithId(com.mojang.authlib.GameProfile profile) - Mappings:
Namespace Name Mixin selector official aLarj;a(Lcom/mojang/authlib/GameProfile;)Zintermediary method_52416Lnet/minecraft/class_3248;method_52416(Lcom/mojang/authlib/GameProfile;)Znamed hasPlayerWithIdLnet/minecraft/server/network/ServerLoginNetworkHandler;hasPlayerWithId(Lcom/mojang/authlib/GameProfile;)Z
-
onDisconnected
Called when the connection this listener listens to has disconnected. Can be used to display the disconnection reason.- Specified by:
onDisconnectedin interfacePacketListener- Parameters:
reason- the reason of disconnection; may be a generic message- Mappings:
Namespace Name Mixin selector official aLwa;a(Lwu;)Vintermediary method_10839Lnet/minecraft/class_2547;method_10839(Lnet/minecraft/class_2561;)Vnamed onDisconnectedLnet/minecraft/network/listener/PacketListener;onDisconnected(Lnet/minecraft/text/Text;)V
-
getConnectionInfo
- Mappings:
Namespace Name Mixin selector official fLarj;f()Ljava/lang/String;intermediary method_14383Lnet/minecraft/class_3248;method_14383()Ljava/lang/String;named getConnectionInfoLnet/minecraft/server/network/ServerLoginNetworkHandler;getConnectionInfo()Ljava/lang/String;
-
onHello
- Specified by:
onHelloin interfaceServerLoginPacketListener- Mappings:
Namespace Name Mixin selector official aLaim;a(Laio;)Vintermediary method_12641Lnet/minecraft/class_2911;method_12641(Lnet/minecraft/class_2915;)Vnamed onHelloLnet/minecraft/network/listener/ServerLoginPacketListener;onHello(Lnet/minecraft/network/packet/c2s/login/LoginHelloC2SPacket;)V
-
startVerify
void startVerify(com.mojang.authlib.GameProfile profile) - Mappings:
Namespace Name Mixin selector official bLarj;b(Lcom/mojang/authlib/GameProfile;)Vintermediary method_52417Lnet/minecraft/class_3248;method_52417(Lcom/mojang/authlib/GameProfile;)Vnamed startVerifyLnet/minecraft/server/network/ServerLoginNetworkHandler;startVerify(Lcom/mojang/authlib/GameProfile;)V
-
tickVerify
private void tickVerify(com.mojang.authlib.GameProfile profile) - Mappings:
Namespace Name Mixin selector official cLarj;c(Lcom/mojang/authlib/GameProfile;)Vintermediary method_52419Lnet/minecraft/class_3248;method_52419(Lcom/mojang/authlib/GameProfile;)Vnamed tickVerifyLnet/minecraft/server/network/ServerLoginNetworkHandler;tickVerify(Lcom/mojang/authlib/GameProfile;)V
-
sendSuccessPacket
private void sendSuccessPacket(com.mojang.authlib.GameProfile profile) - Mappings:
Namespace Name Mixin selector official dLarj;d(Lcom/mojang/authlib/GameProfile;)Vintermediary method_52420Lnet/minecraft/class_3248;method_52420(Lcom/mojang/authlib/GameProfile;)Vnamed sendSuccessPacketLnet/minecraft/server/network/ServerLoginNetworkHandler;sendSuccessPacket(Lcom/mojang/authlib/GameProfile;)V
-
onKey
- Specified by:
onKeyin interfaceServerLoginPacketListener- Mappings:
Namespace Name Mixin selector official aLaim;a(Laip;)Vintermediary method_12642Lnet/minecraft/class_2911;method_12642(Lnet/minecraft/class_2917;)Vnamed onKeyLnet/minecraft/network/listener/ServerLoginPacketListener;onKey(Lnet/minecraft/network/packet/c2s/login/LoginKeyC2SPacket;)V
-
onQueryResponse
- Specified by:
onQueryResponsein interfaceServerLoginPacketListener- Mappings:
Namespace Name Mixin selector official aLaim;a(Lain;)Vintermediary method_12640Lnet/minecraft/class_2911;method_12640(Lnet/minecraft/class_2913;)Vnamed onQueryResponseLnet/minecraft/network/listener/ServerLoginPacketListener;onQueryResponse(Lnet/minecraft/network/packet/c2s/login/LoginQueryResponseC2SPacket;)V
-
onEnterConfiguration
- Specified by:
onEnterConfigurationin interfaceServerLoginPacketListener- Mappings:
Namespace Name Mixin selector official aLaim;a(Laiq;)Vintermediary method_52289Lnet/minecraft/class_2911;method_52289(Lnet/minecraft/class_8593;)Vnamed onEnterConfigurationLnet/minecraft/network/listener/ServerLoginPacketListener;onEnterConfiguration(Lnet/minecraft/network/packet/c2s/login/EnterConfigurationC2SPacket;)V
-
addCustomCrashReportInfo
- Specified by:
addCustomCrashReportInfoin interfacePacketListener- Mappings:
Namespace Name Mixin selector official aLwa;a(Lp;)Vintermediary method_55597Lnet/minecraft/class_2547;method_55597(Lnet/minecraft/class_129;)Vnamed addCustomCrashReportInfoLnet/minecraft/network/listener/PacketListener;addCustomCrashReportInfo(Lnet/minecraft/util/crash/CrashReportSection;)V
-
onCookieResponse
- Specified by:
onCookieResponsein interfaceServerCookieResponsePacketListener- Mappings:
Namespace Name Mixin selector official aLabj;a(Labk;)Vintermediary method_55851Lnet/minecraft/class_9090;method_55851(Lnet/minecraft/class_9091;)Vnamed onCookieResponseLnet/minecraft/network/listener/ServerCookieResponsePacketListener;onCookieResponse(Lnet/minecraft/network/packet/c2s/common/CookieResponseC2SPacket;)V
-