diff --git a/Libraries/SPTarkov.Server.Core/Callbacks/HttpCallbacks.cs b/Libraries/SPTarkov.Server.Core/Callbacks/HttpCallbacks.cs index ec0d5361..f03df458 100644 --- a/Libraries/SPTarkov.Server.Core/Callbacks/HttpCallbacks.cs +++ b/Libraries/SPTarkov.Server.Core/Callbacks/HttpCallbacks.cs @@ -4,14 +4,12 @@ using SPTarkov.Server.Core.DI; using SPTarkov.Server.Core.Servers; namespace SPTarkov.Server.Core.Callbacks; - [Injectable(InjectionType.Singleton, TypePriority = OnLoadOrder.HttpCallbacks)] -public class HttpCallbacks(HttpServer _httpServer, ApplicationContext _applicationContext) : IOnLoad +public class HttpCallbacks(HttpServer _httpServer) : IOnLoad { public Task OnLoad() { - _httpServer.Load(_applicationContext.GetLatestValue(ContextVariableType.APP_BUILDER)?.GetValue()); - _applicationContext.ClearValues(ContextVariableType.APP_BUILDER); + _httpServer.Load(); return Task.CompletedTask; } diff --git a/Libraries/SPTarkov.Server.Core/Context/ContextVariableType.cs b/Libraries/SPTarkov.Server.Core/Context/ContextVariableType.cs index 69dcda07..919fdccc 100644 --- a/Libraries/SPTarkov.Server.Core/Context/ContextVariableType.cs +++ b/Libraries/SPTarkov.Server.Core/Context/ContextVariableType.cs @@ -17,8 +17,5 @@ public enum ContextVariableType // Data returned from client request object from endLocalRaid() TRANSIT_INFO = 5, - APP_BUILDER = 6, - LOADED_MOD_ASSEMBLIES = 7, - WEB_APPLICATION = 8, SERVICE_PROVIDER = 9 } diff --git a/Libraries/SPTarkov.Server.Core/Controllers/GameController.cs b/Libraries/SPTarkov.Server.Core/Controllers/GameController.cs index 59cbe466..353928e1 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/GameController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/GameController.cs @@ -22,6 +22,7 @@ namespace SPTarkov.Server.Core.Controllers; [Injectable] public class GameController( ISptLogger _logger, + IReadOnlyList _loadedMods, ConfigServer _configServer, DatabaseService _databaseService, TimeUtil _timeUtil, @@ -472,13 +473,8 @@ public class GameController( protected void SaveActiveModsToProfile(SptProfile fullProfile) { fullProfile.SptData!.Mods ??= []; - var mods = _applicationContext?.GetLatestValue(ContextVariableType.LOADED_MOD_ASSEMBLIES)?.GetValue>(); - if (mods == null) - { - return; - } - foreach (var mod in mods) + foreach (var mod in _loadedMods) { if ( fullProfile.SptData.Mods.Any(m => diff --git a/Libraries/SPTarkov.Server.Core/Controllers/LauncherController.cs b/Libraries/SPTarkov.Server.Core/Controllers/LauncherController.cs index d4ddef63..ab0624fb 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/LauncherController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/LauncherController.cs @@ -18,6 +18,7 @@ namespace SPTarkov.Server.Core.Controllers; [Injectable] public class LauncherController( ISptLogger _logger, + IReadOnlyList _loadedMods, HashUtil _hashUtil, TimeUtil _timeUtil, RandomUtil _randomUtil, @@ -242,13 +243,7 @@ public class LauncherController( /// Dictionary of mod name and mod details public Dictionary GetLoadedServerMods() { - var mods = _applicationContext?.GetLatestValue(ContextVariableType.LOADED_MOD_ASSEMBLIES)?.GetValue>(); - if (mods == null) - { - return []; - } - - return mods.ToDictionary(sptMod => sptMod.ModMetadata?.Name ?? "UNKNOWN MOD", sptMod => sptMod.ModMetadata); + return _loadedMods.ToDictionary(sptMod => sptMod.ModMetadata?.Name ?? "UNKNOWN MOD", sptMod => sptMod.ModMetadata); } /// diff --git a/Libraries/SPTarkov.Server.Core/Controllers/LauncherV2Controller.cs b/Libraries/SPTarkov.Server.Core/Controllers/LauncherV2Controller.cs index ac941818..4e056f00 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/LauncherV2Controller.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/LauncherV2Controller.cs @@ -17,6 +17,7 @@ namespace SPTarkov.Server.Core.Controllers; [Injectable] public class LauncherV2Controller( ISptLogger _logger, + IReadOnlyList _loadedMods, HashUtil _hashUtil, TimeUtil _timeUtil, RandomUtil _randomUtil, @@ -158,10 +159,9 @@ public class LauncherV2Controller( /// public Dictionary LoadedMods() { - var mods = _applicationContext?.GetLatestValue(ContextVariableType.LOADED_MOD_ASSEMBLIES).GetValue>(); var result = new Dictionary(); - foreach (var sptMod in mods) + foreach (var sptMod in _loadedMods) { result.Add(sptMod.ModMetadata.Name, sptMod.ModMetadata); } diff --git a/Libraries/SPTarkov.Server.Core/Services/BackupService.cs b/Libraries/SPTarkov.Server.Core/Services/BackupService.cs index 0dc2d649..a60e440d 100644 --- a/Libraries/SPTarkov.Server.Core/Services/BackupService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/BackupService.cs @@ -24,9 +24,11 @@ public class BackupService protected JsonUtil _jsonUtil; protected ISptLogger _logger; protected TimeUtil _timeUtil; + protected IReadOnlyList _loadedMods; public BackupService( ISptLogger logger, + IReadOnlyList loadedMods, JsonUtil jsonUtil, TimeUtil timeUtil, ConfigServer configServer, @@ -39,6 +41,7 @@ public class BackupService _timeUtil = timeUtil; _fileUtil = fileUtil; _applicationContext = applicationContext; + _loadedMods = loadedMods; _activeServerMods = GetActiveServerMods(); _backupConfig = configServer.GetConfig(); @@ -306,15 +309,9 @@ public class BackupService /// A List of mod names. protected List GetActiveServerMods() { - var mods = _applicationContext?.GetLatestValue(ContextVariableType.LOADED_MOD_ASSEMBLIES)?.GetValue>(); - if (mods == null) - { - return []; - } - List result = []; - foreach (var mod in mods) + foreach (var mod in _loadedMods) { result.Add($"{mod.ModMetadata.Author} - {mod.ModMetadata.Version ?? ""}"); } diff --git a/SPTarkov.Server/Program.cs b/SPTarkov.Server/Program.cs index 923c7b30..5c7455db 100644 --- a/SPTarkov.Server/Program.cs +++ b/SPTarkov.Server/Program.cs @@ -42,6 +42,8 @@ public static class Program } diHandler.InjectAll(); + builder.Services.AddSingleton(builder); + builder.Services.AddSingleton>(loadedMods); var serviceProvider = builder.Services.BuildServiceProvider(); var logger = serviceProvider.GetService().CreateLogger("Server"); @@ -66,12 +68,6 @@ public static class Program } } - // Add the Loaded Mod Assemblies for later - appContext?.AddValue(ContextVariableType.LOADED_MOD_ASSEMBLIES, loadedMods); - - // This is the builder that will get use by the HttpServer to start up the web application - appContext?.AddValue(ContextVariableType.APP_BUILDER, builder); - // Get the Built app and run it var app = serviceProvider.GetService(); app?.Run().Wait();