Added interactor and pathfind support to D2GS
Removed some special case code from pathfinder -- was forcing reliance on client code in what should be server-only code
D2GS clients are now indexed using a fixed-size array
Connecting clients will now use the first available slot
Disconnecting clients will now have their corresponding entity deleted
Shutting down server will now wait for client threads to end
Removed separate iteration method for broadcast packets -- I don't think this distinction is necessary
Refactored AtomicBoolean with volatile boolean
Debug logging has been significantly been improved to indicate clients / packet types / remote addresses
Disconnecting clients will now have a corresponding disconnect packet
Changing a players items will result in the change also appearing on other players' instances
Added MSI (master slave instancer) to create child D2GS processes
This is intended to act as a temp structure for testing until support for actual servers are added where an API can generate proper instances
Added support for creating game sessions with MCP
Forced debug mode for BNLS and MCP for testing purposes
Fixed type with Result#ALREADY_EXISTS constant
Extended GameSession to support builder pattern and CreateGame copy constructor
Added MCP server module which acts as the server browser
MCP only supports listing games at this time
Minor changes to LoginScreen to reflect how LobbyScreen was written differently
Added desktop with networking run config which starts up server instances and then a client
Created GameSession class which is used as a cache for mcp GameSession packets
Fixed bug with Map.find(int) returning actual GridPoint -- now returns a copy
Added workaround for set(String) in Cvar when generic type is String
Transition to entity package with refinements
Separated services into ChatServer, DedicatedServer and Sessions
Single player uses same code-base as DedicatedServer with a special loopback socket
Added SelectCharacterScreen2 copy -- will replace later on with more versatile SelectCharacterScreen impl
Some work on in-game chat
Separated Server into multiple systems (will be easier to transition to distributed servers later)
Minor entity changes -- may transition to an ECS soon