All HttpClient usages in the engine now use Happy Eyeballs, same implementation as the launcher.
Makes a IHttpClientHolder type so content can profit from this technology too. Didn't make use of this in all HttpClient usages in the engine itself, due to varying circumstances making it annoying to refactor.
* Removed the Interfaces folder.
* All objects inside the GameObjects subfolders are now in the GameObjects namespace.
* Added a Resharper DotSettings file to mark the GameObjects subfolders as not providing namespaces.
* Simplified Robust.client.Graphics namespace.
* Automated remove redundant using statements.
Microsoft isn't supporting NuGet-components ASP.NET Core ever since 3.x so using Kestrel is out.
New implementation is 100% thread pool compared to the old one which was a single specific thread.
* Some stuff for auth
* Holy crap auth works
* Enable encryption even if no auth token is provided.
It's still possible that the public key was retrieved over HTTPS via the status API, in which case it will be secure.
* Fix integration test compile.
* Secure CVar API.
* Literally rewrite the auth protocol to be minecraft's.
* Better exception tolerance in server handshake.
* Auth works from launcher.
* Fix some usages of UserID instead of UserName
* Fix auth.server CVar
* Kick existing connection if same account connects twice.
* Username assignment, guest session distinguishing.
* Necessary work to make bans work.
* Expose LoginType to OnConnecting.
* Fixing tests and warnings.