static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(onError); Console.CancelKeyPress += new ConsoleCancelEventHandler(OnClose); Log.Texte("", "-------------------- World Server ---------------------", ConsoleColor.DarkRed); Log.Texte("", " █ █░ ▄▄▄ ██▀███ ▓█████ ███▄ ▄███▓ █ ██ ", ConsoleColor.Red); Log.Texte("", "▓█░ █ ░█░▒████▄ ▓██ ▒ ██▒▓█ ▀ ▓██▒▀█▀ ██▒ ██ ▓██▒", ConsoleColor.Red); Log.Texte("", "▒█░ █ ░█ ▒██ ▀█▄ ▓██ ░▄█ ▒▒███ ▓██ ▓██░▓██ ▒██░", ConsoleColor.Red); Log.Texte("", "░█░ █ ░█ ░██▄▄▄▄██ ▒██▀▀█▄ ▒▓█ ▄ ▒██ ▒██ ▓▓█ ░██░", ConsoleColor.Red); Log.Texte("", "░░██▒██▓ ▓█ ▓██▒░██▓ ▒██▒░▒████▒▒██▒ ░██▒▒▒█████▓ ", ConsoleColor.Red); Log.Texte("", "░ ▓░▒ ▒ ▒▒ ▓▒█░░ ▒▓ ░▒▓░░░ ▒░ ░░ ▒░ ░ ░░▒▓▒ ▒ ▒ ", ConsoleColor.Red); Log.Texte("", " ▒ ░ ░ ▒ ▒▒ ░ ░▒ ░ ▒░ ░ ░ ░░ ░ ░░░▒░ ░ ░ ", ConsoleColor.Red); Log.Texte("", " ░ ░ ░ ▒ ░░ ░ ░ ░ ░ ░░░ ░ ░ ", ConsoleColor.Red); Log.Texte("", " ░ ░ ░ ░ ░ ░ ░ ░ ", ConsoleColor.Red); Log.Texte("", "-------------------http://WarEmu.com-------------------", ConsoleColor.DarkRed); // Loading all configs files ConfigMgr.LoadConfigs(); Config = ConfigMgr.GetConfig<WorldConfigs>(); // Loading log level from file if (!Log.InitLog(Config.LogLevel, "WorldServer")) ConsoleMgr.WaitAndExit(2000); CharMgr.Database = DBManager.Start(Config.CharacterDatabase.Total(), ConnectionType.DATABASE_MYSQL, "Characters"); if (CharMgr.Database == null) ConsoleMgr.WaitAndExit(2000); WorldMgr.Database = DBManager.Start(Config.WorldDatabase.Total(), ConnectionType.DATABASE_MYSQL, "World"); if (WorldMgr.Database == null) ConsoleMgr.WaitAndExit(2000); AbilityMgr.Database = WorldMgr.Database; Client = new RpcClient("WorldServer-" + Config.RealmId, Config.AccountCacherInfo.RpcLocalIp, 1); if (!Client.Start(Config.AccountCacherInfo.RpcServerIp, Config.AccountCacherInfo.RpcServerPort)) ConsoleMgr.WaitAndExit(2000); Rm = Program.AcctMgr.GetRealm(Config.RealmId); if (Rm == null) { Log.Error("WorldServer", "Realm (" + Config.RealmId + ") not found"); return; } LoaderMgr.Start(); if (!TCPManager.Listen<TCPServer>(Rm.Port, "World")) ConsoleMgr.WaitAndExit(2000); Server = TCPManager.GetTcp<TCPServer>("World"); AcctMgr.UpdateRealm(Client.Info, Rm.RealmId); AcctMgr.UpdateRealmCharacters(Rm.RealmId, (uint)CharMgr.Database.GetObjectCount<Character>("Realm=1"), (uint)CharMgr.Database.GetObjectCount<Character>("Realm=2")); ConsoleMgr.Start(); }
public void Cast() { Log.Info("Ability", "Cast"); if (IsDone) { return; } IsDone = true; DoneTime = TCPServer.GetTimeStampMS(); if (Handler != null) { GameData.AbilityResult Result = Handler.CanCast(); if (Result == GameData.AbilityResult.ABILITYRESULT_OK) { Handler.Cast(); } } }
static public void F_REQUEST_WORLD_LARGE(BaseClient client, PacketIn packet) { GameClient cclient = client as GameClient; if (cclient.Plr == null) { return; } if (!cclient.Plr.IsLoad()) { return; } PacketOut Out = new PacketOut((byte)Opcodes.F_SET_TIME); Out.WriteUInt32((uint)TCPServer.GetTimeStamp()); Out.WriteUInt32(7); cclient.Plr.SendPacket(Out); Out = new PacketOut((byte)Opcodes.S_WORLD_SENT); Out.WriteByte(0); cclient.Plr.SendPacket(Out); }
public void Update(long Tick) { if (Handler != null) { Handler.Update(Tick); } if (NextTick < Tick) { NextTick = Tick + 1000; OnTick(TickCount); ++TickCount; } if (!IsBuff) { if (StartTime + Info.Info.CastTime <= TCPServer.GetTimeStampMS()) { if (Info.Info.ApSec == 0) { Cast(); } else { OnTick(TickCount); } Stop(); } } if (EndTime != 0 && EndTime < Tick) { Stop(); } }
static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(onError); Console.CancelKeyPress += new ConsoleCancelEventHandler(OnClose); Log.Texte("", "-------------------- World Server ---------------------", ConsoleColor.DarkRed); // Loading all configs files ConfigMgr.LoadConfigs(); Config = ConfigMgr.GetConfig <WorldConfigs>(); // Loading log level from file if (!Log.InitLog(Config.LogLevel, "WorldServer")) { ConsoleMgr.WaitAndExit(2000); } #if DEBUG API.Server api = null; if (Config.EnableAPI) { try { api = new API.Server(Config.APIAddress, Config.APIPort, 100); } catch (Exception e) { Log.Error("API", "Unable to start API server: " + e.Message); } } #endif CharMgr.Database = DBManager.Start(Config.CharacterDatabase.Total(), Config.CharacterDatabase.ConnectionType, "Characters", Config.CharacterDatabase.Database); if (CharMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } else if (!Config.PreloadAllCharacters) { CharMgr.Database.RegisterAction(CharMgr.LoadPendingCharacters); } _timer = new Timer(AuctionHouse.CheckAuctionExpiry, null, new TimeSpan(0, 12, 0, 0), new TimeSpan(0, 24, 0, 0)); WorldMgr.Database = DBManager.Start(Config.WorldDatabase.Total(), Config.CharacterDatabase.ConnectionType, "World", Config.WorldDatabase.Database); if (WorldMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } WorldMgr.StartingPairing = WorldMgr.Database.ExecuteQueryInt("SELECT FLOOR(RAND() * 3) + 1"); WorldMgr.UpperTierBattlefrontManager = new UpperTierBattlefrontManager(); WorldMgr.UpperTierBattlefrontManager.SetInitialPairActive(); Log.Texte("Creating Upper Tier Battlefront Manager", WorldMgr.UpperTierBattlefrontManager.GetActivePairing().PairingName, ConsoleColor.Cyan); WorldMgr.LowerTierBattlefrontManager = new LowerTierBattlefrontManager(); WorldMgr.LowerTierBattlefrontManager.SetInitialPairActive(); Log.Texte("Creating Lower Tier Battlefront Manager", WorldMgr.LowerTierBattlefrontManager.GetActivePairing().PairingName, ConsoleColor.Cyan); Log.Texte("StartingPairing: ", WorldMgr.StartingPairing.ToString(), ConsoleColor.Cyan); Client = new RpcClient("WorldServer-" + Config.RealmId, Config.AccountCacherInfo.RpcLocalIp, 1); if (!Client.Start(Config.AccountCacherInfo.RpcServerIp, Config.AccountCacherInfo.RpcServerPort)) { ConsoleMgr.WaitAndExit(2000); } Rm = AcctMgr.GetRealm(Config.RealmId); if (Rm == null) { Log.Error("WorldServer", "Realm (" + Config.RealmId + ") not found"); return; } LoaderMgr.Start(); if (!TCPManager.Listen <TCPServer>(Rm.Port, "World")) { ConsoleMgr.WaitAndExit(2000); } Server = TCPManager.GetTcp <TCPServer>("World"); AcctMgr.UpdateRealm(Client.Info, Rm.RealmId); AcctMgr.UpdateRealmCharacters(Rm.RealmId, (uint)CharMgr.Database.GetObjectCount <Character>("Realm=1"), (uint)CharMgr.Database.GetObjectCount <Character>("Realm=2")); ConsoleMgr.Start(); }
static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(onError); Console.CancelKeyPress += new ConsoleCancelEventHandler(OnClose); Log.Info("", "-------------------- World Server ---------------------", ConsoleColor.DarkRed); // Default the server to DEV mode. if (args.Length == 0) { WorldMgr.ServerMode = "DEV"; } else { if (args.Length == 1) { if (args[0] == "DEV") { WorldMgr.ServerMode = "DEV"; } if (args[0] == "PRD") { WorldMgr.ServerMode = "PRD"; } } else { WorldMgr.ServerMode = "DEV"; } } Log.Info("", "SERVER running in " + WorldMgr.ServerMode + " mode", ConsoleColor.Cyan); // Loading all configs files ConfigMgr.LoadConfigs(); Config = ConfigMgr.GetConfig <WorldConfigs>(); // Loading log level from file if (!Log.InitLog(Config.LogLevel, "WorldServer")) { ConsoleMgr.WaitAndExit(2000); } #if DEBUG API.Server api = null; if (Config.EnableAPI) { try { api = new API.Server(Config.APIAddress, Config.APIPort, 100); } catch (Exception e) { Log.Error("API", "Unable to start API server: " + e.Message); } } #endif CharMgr.Database = DBManager.Start(Config.CharacterDatabase.Total(), Config.CharacterDatabase.ConnectionType, "Characters", Config.CharacterDatabase.Database); if (CharMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } else if (!Config.PreloadAllCharacters) { CharMgr.Database.RegisterAction(CharMgr.LoadPendingCharacters); } _timer = new Timer(AuctionHouse.CheckAuctionExpiry, null, new TimeSpan(0, 12, 0, 0), new TimeSpan(0, 24, 0, 0)); WorldMgr.Database = DBManager.Start(Config.WorldDatabase.Total(), Config.CharacterDatabase.ConnectionType, "World", Config.WorldDatabase.Database); if (WorldMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } WorldMgr.StartingPairing = WorldMgr.Database.ExecuteQueryInt("SELECT FLOOR(RAND() * 3) + 1"); // Ensure directory structure is correct if (!Directory.Exists("Zones")) { Log.Error("Directory Check", "Zones directory does not exist"); ConsoleMgr.WaitAndExit(2000); } if (!Directory.Exists("Scripts")) { Log.Error("Directory Check", "Scripts directory does not exist"); ConsoleMgr.WaitAndExit(2000); } if (!Directory.Exists("World")) { Log.Error("Directory Check", "World directory does not exist"); ConsoleMgr.WaitAndExit(2000); } if (!Directory.Exists("Abilities")) { Log.Error("Directory Check", "Abilities directory does not exist"); ConsoleMgr.WaitAndExit(2000); } Client = new RpcClient("WorldServer-" + Config.RealmId, Config.AccountCacherInfo.RpcLocalIp, 1); if (!Client.Start(Config.AccountCacherInfo.RpcServerIp, Config.AccountCacherInfo.RpcServerPort)) { ConsoleMgr.WaitAndExit(2000); } Rm = AcctMgr.GetRealm(Config.RealmId); if (Rm == null) { Log.Error("WorldServer", "Realm (" + Config.RealmId + ") not found"); return; } LoaderMgr.Start(); // Clean up rvr_metrics Log.Info("Battlefront Manager", "Clearing rvr_metrics", ConsoleColor.Cyan); WorldMgr.Database.ExecuteNonQuery("DELETE FROM rvr_metrics WHERE TIMESTAMP NOT BETWEEN DATE_SUB(UTC_TIMESTAMP(), INTERVAL 60 DAY) AND UTC_TIMESTAMP()"); Log.Info("Battlefront Manager", "Creating Upper Tier Campaign Manager", ConsoleColor.Cyan); if (RVRProgressionService._RVRProgressions.Count == 0) { Log.Error("RVR Progression", "NO RVR Progressions in DB"); return; } WorldMgr.UpperTierCampaignManager = new UpperTierCampaignManager(RVRProgressionService._RVRProgressions.Where(x => x.Tier == 4).ToList(), WorldMgr._Regions); Log.Info("Battlefront Manager", "Creating Lower Tier Campaign Manager", ConsoleColor.Cyan); WorldMgr.LowerTierCampaignManager = new LowerTierCampaignManager(RVRProgressionService._RVRProgressions.Where(x => x.Tier == 1).ToList(), WorldMgr._Regions); Log.Info("Battlefront Manager", "Getting Progression based upon rvr_progression.LastOpenedZone", ConsoleColor.Cyan); WorldMgr.UpperTierCampaignManager.GetActiveBattleFrontFromProgression(); WorldMgr.LowerTierCampaignManager.GetActiveBattleFrontFromProgression(); Log.Info("Battlefront Manager", "Attaching Campaigns to Regions", ConsoleColor.Cyan); // Attach Battlefronts to regions WorldMgr.AttachCampaignsToRegions(); Log.Info("Battlefront Manager", "Locking Battlefronts", ConsoleColor.Cyan); WorldMgr.UpperTierCampaignManager.LockBattleFrontsAllRegions(4); WorldMgr.LowerTierCampaignManager.LockBattleFrontsAllRegions(1); Log.Info("Battlefront Manager", "Opening Active battlefronts", ConsoleColor.Cyan); WorldMgr.UpperTierCampaignManager.OpenActiveBattlefront(); WorldMgr.LowerTierCampaignManager.OpenActiveBattlefront(); WorldMgr.UpdateRegionCaptureStatus(WorldMgr.LowerTierCampaignManager, WorldMgr.UpperTierCampaignManager); if (!TCPManager.Listen <TCPServer>(Rm.Port, "World")) { ConsoleMgr.WaitAndExit(2000); } Server = TCPManager.GetTcp <TCPServer>("World"); AcctMgr.UpdateRealm(Client.Info, Rm.RealmId); AcctMgr.UpdateRealmCharacters(Rm.RealmId, (uint)CharMgr.Database.GetObjectCount <Character>("Realm=1"), (uint)CharMgr.Database.GetObjectCount <Character>("Realm=2")); ConsoleMgr.Start(); }
static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(onError); Console.CancelKeyPress += new ConsoleCancelEventHandler(OnClose); // Loading all configs files ConfigMgr.LoadConfigs(); Config = ConfigMgr.GetConfig<WorldConfigs>(); // Loading log level from file if (!Log.InitLog(Config.LogLevel, "WorldServer")) ConsoleMgr.WaitAndExit(2000); CharMgr.Database = DBManager.Start(Config.CharacterDatabase.Total(), ConnectionType.DATABASE_MYSQL, "Characters"); if (CharMgr.Database == null) ConsoleMgr.WaitAndExit(2000); WorldMgr.Database = DBManager.Start(Config.WorldDatabase.Total(), ConnectionType.DATABASE_MYSQL, "World"); if (WorldMgr.Database == null) ConsoleMgr.WaitAndExit(2000); AbilityMgr.Database = WorldMgr.Database; Client = new RpcClient("WorldServer-" + Config.RealmId, Config.AccountCacherInfo.RpcLocalIp, 1); if (!Client.Start(Config.AccountCacherInfo.RpcServerIp, Config.AccountCacherInfo.RpcServerPort)) ConsoleMgr.WaitAndExit(2000); Rm = Program.AcctMgr.GetRealm(Config.RealmId); if (Rm == null) { Log.Error("WorldServer", "Realm (" + Config.RealmId + ") not found"); return; } LoaderMgr.Start(); if (!TCPManager.Listen<TCPServer>(Rm.Port, "World")) ConsoleMgr.WaitAndExit(2000); Server = TCPManager.GetTcp<TCPServer>("World"); AcctMgr.UpdateRealm(Client.Info, Rm.RealmId); ConsoleMgr.Start(); }
public void SetBuff(long MSEndTime) { IsBuff = true; EndTime = TCPServer.GetTimeStampMS() + MSEndTime; InitEffect((byte)(MSEndTime / 1000)); }
static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(onError); Console.CancelKeyPress += new ConsoleCancelEventHandler(OnClose); Log.Texte("", "-------------------- WorldServer ---------------------", ConsoleColor.Blue); Log.Texte("", "---Dawn of Reckoning project since 2008-2019 BY LEO228---", ConsoleColor.Red); // Loading all configs files ConfigMgr.LoadConfigs(); Config = ConfigMgr.GetConfig <WorldConfigs>(); // Loading log level from file if (!Log.InitLog(Config.LogLevel, "WorldServer")) { ConsoleMgr.WaitAndExit(2000); } CharMgr.Database = DBManager.Start(Config.CharacterDatabase.Total(), ConnectionType.DATABASE_MYSQL, "Characters"); if (CharMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } WorldMgr.Database = DBManager.Start(Config.WorldDatabase.Total(), ConnectionType.DATABASE_MYSQL, "World"); if (WorldMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } AbilityMgr.Database = WorldMgr.Database; Client = new RpcClient("WorldServer-" + Config.RealmId, Config.AccountCacherInfo.RpcLocalIp, 1); if (!Client.Start(Config.AccountCacherInfo.RpcServerIp, Config.AccountCacherInfo.RpcServerPort)) { ConsoleMgr.WaitAndExit(2000); } Rm = Program.AcctMgr.GetRealm(Config.RealmId); if (Rm == null) { Log.Error("WorldServer", "Realm (" + Config.RealmId + ") not found"); return; } LoaderMgr.Start(); if (!TCPManager.Listen <TCPServer>(Rm.Port, "World")) { ConsoleMgr.WaitAndExit(2000); } Server = TCPManager.GetTcp <TCPServer>("World"); AcctMgr.UpdateRealm(Client.Info, Rm.RealmId); AcctMgr.UpdateRealmCharacters(Rm.RealmId, (uint)CharMgr.Database.GetObjectCount <Character>("Realm=1"), (uint)CharMgr.Database.GetObjectCount <Character>("Realm=2")); ConsoleMgr.Start(); }
static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(onError); Console.CancelKeyPress += new ConsoleCancelEventHandler(OnClose); Log.Texte("", "-------------------------------", ConsoleColor.DarkBlue); Log.Texte("", " _____ _____ ", ConsoleColor.Cyan); Log.Texte("", " /\\ | __ \\ / ____|", ConsoleColor.Cyan); Log.Texte("", " / \\ | |__) | (___ ", ConsoleColor.Cyan); Log.Texte("", " / /\\ \\ | ___/ \\___ \\ ", ConsoleColor.Cyan); Log.Texte("", " / ____ \\| | ____) |", ConsoleColor.Cyan); Log.Texte("", "/_/ \\_\\_| |_____/ Warhammer", ConsoleColor.Cyan); Log.Texte("", "http://AllPrivateServer.com", ConsoleColor.DarkCyan); Log.Texte("", "-------------------------------", ConsoleColor.DarkBlue); // Loading all configs files ConfigMgr.LoadConfigs(); Config = ConfigMgr.GetConfig <WorldConfigs>(); // Loading log level from file if (!Log.InitLog(Config.LogLevel, "WorldServer")) { ConsoleMgr.WaitAndExit(2000); } CharMgr.Database = DBManager.Start(Config.CharacterDatabase.Total(), ConnectionType.DATABASE_MYSQL, "Characters"); if (CharMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } WorldMgr.Database = DBManager.Start(Config.WorldDatabase.Total(), ConnectionType.DATABASE_MYSQL, "World"); if (WorldMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } AbilityMgr.Database = WorldMgr.Database; Client = new RpcClient("WorldServer-" + Config.RealmId, Config.AccountCacherInfo.RpcLocalIp, 1); if (!Client.Start(Config.AccountCacherInfo.RpcServerIp, Config.AccountCacherInfo.RpcServerPort)) { ConsoleMgr.WaitAndExit(2000); } Rm = Program.AcctMgr.GetRealm(Config.RealmId); if (Rm == null) { Log.Error("WorldServer", "Realm (" + Config.RealmId + ") not found"); return; } LoaderMgr.Start(); if (!TCPManager.Listen <TCPServer>(Rm.Port, "World")) { ConsoleMgr.WaitAndExit(2000); } Server = TCPManager.GetTcp <TCPServer>("World"); AcctMgr.UpdateRealm(Client.Info, Rm.RealmId); ConsoleMgr.Start(); }
public void BuildMail(PacketIn packet) { Player Plr = GetPlayer(); if (Plr == null) { return; } if (nextSend >= TCPServer.GetTimeStamp()) { SendResult(GameData.MailResult.TEXT_MAIL_RESULT6); return; } // Recipient read packet.Skip(1); byte NameSize = packet.GetUint8(); string Name = packet.GetString(NameSize); Character Receiver = CharMgr.GetCharacter(Name); if (Receiver == null || Receiver.Realm != (byte)Plr.Realm) { SendResult(GameData.MailResult.TEXT_MAIL_RESULT7); return; } if (Receiver.Name == Plr.Name) // You cannot mail yourself { Plr.SendLocalizeString("", GameData.Localized_text.TEXT_PLAYER_CANT_MAIL_YOURSELF); return; } // Subject byte SubjectSize = packet.GetUint8(); packet.Skip(1); string Subject = packet.GetString(SubjectSize); // Message byte MessageSize = packet.GetUint8(); packet.Skip(1); string Message = packet.GetString(MessageSize); // Money UInt32 money = ByteOperations.ByteSwap.Swap(packet.GetUint32()); // COD? byte cr = packet.GetUint8(); // Item byte itemcounts = packet.GetUint8(); if (!Plr.RemoveMoney((cr == 0 ? money : 0) + MAIL_PRICE)) { SendResult(MailResult.TEXT_MAIL_RESULT8); return; } // Make a Mail Character_mail CMail = new Character_mail(); CMail.Guid = CharMgr.GenerateMailGUID(); CMail.CharacterId = Receiver.CharacterId; CMail.CharacterIdSender = Plr._Info.CharacterId; CMail.SenderName = Plr._Info.Name; CMail.ReceiverName = Name; CMail.SendDate = (uint)TCPManager.GetTimeStamp(); CMail.Title = Subject; CMail.Content = Message; CMail.Money = money; CMail.Cr = true; CMail.Opened = false; Log.Debug("Mail", "Itemcount: " + itemcounts + ""); for (byte i = 0; i < itemcounts; ++i) { UInt16 itmslot = ByteOperations.ByteSwap.Swap(packet.GetUint16()); packet.Skip(2); ByteOperations.ByteSwap.Swap(itmslot); Item itm = Plr.ItmInterface.GetItemInSlot(itmslot); if (itm != null) { CMail.Items.Add(new KeyValuePair <uint, ushort>(itm.Info.Entry, itm.CharItem.Counts)); Plr.ItmInterface.DeleteItem(itmslot, itm.CharItem.Counts, true); itm.Owner = null; } } SendResult(MailResult.TEXT_MAIL_RESULT4); CharMgr.Database.AddObject(CMail); //If player exists let them know they have mail. Player mailToPlayer = Player.GetPlayer(Name); if (mailToPlayer != null) { mailToPlayer.MlInterface.AddMail(CMail); } nextSend = (uint)TCPServer.GetTimeStamp() + 5; }
static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(onError); Console.CancelKeyPress += new ConsoleCancelEventHandler(OnClose); Log.Texte("", "-------------------- World Server ---------------------", ConsoleColor.DarkRed); Log.Texte("", " █ █░ ▄▄▄ ██▀███ ▓█████ ███▄ ▄███▓ █ ██ ", ConsoleColor.Red); Log.Texte("", "▓█░ █ ░█░▒████▄ ▓██ ▒ ██▒▓█ ▀ ▓██▒▀█▀ ██▒ ██ ▓██▒", ConsoleColor.Red); Log.Texte("", "▒█░ █ ░█ ▒██ ▀█▄ ▓██ ░▄█ ▒▒███ ▓██ ▓██░▓██ ▒██░", ConsoleColor.Red); Log.Texte("", "░█░ █ ░█ ░██▄▄▄▄██ ▒██▀▀█▄ ▒▓█ ▄ ▒██ ▒██ ▓▓█ ░██░", ConsoleColor.Red); Log.Texte("", "░░██▒██▓ ▓█ ▓██▒░██▓ ▒██▒░▒████▒▒██▒ ░██▒▒▒█████▓ ", ConsoleColor.Red); Log.Texte("", "░ ▓░▒ ▒ ▒▒ ▓▒█░░ ▒▓ ░▒▓░░░ ▒░ ░░ ▒░ ░ ░░▒▓▒ ▒ ▒ ", ConsoleColor.Red); Log.Texte("", " ▒ ░ ░ ▒ ▒▒ ░ ░▒ ░ ▒░ ░ ░ ░░ ░ ░░░▒░ ░ ░ ", ConsoleColor.Red); Log.Texte("", " ░ ░ ░ ▒ ░░ ░ ░ ░ ░ ░░░ ░ ░ ", ConsoleColor.Red); Log.Texte("", " ░ ░ ░ ░ ░ ░ ░ ░ ", ConsoleColor.Red); Log.Texte("", "-------------------http://WarEmu.com-------------------", ConsoleColor.DarkRed); // Loading all configs files ConfigMgr.LoadConfigs(); Config = ConfigMgr.GetConfig <WorldConfigs>(); // Loading log level from file if (!Log.InitLog(Config.LogLevel, "WorldServer")) { ConsoleMgr.WaitAndExit(2000); } CharMgr.Database = DBManager.Start(Config.CharacterDatabase.Total(), ConnectionType.DATABASE_MYSQL, "Characters"); if (CharMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } WorldMgr.Database = DBManager.Start(Config.WorldDatabase.Total(), ConnectionType.DATABASE_MYSQL, "World"); if (WorldMgr.Database == null) { ConsoleMgr.WaitAndExit(2000); } AbilityMgr.Database = WorldMgr.Database; Client = new RpcClient("WorldServer-" + Config.RealmId, Config.AccountCacherInfo.RpcLocalIp, 1); if (!Client.Start(Config.AccountCacherInfo.RpcServerIp, Config.AccountCacherInfo.RpcServerPort)) { ConsoleMgr.WaitAndExit(2000); } Rm = Program.AcctMgr.GetRealm(Config.RealmId); if (Rm == null) { Log.Error("WorldServer", "Realm (" + Config.RealmId + ") not found"); return; } LoaderMgr.Start(); if (!TCPManager.Listen <TCPServer>(Rm.Port, "World")) { ConsoleMgr.WaitAndExit(2000); } Server = TCPManager.GetTcp <TCPServer>("World"); AcctMgr.UpdateRealm(Client.Info, Rm.RealmId); AcctMgr.UpdateRealmCharacters(Rm.RealmId, (uint)CharMgr.Database.GetObjectCount <Character>("Realm=1"), (uint)CharMgr.Database.GetObjectCount <Character>("Realm=2")); ConsoleMgr.Start(); }