* Updated all projects to .NET 7
* Updated all Dockerfiles to use .NET 7 containers - looking forward to try chiseled images
* Updated CI/CD pipelines to use .NET 7
* Updated all nuget packages to newest versions; Npgsql is still a release candidate, though.
* Removed NpgsqlLoggingProvider
* Tested if the server still starts and works
* Activated warning CS4014 as error, so that missing awaits must be handled.
* Added some missing awaits, suprisingly there were not many. And some are (still?) not catched by CS4014.
* Fixed map editor
* Fixed data initialization
A lot of stuff is not done yet:
- we need secrets management
- some startup parameters need to be migrated to be configurable settings
- the admin panel lacks some functions:
- logging: I removed the log4net signalr stuff. Instead the idea is to use something like FlientD or just make log files available for download
- the list of (game) servers is still empty, i have a plan, though. For each configured (game) server, there could be an instance of a OpenMU.ServerClients.GameServer
- the live map is hosted on each game server; so we need to add some links. to be able to link it, we probably want to use a reverse proxy (next point)
- reverse proxy, e.g. nginx, to combine multiple web applications (admin panel, maps, setup), and to add authentication and https
- web applications should be improved; atm, some stuff is duplicated (site.css etc.)
- applying of changed configurations
- fault tolerance for the friend server
The most changes are obviously by usage of the global using and file namespace features.
Additionally, because I was in a flow, I changed all private field names to start with an underscore.
* Adapted documentation
* Upgraded to newest Entity Framework Core
* Changed all Windows Forms Tools to .NET Core, too
* Adapted Dockerfile
* Upgraded all other nuget packages (except Mapster, need to test first)
* Did a quick test if all works as expected
Basically, I converted all project files to the new format and tried to resolve some issues of stuff which is not available anymore in .net core:
* The painting of the maps in the LiveMapModule is now done via SkiaSharp instead of System.Drawing
* Replaced AspNet.SignalR by AspNetCore.SignalR. Because of the changed API I had to change the code (C# and TypeScript) a lot, too. The log4net logging appender is not done yet!
* Replaced RhinoMocks by Moq, since RhinoMocks isn't available for .net standard/core