Package net.minecraft.server.network
Class ServerLoginNetworkHandler
java.lang.Object
net.minecraft.server.network.ServerLoginNetworkHandler
- All Implemented Interfaces:
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 intermediary net/minecraft/class_3248official ajanamed net/minecraft/server/network/ServerLoginNetworkHandler
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final ClientConnectionprivate @Nullable ServerPlayerEntityThe delayed player, waiting to join the server once the existing player with the same UUID is gone.(package private) static final Loggerprivate intprivate static final AtomicIntegerprivate final byte[](package private) @Nullable com.mojang.authlib.GameProfileprivate static final Random(package private) final MinecraftServerprivate final String(package private) ServerLoginNetworkHandler.Stateprivate static final int -
Constructor Summary
ConstructorsConstructorDescriptionServerLoginNetworkHandler(MinecraftServer server, ClientConnection connection) -
Method Summary
Modifier and TypeMethodDescriptionvoidCreates the player to be added to the server and adds it to the server.private voidaddToServer(ServerPlayerEntity player) voiddisconnect(Text reason) booleanstatic booleanisValidName(String name) voidonDisconnected(Text reason) Called when the connection this listener listens to has disconnected.voidonHello(LoginHelloC2SPacket packet) voidonKey(LoginKeyC2SPacket packet) voidvoidtick()protected com.mojang.authlib.GameProfiletoOfflineProfile(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.ServerPacketListener
shouldCrashOnException
-
Field Details
-
NEXT_AUTHENTICATOR_THREAD_ID
- Mappings:
Namespace Name Mixin selector intermediary field_14157Lnet/minecraft/class_3248;field_14157:Ljava/util/concurrent/atomic/AtomicInteger;official aLaja;a: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 intermediary field_14166Lnet/minecraft/class_3248;field_14166:Lorg/slf4j/Logger;official bLaja;b: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 intermediary field_29779Lnet/minecraft/class_3248;field_29779:Iofficial cLaja;c:Inamed TIMEOUT_TICKSLnet/minecraft/server/network/ServerLoginNetworkHandler;TIMEOUT_TICKS:I
-
RANDOM
- Mappings:
Namespace Name Mixin selector intermediary field_14164Lnet/minecraft/class_3248;field_14164:Lnet/minecraft/class_5819;official dLaja;d:Lapf;named RANDOMLnet/minecraft/server/network/ServerLoginNetworkHandler;RANDOM:Lnet/minecraft/util/math/random/Random;
-
nonce
private final byte[] nonce- Mappings:
Namespace Name Mixin selector intermediary field_14167Lnet/minecraft/class_3248;field_14167:[Bofficial eLaja;e:[Bnamed nonceLnet/minecraft/server/network/ServerLoginNetworkHandler;nonce:[B
-
server
- Mappings:
Namespace Name Mixin selector intermediary field_14162Lnet/minecraft/class_3248;field_14162:Lnet/minecraft/server/MinecraftServer;official fLaja;f:Lnet/minecraft/server/MinecraftServer;named serverLnet/minecraft/server/network/ServerLoginNetworkHandler;server:Lnet/minecraft/server/MinecraftServer;
-
connection
- Mappings:
Namespace Name Mixin selector intermediary field_14158Lnet/minecraft/class_3248;field_14158:Lnet/minecraft/class_2535;official gLaja;g:Lsd;named connectionLnet/minecraft/server/network/ServerLoginNetworkHandler;connection:Lnet/minecraft/network/ClientConnection;
-
state
- Mappings:
Namespace Name Mixin selector intermediary field_14163Lnet/minecraft/class_3248;field_14163:Lnet/minecraft/class_3248$class_3249;official hLaja;h:Laja$a;named stateLnet/minecraft/server/network/ServerLoginNetworkHandler;state:Lnet/minecraft/server/network/ServerLoginNetworkHandler$State;
-
loginTicks
private int loginTicks- Mappings:
Namespace Name Mixin selector intermediary field_14156Lnet/minecraft/class_3248;field_14156:Iofficial iLaja;i:Inamed loginTicksLnet/minecraft/server/network/ServerLoginNetworkHandler;loginTicks:I
-
profile
- Mappings:
Namespace Name Mixin selector intermediary field_14160Lnet/minecraft/class_3248;field_14160:Lcom/mojang/authlib/GameProfile;official jLaja;j:Lcom/mojang/authlib/GameProfile;named profileLnet/minecraft/server/network/ServerLoginNetworkHandler;profile:Lcom/mojang/authlib/GameProfile;
-
serverId
- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_14165Lnet/minecraft/class_3248;field_14165:Ljava/lang/String;official kLaja;k:Ljava/lang/String;named serverIdLnet/minecraft/server/network/ServerLoginNetworkHandler;serverId:Ljava/lang/String;
-
delayedPlayer
The delayed player, waiting to join the server once the existing player with the same UUID is gone.This will only be non-
nullif the state is delay-accept, and is reset tonullonce the player is accepted.- Mappings:
Namespace Name Mixin selector intermediary field_14161Lnet/minecraft/class_3248;field_14161:Lnet/minecraft/class_3222;official lLaja;l:Laig;named delayedPlayerLnet/minecraft/server/network/ServerLoginNetworkHandler;delayedPlayer:Lnet/minecraft/server/network/ServerPlayerEntity;
-
-
Constructor Details
-
ServerLoginNetworkHandler
- Mappings:
Namespace Name Mixin selector intermediary <init>Lnet/minecraft/class_3248;<init>(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/class_2535;)Vofficial <init>Laja;<init>(Lnet/minecraft/server/MinecraftServer;Lsd;)Vnamed <init>Lnet/minecraft/server/network/ServerLoginNetworkHandler;<init>(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/network/ClientConnection;)V
-
-
Method Details
-
tick
public void tick()- Specified by:
tickin interfaceTickablePacketListener- Mappings:
Namespace Name Mixin selector intermediary method_18784Lnet/minecraft/class_7633;method_18784()Vofficial cLso;c()Vnamed tickLnet/minecraft/network/listener/TickablePacketListener;tick()V
-
isConnectionOpen
public boolean isConnectionOpen()- Specified by:
isConnectionOpenin interfacePacketListener- Mappings:
Namespace Name Mixin selector intermediary method_48106Lnet/minecraft/class_2547;method_48106()Zofficial aLsk;a()Znamed isConnectionOpenLnet/minecraft/network/listener/PacketListener;isConnectionOpen()Z
-
disconnect
- Mappings:
Namespace Name Mixin selector intermediary method_14380Lnet/minecraft/class_3248;method_14380(Lnet/minecraft/class_2561;)Vofficial bLaja;b(Lsw;)Vnamed disconnectLnet/minecraft/server/network/ServerLoginNetworkHandler;disconnect(Lnet/minecraft/text/Text;)V
-
acceptPlayer
public void acceptPlayer()Creates the player to be added to the server and adds it to the server.If a player with the same UUID is in the world, it will create the player and transition to the delay accept state.
- API Note:
- This method should only be called on the server thread.
- Mappings:
Namespace Name Mixin selector intermediary method_14384Lnet/minecraft/class_3248;method_14384()Vofficial dLaja;d()Vnamed acceptPlayerLnet/minecraft/server/network/ServerLoginNetworkHandler;acceptPlayer()V
-
addToServer
- Mappings:
Namespace Name Mixin selector intermediary method_33800Lnet/minecraft/class_3248;method_33800(Lnet/minecraft/class_3222;)Vofficial aLaja;a(Laig;)Vnamed addToServerLnet/minecraft/server/network/ServerLoginNetworkHandler;addToServer(Lnet/minecraft/server/network/ServerPlayerEntity;)V
-
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 intermediary method_10839Lnet/minecraft/class_2547;method_10839(Lnet/minecraft/class_2561;)Vofficial aLsk;a(Lsw;)Vnamed onDisconnectedLnet/minecraft/network/listener/PacketListener;onDisconnected(Lnet/minecraft/text/Text;)V
-
getConnectionInfo
- Mappings:
Namespace Name Mixin selector intermediary method_14383Lnet/minecraft/class_3248;method_14383()Ljava/lang/String;official eLaja;e()Ljava/lang/String;named getConnectionInfoLnet/minecraft/server/network/ServerLoginNetworkHandler;getConnectionInfo()Ljava/lang/String;
-
onHello
- Specified by:
onHelloin interfaceServerLoginPacketListener- Mappings:
Namespace Name Mixin selector intermediary method_12641Lnet/minecraft/class_2911;method_12641(Lnet/minecraft/class_2915;)Vofficial aLabk;a(Labm;)Vnamed onHelloLnet/minecraft/network/listener/ServerLoginPacketListener;onHello(Lnet/minecraft/network/packet/c2s/login/LoginHelloC2SPacket;)V
-
isValidName
- Mappings:
Namespace Name Mixin selector intermediary method_40085Lnet/minecraft/class_3248;method_40085(Ljava/lang/String;)Zofficial aLaja;a(Ljava/lang/String;)Znamed isValidNameLnet/minecraft/server/network/ServerLoginNetworkHandler;isValidName(Ljava/lang/String;)Z
-
onKey
- Specified by:
onKeyin interfaceServerLoginPacketListener- Mappings:
Namespace Name Mixin selector intermediary method_12642Lnet/minecraft/class_2911;method_12642(Lnet/minecraft/class_2917;)Vofficial aLabk;a(Labn;)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 intermediary method_12640Lnet/minecraft/class_2911;method_12640(Lnet/minecraft/class_2913;)Vofficial aLabk;a(Labl;)Vnamed onQueryResponseLnet/minecraft/network/listener/ServerLoginPacketListener;onQueryResponse(Lnet/minecraft/network/packet/c2s/login/LoginQueryResponseC2SPacket;)V
-
toOfflineProfile
protected com.mojang.authlib.GameProfile toOfflineProfile(com.mojang.authlib.GameProfile profile) - Mappings:
Namespace Name Mixin selector intermediary method_14375Lnet/minecraft/class_3248;method_14375(Lcom/mojang/authlib/GameProfile;)Lcom/mojang/authlib/GameProfile;official aLaja;a(Lcom/mojang/authlib/GameProfile;)Lcom/mojang/authlib/GameProfile;named toOfflineProfileLnet/minecraft/server/network/ServerLoginNetworkHandler;toOfflineProfile(Lcom/mojang/authlib/GameProfile;)Lcom/mojang/authlib/GameProfile;
-