feat: Splits Server in Core and Application (#1806)

> [!Note]
> **Developer Note**
> Now developers will only need to build/run the Application project instead of everything.
> When adding new projects, make sure to: 
> 1. Add a reference to that project in the Application project.
> 2. Add the dll file to the Distribution/Data/assemblies.json file

### Summary
- Adds an application project
- Consolidates process restarts to use `Core.Kill(true)`
- Removes some old messaging, for example processor optimization
- Fixes missing build cleanup
This commit is contained in:
Kamron Batman 2024-05-30 23:34:03 -07:00 committed by GitHub
parent e85c56ec2d
commit 60a3a6f501
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
43 changed files with 572 additions and 585 deletions

View file

@ -0,0 +1,23 @@
using System.Diagnostics;
using System.Reflection;
using System.Threading;
namespace Server;
public class Application
{
public static void Main(string[] args)
{
bool profiling = false;
foreach (var a in args)
{
if (a.InsensitiveEquals("-profile"))
{
profiling = true;
}
}
Core.Setup(profiling, Assembly.GetEntryAssembly(), Process.GetCurrentProcess());
}
}

View file

@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<ApplicationIcon>MUO.ico</ApplicationIcon>
<StartupObject>Server.Application</StartupObject>
<AssemblyName>ModernUO</AssemblyName>
<Win32Resource />
<Product>ModernUO Server</Product>
<OutDir>..\..\Distribution</OutDir>
<Version>0.0.0</Version>
<Configurations>Debug;Release;Analyze</Configurations>
<RootNamespace>Server</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Server\Server.csproj" />
<ProjectReference Include="..\UOContent\UOContent.csproj" Private="false" PrivateAssets="All" IncludeAssets="None">
<IncludeInPackage>false</IncludeInPackage>
</ProjectReference>
</ItemGroup>
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB