This PR seeks to add an alternative TCP transport protocol. It works under the specifications of lcdr's tcpudp shim dll. The protocol initially specified the use of UDP for unreliable packets, but this is disabled in the dll due to port issues. This feature PR will assume this disabled state is permanent; UDP for unreliable packets will not be enabled.
Current status
Optionally compiled additional TCP transport layer.
Config to enable it.
Tested and functional with 2 clients.
Removed unused RakNet replica manager and id manager. We've got our own replica manager since pre-open-source.
Utilizes async boost behavior.
Refactor structure
dServer is not an adaptor for the transport layer.
Multiple transport layers that implement a interface.
No significant change to the dServer interface.
Todo
Figure out how to do ping calculations.
Fix crashes on universe shutdown.
Test TLS on a VPS.
Remove unnecessary logging.
Test with lots of clients.
Maybe evaluate performance vs raknet.
Finish "master" to "manager" naming refactor (I'm going to be that guy, this is as good of a time as any).
TCP Transport Layer
Scope
This PR seeks to add an alternative TCP transport protocol. It works under the specifications of lcdr's tcpudp shim dll. The protocol initially specified the use of UDP for unreliable packets, but this is disabled in the dll due to port issues. This feature PR will assume this disabled state is permanent; UDP for unreliable packets will not be enabled.
Current status
Refactor structure
Todo