Packets used during the authentication process to exchange informations.
Packets related to a player. The first field of every packet is an hub id that uniquely identifies a player in the hub and never changes until it's disconnected.
Node-related packets and updates.
Protocol used for the communication between an hub and multiple nodes with support for Minecraft and Minecraft: Pocket Edition and different versions of their protocols.
<h2>Definitions</h2>
<h3>Hub</h3> The hub (server) is the network part of the game server and handles pings, login sequences, keep alive packets, queries, external consoles and everything else that is not related to the gameplay. A server can work with only an hub (nodeless) but every player that will try to join the server will be disconnected because the server is full after the login process.
<h3>Node</h3> The node (client) is the gameplay part of the game server. It contains worlds and entities and has only one network connection, with the hub.
<h2>Connection</h2>
Hncom uses a packet-oriented TCP connection and every packet is prefixed with a little-endian unsigned 32-bits integer, without any exception.
<h3>Authentication</h3> The node starts the connection sending a ConnectionRequest packet with its credentials and waits for a ConnectionResponse packet.