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