Example #1
0
 public WebServer(MhfSetting setting, IWebServer server)
 {
     _logger = LogProvider.Logger(this);
     _server = server;
     _router = new WebRouter(setting);
     _server.SetHandler(this);
     _middlewareStack = new WebMiddlewareStack(_router.Route);
 }
Example #2
0
 public override void Initialize(string identity, string zone, object configuration)
 {
     base.Initialize(identity, zone, configuration);
     _setting = configuration as MhfSetting;
     if (_setting == null)
     {
         Error("Couldn't apply MhfLogger configuration");
     }
 }
Example #3
0
 public PacketFactory(MhfSetting setting)
 {
     _logger      = LogProvider.Logger <MhfLogger>(this);
     _setting     = setting;
     _readKeyRot  = CryptoInit;
     _sendKeyRot  = CryptoInit;
     _sentPackets = 0;
     _header      = null;
     Reset();
 }
Example #4
0
 public QueueConsumer(MhfSetting setting, AsyncEventSettings socketSetting)
 {
     _setting            = setting;
     _logger             = LogProvider.Logger <MhfLogger>(this);
     _maxUnitOfOrder     = socketSetting.MaxUnitOfOrder;
     _queues             = new BlockingCollection <ClientEvent> [_maxUnitOfOrder];
     _threads            = new Thread[_maxUnitOfOrder];
     _lock               = new object();
     _clientHandlers     = new Dictionary <int, IClientHandler>();
     _connectionHandlers = new Dictionary <int, IConnectionHandler>();
     _connections        = new Dictionary <ITcpSocket, MhfConnection>();
 }
Example #5
0
        public override CommandResultType Handle(ConsoleParameter parameter)
        {
            if (_server == null)
            {
                MhfSetting setting = new MhfSetting();
                _server = new MhfServer(setting);
            }

            if (parameter.Arguments.Contains("start"))
            {
                _server.Start();
                return(CommandResultType.Completed);
            }

            if (parameter.Arguments.Contains("stop"))
            {
                _server.Stop();
                return(CommandResultType.Completed);
            }

            return(CommandResultType.Continue);
        }
Example #6
0
        public MhfServer(MhfSetting setting)
        {
            Setting = new MhfSetting(setting);

            LogProvider.Configure <MhfLogger>(Setting);
            _logger = LogProvider.Logger <MhfLogger>(this);

            Instances = new InstanceGenerator();
            Clients   = new ClientLookup();
            Router    = new PacketRouter();
            Database  = new MhfDatabaseBuilder().Build(Setting.DatabaseSetting);

            _authConsumer = new QueueConsumer(Setting, Setting.ServerSocketSettings);
            _authConsumer.ClientDisconnected += AuthClientDisconnected;
            _authServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.AuthServerPort,
                _authConsumer,
                Setting.ServerSocketSettings
                );

            _lobbyConsumer = new QueueConsumer(Setting, Setting.ServerSocketSettings);
            _lobbyConsumer.ClientDisconnected += LobbyClientDisconnected;
            _lobbyServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.LobbyServerPort,
                _lobbyConsumer,
                Setting.ServerSocketSettings
                );

            _webServer = new WebServer(Setting, new KestrelWebServer(Setting));

            WebFileProvider = new PhysicalFileProvider(Setting.WebSetting.WebFolder);

            LoadPacketHandler();
            LoadWebRoutes();
        }
 public KestrelWebServer(MhfSetting setting)
 {
     _logger  = LogProvider.Logger(this);
     _setting = setting;
     _cancellationTokenSource = new CancellationTokenSource();
 }
Example #8
0
 public WebRouter(MhfSetting setting)
 {
     _setting = setting;
     _logger  = LogProvider.Instance.GetLogger(this);
     _routes  = new Dictionary <string, IWebRoute>();
 }