mirror of
https://github.com/chylex/Minecraft-Phantom-Panel.git
synced 2025-08-16 21:31:45 +02:00
.config
.run
.workdir
Agent
Common
Docker
Server
Phantom.Server
CertificateFiles.cs
Phantom.Server.csproj
Program.cs
Variables.cs
WebConfigurator.cs
Phantom.Server.Database
Phantom.Server.Database.Postgres
Phantom.Server.Minecraft
Phantom.Server.Rpc
Phantom.Server.Services
Phantom.Server.Web
Phantom.Server.Web.Bootstrap
Phantom.Server.Web.Components
Phantom.Server.Web.Identity
Utils
.dockerignore
.gitattributes
.gitignore
AddMigration.bat
AddMigration.sh
Directory.Build.props
Directory.Build.targets
Dockerfile
LICENSE
Packages.props
PhantomPanel.sln
README.md
global.json
48 lines
1.7 KiB
C#
48 lines
1.7 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Phantom.Common.Data.Agent;
|
|
using Phantom.Server.Minecraft;
|
|
using Phantom.Server.Services;
|
|
using Phantom.Server.Services.Agents;
|
|
using Phantom.Server.Services.Audit;
|
|
using Phantom.Server.Services.Events;
|
|
using Phantom.Server.Services.Instances;
|
|
using Phantom.Server.Services.Rpc;
|
|
using Phantom.Server.Services.Users;
|
|
using Phantom.Utils.Runtime;
|
|
using WebLauncher = Phantom.Server.Web.Launcher;
|
|
|
|
namespace Phantom.Server;
|
|
|
|
sealed class WebConfigurator : WebLauncher.IConfigurator {
|
|
private readonly ServiceConfiguration serviceConfiguration;
|
|
private readonly TaskManager taskManager;
|
|
private readonly AgentAuthToken agentToken;
|
|
|
|
public WebConfigurator(ServiceConfiguration serviceConfiguration, TaskManager taskManager, AgentAuthToken agentToken) {
|
|
this.serviceConfiguration = serviceConfiguration;
|
|
this.taskManager = taskManager;
|
|
this.agentToken = agentToken;
|
|
}
|
|
|
|
public void ConfigureServices(IServiceCollection services) {
|
|
services.AddSingleton(serviceConfiguration);
|
|
services.AddSingleton(taskManager);
|
|
services.AddSingleton(agentToken);
|
|
services.AddSingleton<AgentManager>();
|
|
services.AddSingleton<AgentJavaRuntimesManager>();
|
|
services.AddSingleton<EventLog>();
|
|
services.AddSingleton<InstanceManager>();
|
|
services.AddSingleton<InstanceLogManager>();
|
|
services.AddSingleton<MinecraftVersions>();
|
|
services.AddSingleton<MessageToServerListenerFactory>();
|
|
|
|
services.AddScoped<IdentityLookup>();
|
|
services.AddScoped<AuditLog>();
|
|
}
|
|
|
|
public async Task LoadFromDatabase(IServiceProvider serviceProvider) {
|
|
await serviceProvider.GetRequiredService<AgentManager>().Initialize();
|
|
await serviceProvider.GetRequiredService<InstanceManager>().Initialize();
|
|
}
|
|
}
|