private static void autoBroadcastNews() { var news = File.ReadAllLines("news.txt"); do { ChatManager cm = new ChatManager(manager); cm.News(news[new Random().Next(news.Length)]); Thread.Sleep(300000); //5 min } while (true); }
//public List<Player> GuildMembersOf(string guild) //{ // return (from i in Worlds where i.Key != 0 from e in i.Value.Players where String.Equals(e.Value.Guild, guild, StringComparison.CurrentCultureIgnoreCase) select e.Value).ToList(); //} public void Initialize() { log.Info("Initializing Realm Manager..."); GameData = new XmlData(); Behaviors = new BehaviorDb(this); GeneratorCache.Init(); MerchantLists.InitMerchatLists(GameData); AddWorld(World.NEXUS_ID, Worlds[0] = new Nexus()); AddWorld(World.MARKET, new ClothBazaar()); AddWorld(World.TEST_ID, new Test()); AddWorld(World.TUT_ID, new Tutorial(true)); AddWorld(World.DAILY_QUEST_ID, new DailyQuestRoom()); Monitor = new RealmPortalMonitor(this); Task.Factory.StartNew(() => GameWorld.AutoName(1, true)).ContinueWith(_ => AddWorld(_.Result), TaskScheduler.Default); Chat = new ChatManager(this); Commands = new CommandManager(this); log.Info("Realm Manager initialized."); }
public RealmManager(Resources resources, Database db, ServerConfig config) { InstanceId = Guid.NewGuid().ToString(); Database = db; Resources = resources; Config = config; Config.serverInfo.instanceId = InstanceId; TPS = config.serverSettings.tps; // all these deal with db pub/sub... probably should put more thought into their structure... InterServer = new ISManager(Database, config); ISControl = new ISControl(this); Chat = new ChatManager(this); DbServerController = new DbServerManager(this); // probably could integrate this with ChatManager and rename... DbEvents = new DbEvents(this); // basic server necessities ConMan = new ConnectManager(this, config.serverSettings.maxPlayers, config.serverSettings.maxPlayersWithPriority); Behaviors = new BehaviorDb(this); Commands = new CommandManager(this); // some necessities that shouldn't be (will work this out later) MerchantLists.Init(this); Tinker = new DbTinker(db.Conn); if (Config.serverSettings.enableMarket) { Market = new Market(this); } var serverMode = config.serverSettings.mode; switch (serverMode) { case ServerMode.Single: InitializeNexusHub(); AddWorld("Realm"); break; case ServerMode.Nexus: InitializeNexusHub(); break; case ServerMode.Realm: AddWorld("Realm"); break; case ServerMode.Marketplace: AddWorld("Marketplace", true); AddWorld("Vault"); AddWorld("ClothBazaar"); break; } // add portal monitor to nexus and initialize worlds if (Worlds.ContainsKey(World.Nexus)) { Monitor = new PortalMonitor(this, Worlds[World.Nexus]); } foreach (var world in Worlds.Values) { OnWorldAdded(world); } _initialized = true; }
public void Initialize() { log.Info("Initializing Realm Manager..."); this.GameData = new XmlData(); this.Behaviors = new BehaviorDb(this); AddWorld(World.NEXUS_ID, Worlds[0] = new Nexus()); Monitor = new RealmPortalMonitor(this); AddWorld(World.TUT_ID, new Tutorial(true)); AddWorld(World.NEXUS_LIMBO, new NexusLimbo()); AddWorld(World.VAULT_ID, new Vault(true)); AddWorld(World.TEST_ID, new Test()); AddWorld(World.RAND_REALM, new RandomRealm()); AddWorld(World.GAUNTLET, new GauntletMap()); //AddWorld(new GameWorld(1, "Medusa", true)); Chat = new ChatManager(this); Commands = new CommandManager(this); log.Info("Realm Manager initialized."); }
public void Initialize() { log.Info("Initializing Realm Manager..."); GameData = new XmlData(); Behaviors = new BehaviorDb(this); MerchantLists.InitMerchantLists(GameData); AddWorld(World.NEXUS_ID, Worlds[0] = new Nexus()); Monitor = new RealmPortalMonitor(this); AddWorld(World.TUT_ID, new Tutorial(true)); AddWorld(World.NEXUS_LIMBO, new NexusLimbo()); AddWorld(World.VAULT_ID, new Vault(true)); AddWorld(World.TEST_ID, new Test()); AddWorld(World.RAND_REALM, new RandomRealm()); AddWorld(World.PVP, new PVPArena()); AddWorld(World.SHOP_ID, new Shop()); if (Program.Settings.GetValue<bool>("hasRealm")) AddWorld(GameWorld.AutoName(1, true)); Chat = new ChatManager(this); Commands = new CommandManager(); UnusualEffects.Init(); log.Info("Realm Manager initialized."); }
private static void AutoBroadcaster() { var news = File.ReadAllLines("news.txt"); while (true) { ChatManager chat = new ChatManager(manager); string text = news[new Random().Next(news.Length)]; if (text.StartsWith("#")) chat.Announce(text.TrimStart('#')); else chat.News(text); Thread.Sleep(1 * 60 * 1000); } }