public abstract class ConnectionHandler<CONNECTION>
This class is a singleton that handles one specific connection type.
Booleans are packed, all other data types are byte aligned.
Strings have a short prefixed to them representing the length of the string.
For outgoing packets the first byte is a purpose code, 0 is game data, 1 is disconnect, 2 is timedOut, -1 is server error.