Tries to connect the player to a node. This function does not notify the old node of the change, as the old node should have called the function.
Function called when the player tries to connect to a node that doesn't exist, either because the name is wrong or because there aren't available ones.
Calls the connect function using 'first join' as reason and, if it successfully connects to a node, add the player to the server.
Function called when the player is kicked (by the hub or the node). The function should send a disconnection message and close the session.
Function called when the connection is manually closed by the client clicking the disconnect button on the game's interface.
Function called when the client is kicked from the hub (not from the node).
Function called when the client times out.
Sends an encoded packet to client that has been created and encoded by the node.
Sends the latency to the connected node.
Sends a packet from the node and mantains the order.
Sends the packet loss to the connected node.
Forwards a game packet to the node.
Function called when the player is manually transferred by the hub to a node.
Gets the player's remote address. it's usually an ipv4, ipv6 or an ipv4-mapped ipv6.
Gets the player's world, which is updated by the node every time the client changes dimension.
Gets and sets the player's display name. It can contain formatting codes and it could change during the session's lifetime (if modified by a node). It's usually displayed in the nametag and in the players list.
Gets the game type and version as a human-readable string.
Gets the client's game name.
Gets the client's game version, which could either be calculated from the protocol number or given by the client.
Gets the player's input mode.
Gets the player's lowercase username.
Gets/sets the player's language, indicated as code_COUNTRY.
Gets the player's latency. Not being calculated using an ICMP protocol the value may not be completely accurate.
Gets the player's latency. It returns a floating point value between 0 and 100 where 0 is no packet loss and 100 is every packet lost since the last check. If the client uses a stream-oriented connection the value will always be 0.
Gets the protocol number used by the client. It may be 0 if the packet with the protocol number didn't come yet.
IP used by the client to connect to the server. It's a string and can either be a numerical ip or a full url.
Port used by the client to connect to the server.
Gets the player's skin as a Skin object. If the player has no skin the object will be null.
Gets the SEL UUID, a unique identifier for the player in the session. It's composed by 17 bytes (type and UUID) and it will never change for authenticated players.
Gets the game type as an unsigned byte identifier. The types are indicated in module sel.server.client, in the Client's class.
Gets the player's username, mantaining the case given by the login packet. It doesn't change during the life of the session.
Gets the UUID. It's unique when online-mode is se to true and can be used to identify a player. When online-mode is set to false it is randomly generated and its uses are very limited.
Gets the player's world, which is updated by the node every time the client changes dimension.
Session for players.