Exemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AdminPanel" /> class.
        /// </summary>
        /// <param name="port">The port.</param>
        /// <param name="servers">All manageable servers, including game servers, connect servers etc.</param>
        /// <param name="persistenceContextProvider">The persistence context provider.</param>
        /// <param name="changeListener">The change listener.</param>
        /// <param name="loggingConfigurationPath">The logging configuration file path.</param>
        public AdminPanel(ushort port, IList <IManageableServer> servers, IPersistenceContextProvider persistenceContextProvider, IServerConfigurationChangeListener changeListener, string loggingConfigurationPath)
        {
            // you might need to allow it first with netsh:
            // netsh http add urlacl http://+:1234/ user=[Username]
            var host = WebHost.CreateDefaultBuilder()
                       .ConfigureLogging(configureLogging =>
            {
                configureLogging.ClearProviders();
                var settings = new Log4NetSettings {
                    ConfigFile = loggingConfigurationPath, Watch = true
                };

                configureLogging.AddLog4Net(settings);
            })
                       .ConfigureServices(serviceCollection =>
            {
                serviceCollection.AddSingleton(servers);
                serviceCollection.AddSingleton(persistenceContextProvider);
                serviceCollection.AddSingleton(changeListener);
            })
                       .UseKestrel(options =>
            {
                // Default port
                options.ListenAnyIP(port);
            })
                       .UseStartup <Startup>()
                       .Build();

            host.Start();
            SignalRGameServerStateObserver.Services = host.Services;
            SignalRMapStateObserver.Services        = host.Services;
        }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AdminPanel" /> class.
 /// </summary>
 /// <param name="servers">All manageable servers, including game servers, connect servers etc.</param>
 /// <param name="persistenceContextProvider">The persistence context provider.</param>
 /// <param name="changeListener">The change listener.</param>
 /// <param name="loggerFactory">The logger factory.</param>
 /// <param name="settings">The admin panel settings.</param>
 /// <param name="plugInChangeListener">The plug in change listener.</param>
 public AdminPanel(IList <IManageableServer> servers, IPersistenceContextProvider persistenceContextProvider, IServerConfigurationChangeListener changeListener, ILoggerFactory loggerFactory, AdminPanelSettings settings, IPlugInConfigurationChangeListener plugInChangeListener)
 {
     this.servers = servers;
     this.persistenceContextProvider = persistenceContextProvider;
     this.changeListener             = changeListener;
     this.loggerFactory        = loggerFactory;
     this.settings             = settings;
     this.plugInChangeListener = plugInChangeListener;
     this.logger = this.loggerFactory.CreateLogger <AdminPanel>();
 }
Exemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ConnectServerService"/> class.
 /// </summary>
 /// <param name="servers">The servers.</param>
 /// <param name="persistenceContextProvider">The persistence context provider.</param>
 /// <param name="changeListener">The change listener.</param>
 public ConnectServerService(IList <IManageableServer> servers, IPersistenceContextProvider persistenceContextProvider, IServerConfigurationChangeListener changeListener)
 {
     this.servers = servers;
     this.persistenceContextProvider = persistenceContextProvider;
     this.changeListener             = changeListener;
 }
Exemplo n.º 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AdminPanel" /> class.
        /// </summary>
        /// <param name="port">The port.</param>
        /// <param name="servers">All manageable servers, including game servers, connect servers etc.</param>
        /// <param name="persistenceContextProvider">The persistence context provider.</param>
        /// <param name="changeListener">The change listener.</param>
        /// <param name="loggingConfigurationPath">The logging configuration file path.</param>
        public AdminPanel(ushort port, IList <IManageableServer> servers, IPersistenceContextProvider persistenceContextProvider, IServerConfigurationChangeListener changeListener, string loggingConfigurationPath)
        {
            Configuration.Default.MemoryAllocator = ArrayPoolMemoryAllocator.CreateWithMinimalPooling();

            // you might need to allow it first with netsh:
            // netsh http add urlacl http://+:1234/ user=[Username]
            var host = Host.CreateDefaultBuilder()
                       .ConfigureLogging(configureLogging =>
            {
                configureLogging.ClearProviders();
                var settings = new Log4NetSettings {
                    ConfigFile = loggingConfigurationPath, Watch = true
                };

                configureLogging.AddLog4Net(settings);
            })
                       .ConfigureServices(serviceCollection =>
            {
                serviceCollection.AddSingleton(servers);
                serviceCollection.AddSingleton(persistenceContextProvider);
                serviceCollection.AddSingleton(changeListener);
            })
                       .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup <Startup>();
                webBuilder.UseStaticWebAssets();

                // For testing purposes, we use http. Later we need to switch to https.
                // The self-signed certificate would otherwise cause a lot of warnings in the browser.
                webBuilder.UseUrls($"http://*:{port}");
            })
                       .Build();

            host.Start();
        }
Exemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ConnectServerController" /> class.
 /// </summary>
 /// <param name="servers">The servers.</param>
 /// <param name="persistenceContextProvider">The persistence context provider.</param>
 /// <param name="serverListHubContext">The server list hub context.</param>
 /// <param name="changeListener">The change listener.</param>
 public ConnectServerController(IList <IManageableServer> servers, IPersistenceContextProvider persistenceContextProvider, IHubContext <ServerListHub> serverListHubContext, IServerConfigurationChangeListener changeListener)
 {
     this.servers = servers;
     this.persistenceContextProvider = persistenceContextProvider;
     this.serverListHubContext       = serverListHubContext;
     this.changeListener             = changeListener;
 }