예제 #1
0
 public Server(ILogger <Server> logger, SharedLibraryCore.Interfaces.ILogger deprecatedLogger,
               ServerConfiguration config, IManager mgr, IRConConnectionFactory rconConnectionFactory,
               IGameLogReaderFactory gameLogReaderFactory, IServiceProvider serviceProvider)
 {
     Password                  = config.Password;
     IP                        = config.IPAddress;
     Port                      = config.Port;
     Manager                   = mgr;
     Logger                    = deprecatedLogger;
     ServerConfig              = config;
     EventProcessing           = new SemaphoreSlim(1, 1);
     Clients                   = new List <EFClient>(new EFClient[64]);
     Reports                   = new List <Report>();
     ClientHistory             = new Queue <PlayerHistory>();
     ChatHistory               = new List <ChatInfo>();
     NextMessage               = 0;
     CustomSayEnabled          = Manager.GetApplicationSettings().Configuration().EnableCustomSayName;
     CustomSayName             = Manager.GetApplicationSettings().Configuration().CustomSayName;
     this.gameLogReaderFactory = gameLogReaderFactory;
     RConConnectionFactory     = rconConnectionFactory;
     ServerLogger              = logger;
     DefaultSettings           = serviceProvider.GetRequiredService <DefaultSettings>();
     InitializeTokens();
     InitializeAutoMessages();
 }
예제 #2
0
 /// <summary>
 /// base constructor
 /// </summary>
 /// <param name="translationLookup"></param>
 /// <param name="rconConnectionFactory"></param>
 public GameServerInstanceFactory(ITranslationLookup translationLookup, IRConConnectionFactory rconConnectionFactory, IGameLogReaderFactory gameLogReaderFactory, IMetaService metaService)
 {
     _translationLookup     = translationLookup;
     _rconConnectionFactory = rconConnectionFactory;
     _gameLogReaderFactory  = gameLogReaderFactory;
     _metaService           = metaService;
 }
예제 #3
0
 public GameLogEventDetection(ILogger <GameLogEventDetection> logger, IW4MServer server, Uri[] gameLogUris, IGameLogReaderFactory gameLogReaderFactory)
 {
     _reader     = gameLogReaderFactory.CreateGameLogReader(gameLogUris, server.EventParser);
     _server     = server;
     _ignoreBots = server?.Manager.GetApplicationSettings().Configuration().IgnoreBots ?? false;
     _logger     = logger;
 }
예제 #4
0
 public Server(ServerConfiguration config, IManager mgr, IRConConnectionFactory rconConnectionFactory, IGameLogReaderFactory gameLogReaderFactory)
 {
     Password = config.Password;
     IP       = config.IPAddress;
     Port     = config.Port;
     Manager  = mgr;
     Logger   = Manager.GetLogger(this.EndPoint);
     Logger.WriteInfo(this.ToString());
     ServerConfig              = config;
     RemoteConnection          = rconConnectionFactory.CreateConnection(IP, Port, Password);
     EventProcessing           = new SemaphoreSlim(1, 1);
     Clients                   = new List <EFClient>(new EFClient[18]);
     Reports                   = new List <Report>();
     ClientHistory             = new Queue <PlayerHistory>();
     ChatHistory               = new List <ChatInfo>();
     NextMessage               = 0;
     CustomSayEnabled          = Manager.GetApplicationSettings().Configuration().EnableCustomSayName;
     CustomSayName             = Manager.GetApplicationSettings().Configuration().CustomSayName;
     this.gameLogReaderFactory = gameLogReaderFactory;
     InitializeTokens();
     InitializeAutoMessages();
 }