using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Supercell.GUT.Logic.Message; using Supercell.GUT.Server.Debugging; using Supercell.GUT.Server.Network; using Supercell.GUT.Server.Network.Connection; using Supercell.GUT.Server.Network.Options; using Supercell.GUT.Server.Network.Tcp; using Supercell.GUT.Server.Protocol; using Supercell.GUT.Server.Protocol.Extensions; using Supercell.GUT.Titan.Logic.Debug; using Supercell.GUT.Titan.Logic.Message; namespace Supercell.GUT.Server; internal static class Program { private const string GatewayOptionsSection = "Gateway"; private static async Task Main(string[] args) { Console.Title = "Battle Buddies Server Emulator"; HostApplicationBuilder builder = Host.CreateApplicationBuilder(args); builder.Services.Configure(builder.Configuration.GetRequiredSection(GatewayOptionsSection)); builder.Services.AddHandlers(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddSingleton(); builder.Services.AddScoped(); builder.Services.AddHostedService(); await builder.Build().RunAsync(); } }