2024-01-27 13:06:07 +00:00
|
|
|
|
namespace FreeSR.Admin
|
|
|
|
|
{
|
|
|
|
|
using FreeSR.Admin.Command.Handlers;
|
|
|
|
|
using FreeSR.Admin.Service;
|
|
|
|
|
using FreeSR.Shared.Command;
|
|
|
|
|
using FreeSR.Shared.Configuration;
|
|
|
|
|
using FreeSR.Shared.Exceptions;
|
|
|
|
|
using NLog;
|
|
|
|
|
|
|
|
|
|
internal static class AdminServer
|
|
|
|
|
{
|
|
|
|
|
private static readonly Logger s_log = LogManager.GetCurrentClassLogger();
|
|
|
|
|
|
|
|
|
|
private static void Main(string[] args)
|
|
|
|
|
{
|
|
|
|
|
Directory.SetCurrentDirectory(AppContext.BaseDirectory);
|
|
|
|
|
AppDomain.CurrentDomain.UnhandledException += OnFatalException;
|
|
|
|
|
|
2024-01-27 13:08:24 +00:00
|
|
|
|
Console.WriteLine("FreeSR is a free and open-source software, if you paid for this, you have been scammed!");
|
|
|
|
|
Console.WriteLine("FreeSR是一个免费且开源的软件,如果你是花钱买来的,则说明你被骗了!");
|
|
|
|
|
Console.WriteLine("https://git.xeondev.com/Moux23333/FreeSR");
|
2024-01-27 13:06:07 +00:00
|
|
|
|
s_log.Info("Initializing...");
|
|
|
|
|
|
|
|
|
|
CommandManager.Instance.Initialize(typeof(AccountCommandCategory));
|
|
|
|
|
ConfigurationManager<AdminServerConfiguration>.Instance.Initialize("AdminServer.json");
|
|
|
|
|
var serverConfiguration = ConfigurationManager<AdminServerConfiguration>.Instance.Model;
|
|
|
|
|
|
|
|
|
|
HttpAdminService.Initialize(serverConfiguration.Network);
|
|
|
|
|
|
|
|
|
|
s_log.Info("Server is ready!");
|
|
|
|
|
Thread.Sleep(-1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static void OnFatalException(object sender, UnhandledExceptionEventArgs args)
|
|
|
|
|
{
|
|
|
|
|
if (args.ExceptionObject is ServerInitializationException initException)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("Server initialization failed, unhandled exception!");
|
|
|
|
|
Console.WriteLine(initException);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("Unhandled exception in runtime!");
|
|
|
|
|
Console.WriteLine(args.ExceptionObject);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Console.WriteLine("Press enter to close this window...");
|
|
|
|
|
Console.ReadLine();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|