public WCFHost(IBanManager banManager, IClientManager clientManager, IAdminManager adminManager, IGameManager gameManager) { BanManager = banManager; ClientManager = clientManager; AdminManager = adminManager; GameManager = gameManager; }
private void InitManagers() { //try //{ var storage = _objectFactory.GetStorage(Storages.Redis, Config); _minerManager = _objectFactory.GetMinerManager(Config, _daemonClient); var jobTracker = _objectFactory.GetJobTracker(); var blockProcessor = _objectFactory.GetBlockProcessor(Config, _daemonClient); _shareManager = _objectFactory.GetShareManager(Config, _daemonClient, jobTracker, storage, blockProcessor); var vardiffManager = _objectFactory.GetVardiffManager(Config, _shareManager); _banningManager = _objectFactory.GetBanManager(Config, _shareManager); _jobManager = _objectFactory.GetJobManager(Config, _daemonClient, jobTracker, _shareManager, _minerManager, _hashAlgorithm); _jobManager.Initialize(InstanceId); var paymentProcessor = _objectFactory.GetPaymentProcessor(Config, _daemonClient, storage, blockProcessor); paymentProcessor.Initialize(Config.Payments); var latestBlocks = _objectFactory.GetLatestBlocks(storage); var blockStats = _objectFactory.GetBlockStats(latestBlocks, storage); Statistics = _objectFactory.GetPerPoolStats(Config, _daemonClient, _minerManager, _hashAlgorithm, blockStats, storage); //} //catch (Exception e) //{ // _logger.Error("Pool initialization error: {0:l}", e.Message); //} }
private void InitManagers() { try { AccountManager = _objectFactory.GetAccountManager(_storage, Config); BlockRepository = _objectFactory.GetBlockRepository(_storage); PaymentRepository = _objectFactory.GetPaymentRepository(_storage); MinerManager = _objectFactory.GetMinerManager(Config, _storage, AccountManager); var jobTracker = _objectFactory.GetJobTracker(Config); _shareManager = _objectFactory.GetShareManager(Config, Daemon, jobTracker, _storage); _objectFactory.GetVardiffManager(Config, _shareManager); _banningManager = _objectFactory.GetBanManager(Config, _shareManager); _jobManager = _objectFactory.GetJobManager(Config, Daemon, jobTracker, _shareManager, MinerManager, HashAlgorithm); _jobManager.Initialize(InstanceId); var blockProcessor = _objectFactory.GetBlockProcessor(Config, Daemon, _storage); var blockAccounter = _objectFactory.GetBlockAccounter(Config, _storage, AccountManager); var paymentProcessor = _objectFactory.GetPaymentProcessor(Config, _storage, Daemon, AccountManager); _objectFactory.GetPaymentManager(Config, blockProcessor, blockAccounter, paymentProcessor); ProfitInfo = _objectFactory.GetProfitInfo(NetworkInfo, Config); } catch (Exception e) { _logger.Error("Pool initialization error: {0:l}", e.Message); } }
/// <summary> /// Initializes a new instance of the <see cref="StratumServer"/> class. /// </summary> /// <param name="pool"></param> /// <param name="minerManager">The miner manager.</param> /// <param name="jobManager"></param> /// <param name="banManager"></param> /// <param name="poolConfig"></param> public StratumServer(IPoolConfig poolConfig, IPool pool, IMinerManager minerManager, IJobManager jobManager, IBanManager banManager) { _pool = pool; _minerManager = minerManager; _jobManager = jobManager; _banManager = banManager; _logger = Log.ForContext <StratumServer>().ForContext("Component", poolConfig.Coin.Name); }
public void TestIsBannedFalseWhenNoBannedPlayers() { IBanManager banManager = CreateBanManager(); bool isBanned = banManager.IsBanned(IPAddress.Parse("127.0.0.1")); Assert.IsFalse(isBanned); }
/// <summary> /// Initializes a new instance of the <see cref="StratumServer"/> class. /// </summary> /// <param name="pool"></param> /// <param name="minerManager">The miner manager.</param> /// <param name="jobManager"></param> /// <param name="banManager"></param> /// <param name="poolConfig"></param> public StratumServer(IPoolConfig poolConfig, IPool pool, IMinerManager minerManager, IJobManager jobManager, IBanManager banManager) { _pool = pool; _minerManager = minerManager; _jobManager = jobManager; _banManager = banManager; _logger = Log.ForContext<StratumServer>().ForContext("Component", poolConfig.Coin.Name); }
public IPFilterServiceBehavior(IBanManager verifier, IClientManager clientManager) { if (verifier == null) throw new ArgumentNullException("verifier"); if (clientManager == null) throw new ArgumentNullException("clientManager"); _verifier = verifier; _clientManager = clientManager; }
public void OnSetup() { var mockLogger = new Mock <ILogManager>(); mockLogger.Setup(x => x.Error(It.IsAny <Exception>())); var mockKernel = new Mock <IKernel>(); var mockTimer = new Mock <ITimer>(); var mockRepo = new Mock <IBanRepository>(); _banManager = new BanManager(mockKernel.Object, mockTimer.Object, mockLogger.Object, mockRepo.Object); }
public IPFilterServiceBehavior(IBanManager verifier, IPlayerManager playerManager) { if (verifier == null) { throw new ArgumentNullException(nameof(verifier)); } if (playerManager == null) { throw new ArgumentNullException(nameof(playerManager)); } _verifier = verifier; _playerManager = playerManager; }
public IMiningServer GetMiningServer(string type, IPoolConfig poolConfig, IPool pool, IMinerManager minerManager, IJobManager jobManager, IBanManager banManager) { var @params = new NamedParameterOverloads { { "poolConfig", poolConfig }, { "pool", pool }, { "minerManager", minerManager }, { "jobManager", jobManager }, { "banManager", banManager }, }; return(_applicationContext.Container.Resolve <IMiningServer>(type, @params)); }
private IServer CreateServerWithHost() { _factory = new FactoryMock(); IPlayerManager playerManager = _factory.CreatePlayerManager(6); ISpectatorManager spectatorManager = _factory.CreateSpectatorManager(10); IBanManager banManager = _factory.CreateBanManager(); IPieceProvider pieceProvider = _factory.CreatePieceProvider(); _host = new HostBaseMock(playerManager, spectatorManager, banManager, _factory); _actionQueue = _factory.CreateActionQueue() as ActionQueueMock; IServer server = new TetriNET.Server.Server(playerManager, spectatorManager, pieceProvider, _actionQueue); server.AddHost(_host); return(server); }
private void ServiceMainLoop() { // IFactory factory = new Factory(); // IBanManager banManager = factory.CreateBanManager(); // IPlayerManager playerManager = factory.CreatePlayerManager(6); ISpectatorManager spectatorManager = factory.CreateSpectatorManager(10); // IHost wcfHost = new Server.WCFHost.WCFHost( playerManager, spectatorManager, banManager, factory) { Port = ConfigurationManager.AppSettings["port"] }; // IActionQueue actionQueue = new BlockingActionQueue(); // IPieceProvider pieceProvider = factory.CreatePieceProvider(); // IServer server = new Server.Server(playerManager, spectatorManager, pieceProvider, actionQueue); server.AddHost(wcfHost); // try { server.StartServer(); while (!_cancellationTokenSource.IsCancellationRequested) { Thread.Sleep(250); } server.StopServer(); } catch (Exception ex) { Log.Default.WriteLine(LogLevels.Error, "Error while running server. Exception {0}", ex); } }
protected HostBase(IPlayerManager playerManager, ISpectatorManager spectatorManager, IBanManager banManager, IFactory factory) { if (playerManager == null) { throw new ArgumentNullException(nameof(playerManager)); } if (banManager == null) { throw new ArgumentNullException(nameof(banManager)); } if (factory == null) { throw new ArgumentNullException(nameof(factory)); } PlayerManager = playerManager; SpectatorManager = spectatorManager; BanManager = banManager; Factory = factory; }
private bool InitCoreServices() { AccountManager = _objectFactory.GetAccountManager(_storage, Config); MinerManager = _objectFactory.GetMinerManager(Config, _storage, AccountManager, Daemon); var jobTracker = _objectFactory.GetJobTracker(Config); _shareManager = _objectFactory.GetShareManager(Config, Daemon, jobTracker, _storage); _objectFactory.GetVardiffManager(Config, _shareManager); _banningManager = _objectFactory.GetBanManager(Config, _shareManager); _jobManager = _objectFactory.GetJobManager(Config, Daemon, jobTracker, _shareManager, MinerManager, HashAlgorithm); _jobManager.Initialize(InstanceId); var blockProcessor = _objectFactory.GetBlockProcessor(Config, Daemon, _storage); var blockAccounter = _objectFactory.GetBlockAccounter(Config, _storage, AccountManager); var paymentProcessor = _objectFactory.GetPaymentProcessor(Config, _storage, Daemon, AccountManager); _objectFactory.GetPaymentManager(Config, blockProcessor, blockAccounter, paymentProcessor); return(true); }
private void InitManagers() { try { BlocksCache = _objectFactory.GetBlocksCache(_storageLayer); MinerManager = _objectFactory.GetMinerManager(Config, _storageLayer); var jobTracker = _objectFactory.GetJobTracker(Config); var blockProcessor = _objectFactory.GetBlockProcessor(Config, _daemonClient); _shareManager = _objectFactory.GetShareManager(Config, _daemonClient, jobTracker, _storageLayer, blockProcessor); _objectFactory.GetVardiffManager(Config, _shareManager); _banningManager = _objectFactory.GetBanManager(Config, _shareManager); _jobManager = _objectFactory.GetJobManager(Config, _daemonClient, jobTracker, _shareManager, MinerManager, HashAlgorithm); _jobManager.Initialize(InstanceId); var paymentProcessor = _objectFactory.GetPaymentProcessor(Config, _daemonClient, _storageLayer, blockProcessor); paymentProcessor.Initialize(); } catch (Exception e) { _logger.Error("Pool initialization error: {0:l}", e.Message); } }
static void Main(string[] args) { Log.Default.Initialize(ConfigurationManager.AppSettings["logpath"], "server.log"); Version version = Assembly.GetEntryAssembly().GetName().Version; string company = ((AssemblyCompanyAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyCompanyAttribute), false)).Company; string product = ((AssemblyProductAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyProductAttribute), false)).Product; Log.Default.WriteLine(LogLevels.Info, "{0} {1}.{2} by {3}", product, version.Major, version.Minor, company); // IFactory factory = new Factory(); // IBanManager banManager = factory.CreateBanManager(); // IPlayerManager playerManager = factory.CreatePlayerManager(6); ISpectatorManager spectatorManager = factory.CreateSpectatorManager(10); // IHost wcfHost = new Server.WCFHost.WCFHost( playerManager, spectatorManager, banManager, factory) { Port = ConfigurationManager.AppSettings["port"] }; // IHost builtInHost = new BuiltInHostBase( playerManager, spectatorManager, banManager, factory); IHost socketHost = new TCPHostBase(playerManager, spectatorManager, banManager, factory) { Port = 5656 }; // List <DummyBuiltInClient> clients = new List <DummyBuiltInClient> { //new DummyBuiltInClient("BuiltIn-Joel" + Guid.NewGuid().ToString().Substring(0, 5), () => builtInHost), //new DummyBuiltInClient("BuiltIn-Celine" + Guid.NewGuid().ToString().Substring(0, 5), () => builtInHost) }; // IActionQueue actionQueue = factory.CreateActionQueue(); // IPieceProvider pieceProvider = factory.CreatePieceProvider(); // IServer server = new Server.Server(playerManager, spectatorManager, pieceProvider, actionQueue); server.AddHost(wcfHost); server.AddHost(builtInHost); server.AddHost(socketHost); // try { server.StartServer(); } catch (Exception ex) { Log.Default.WriteLine(LogLevels.Error, "Cannot start server. Exception: {0}", ex); return; } DisplayHelp(); bool stopped = false; while (!stopped) { if (Console.KeyAvailable) { ConsoleKeyInfo cki = Console.ReadKey(true); switch (cki.Key) { default: DisplayHelp(); break; case ConsoleKey.X: server.StopServer(); stopped = true; break; case ConsoleKey.S: server.StartGame(); break; case ConsoleKey.T: server.StopGame(); break; case ConsoleKey.P: server.PauseGame(); break; case ConsoleKey.R: server.ResumeGame(); break; case ConsoleKey.Add: clients.Add(new DummyBuiltInClient("BuiltIn-" + Guid.NewGuid().ToString().Substring(0, 5), () => builtInHost)); break; case ConsoleKey.Subtract: { DummyBuiltInClient client = clients.LastOrDefault(); if (client != null) { client.DisconnectFromServer(); clients.Remove(client); } break; } case ConsoleKey.L: { DummyBuiltInClient client = clients.LastOrDefault(); client?.Lose(); break; } case ConsoleKey.D: Console.WriteLine("Players:"); foreach (IPlayer p in playerManager.Players) { Console.WriteLine("{0}) {1} [{2}] {3} {4} {5:HH:mm:ss.fff} {6:HH:mm:ss.fff}", p.Id, p.Name, p.Team, p.State, p.PieceIndex, p.LastActionFromClient, p.LastActionToClient); } Console.WriteLine("Spectators:"); foreach (ISpectator s in spectatorManager.Spectators) { Console.WriteLine("{0}) {1} {2:HH:mm:ss.fff} {3:HH:mm:ss.fff}", s.Id, s.Name, s.LastActionFromClient, s.LastActionToClient); } break; case ConsoleKey.W: foreach (WinEntry e in server.WinList) { Console.WriteLine("{0}[{1}]: {2} pts", e.PlayerName, e.Team, e.Score); } break; case ConsoleKey.Q: server.ResetWinList(); break; case ConsoleKey.O: { GameOptions options = server.Options; foreach (PieceOccurancy occurancy in options.PieceOccurancies) { Console.WriteLine("{0}:{1}", occurancy.Value, occurancy.Occurancy); } foreach (SpecialOccurancy occurancy in options.SpecialOccurancies) { Console.WriteLine("{0}:{1}", occurancy.Value, occurancy.Occurancy); } } break; case ConsoleKey.I: { foreach (KeyValuePair <string, GameStatisticsByPlayer> byPlayer in server.GameStatistics) { GameStatisticsByPlayer stats = byPlayer.Value; string playerName = byPlayer.Key; Console.WriteLine("{0}) {1} : 1:{2} 2:{3} 3:{4} 4:{5}", byPlayer.Key, playerName, stats.SingleCount, stats.DoubleCount, stats.TripleCount, stats.TetrisCount); foreach (KeyValuePair <Specials, Dictionary <string, int> > bySpecial in stats.SpecialsUsed) { Console.WriteLine("Special {0}", bySpecial.Key); foreach (KeyValuePair <string, int> kv in bySpecial.Value) { string otherName = kv.Key; Console.WriteLine("\t{0}:{1}", otherName, kv.Value); } } } break; } } } else { System.Threading.Thread.Sleep(100); Parallel.ForEach( clients, client => client.Test()); } } }
public BuiltInHostBase(IPlayerManager playerManager, ISpectatorManager spectatorManager, IBanManager banManager, IFactory factory) : base(playerManager, spectatorManager, banManager, factory) { }
private void InitManagers() { try { AccountManager = _objectFactory.GetAccountManager(_storage, Config); BlockRepository = _objectFactory.GetBlockRepository(_storage); PaymentRepository = _objectFactory.GetPaymentRepository(_storage); MinerManager = _objectFactory.GetMinerManager(Config, _storage, AccountManager); var jobTracker = _objectFactory.GetJobTracker(Config); _shareManager = _objectFactory.GetShareManager(Config, Daemon, jobTracker, _storage); _objectFactory.GetVardiffManager(Config, _shareManager); _banningManager = _objectFactory.GetBanManager(Config, _shareManager); _jobManager = _objectFactory.GetJobManager(Config, Daemon, jobTracker, _shareManager, MinerManager, HashAlgorithm); _jobManager.Initialize(InstanceId); var blockProcessor =_objectFactory.GetBlockProcessor(Config, Daemon, _storage); var blockAccounter = _objectFactory.GetBlockAccounter(Config, _storage, AccountManager); var paymentProcessor = _objectFactory.GetPaymentProcessor(Config, _storage, Daemon, AccountManager); _objectFactory.GetPaymentManager(Config, blockProcessor, blockAccounter, paymentProcessor); ProfitInfo = _objectFactory.GetProfitInfo(NetworkInfo, Config); } catch (Exception e) { _logger.Error("Pool initialization error: {0:l}", e.Message); } }
public WCFHost(IPlayerManager playerManager, ISpectatorManager spectatorManager, IBanManager banManager, IFactory factory) : base(playerManager, spectatorManager, banManager, factory) { _serviceHost = new WCFServiceHost(this); _started = false; }
private bool InitCoreServices() { AccountManager = _objectFactory.GetAccountManager(_storage, Config); MinerManager = _objectFactory.GetMinerManager(Config, _storage, AccountManager); var jobTracker = _objectFactory.GetJobTracker(Config); _shareManager = _objectFactory.GetShareManager(Config, Daemon, jobTracker, _storage); _objectFactory.GetVardiffManager(Config, _shareManager); _banningManager = _objectFactory.GetBanManager(Config, _shareManager); _jobManager = _objectFactory.GetJobManager(Config, Daemon, jobTracker, _shareManager, MinerManager, HashAlgorithm); _jobManager.Initialize(InstanceId); var blockProcessor = _objectFactory.GetBlockProcessor(Config, Daemon, _storage); var blockAccounter = _objectFactory.GetBlockAccounter(Config, _storage, AccountManager); var paymentProcessor = _objectFactory.GetPaymentProcessor(Config, _storage, Daemon, AccountManager); _objectFactory.GetPaymentManager(Config, blockProcessor, blockAccounter, paymentProcessor); return true; }
public IMiningServer GetMiningServer(string type, IPoolConfig poolConfig, IPool pool, IMinerManager minerManager, IJobManager jobManager, IBanManager banManager) { var @params = new NamedParameterOverloads { {"poolConfig", poolConfig}, {"pool", pool}, {"minerManager", minerManager}, {"jobManager", jobManager}, {"banManager", banManager}, }; return _applicationContext.Container.Resolve<IMiningServer>(type, @params); }
public void OnTeardown() { _banManager.ClearBans(); _banManager = null; }
private void InitManagers() { // init the algorithm _hashAlgorithm = _objectFactory.GetHashAlgorithm(Config.Coin.Algorithm); _storage = _objectFactory.GetStorage(Storages.Redis, Config); _paymentProcessor = _objectFactory.GetPaymentProcessor(Config.Coin.Name, _daemonClient, _storage, Config.Wallet); _paymentProcessor.Initialize(Config.Payments); _minerManager = _objectFactory.GetMiningManager(Config.Coin.Name, _daemonClient); _jobTracker = _objectFactory.GetJobTracker(); _shareManager = _objectFactory.GetShareManager(Config.Coin.Name, _daemonClient, _jobTracker, _storage); _vardiffManager = _objectFactory.GetVardiffManager(Config.Coin.Name, _shareManager, Config.Stratum.Vardiff); _banningManager = _objectFactory.GetBanManager(Config.Coin.Name, _shareManager, Config.Banning); _jobManager = _objectFactory.GetJobManager(Config.Coin.Name, _daemonClient, _jobTracker, _shareManager, _minerManager, _hashAlgorithm, Config.Wallet, Config.Rewards); _jobManager.Initialize(InstanceId); var latestBlocks = _objectFactory.GetLatestBlocks(_storage); var blockStats = _objectFactory.GetBlockStats(latestBlocks, _storage); Statistics = _objectFactory.GetPerPoolStats(Config, _daemonClient, _minerManager, _hashAlgorithm, blockStats, _storage); }
public TCPHostBase(IPlayerManager playerManager, ISpectatorManager spectatorManager, IBanManager banManager, IFactory factory) : base(playerManager, spectatorManager, banManager, factory) { _serviceHost = new SocketServiceHost(this); }