Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Log.Message(LogType.INIT, "___________________________________________");
            Log.Message(LogType.INIT, "    __                                     ");
            Log.Message(LogType.INIT, "    / |                     ,              ");
            Log.Message(LogType.INIT, "---/__|---)__----__--_/_--------------_--_-");
            Log.Message(LogType.INIT, "  /   |  /   ) /   ' /    /   /   /  / /  )");
            Log.Message(LogType.INIT, "_/____|_/_____(___ _(_ __/___(___(__/_/__/_");
            Log.Message(LogType.INIT, "___________________________________________");
            Log.Message();

            Log.Message(LogType.NORMAL, "Starting Arctium WorldServer...");

            DB.Characters.Init(WorldConfig.CharDBHost, WorldConfig.CharDBUser, WorldConfig.CharDBPassword, WorldConfig.CharDBDataBase, WorldConfig.CharDBPort);
            DB.Realms.Init(RealmConfig.RealmDBHost, RealmConfig.RealmDBUser, RealmConfig.RealmDBPassword, RealmConfig.RealmDBDataBase, RealmConfig.RealmDBPort);
            DB.World.Init(WorldConfig.WorldDBHost, WorldConfig.WorldDBUser, WorldConfig.WorldDBPassword, WorldConfig.WorldDBDataBase, WorldConfig.WorldDBPort);
            Log.Message();

            DBCLoader.Init();
            DB2Loader.Init();

            Globals.InitializeManager();

            WorldClass.world = new WorldNetwork();

            if (WorldClass.world.Start("127.0.0.1", 8100))
            {
                WorldClass.world.AcceptConnectionThread();
                Log.Message(LogType.NORMAL, "WorldServer listening on {0} port {1}.", "127.0.0.1", 8100);
                Log.Message(LogType.NORMAL, "WorldServer successfully started!");

                PacketManager.DefineOpcodeHandler();
                ChatCommandParser.DefineChatCommands();
            }
            else
            {
                Log.Message(LogType.ERROR, "Server couldn't be started: ");
            }

            // Free memory...
            GC.Collect();
            Log.Message(LogType.NORMAL, "Total Memory: {0} Kilobytes", GC.GetTotalMemory(false) / 1024);

            // Init Command handlers...
            CommandDefinitions.Initialize();
            CommandManager.InitCommands();
        }
Ejemplo n.º 2
0
        public void InitDBLoads()
        {
            Cypher.ObjMgr.SetHighestGuids();

            Log.outInfo("Loading Activation Class/Races...");
            Cypher.ObjMgr.LoadActivationClassRaces();

            Log.outInfo("Loading Cypher Strings...");
            Cypher.ObjMgr.LoadCypherStrings();

            Log.outInfo("Initialize data stores...");
            DBCLoader.Init();
            DB2Loader.Init();

            //SpellMgr.LoadSpellDifficulty();

            Log.outInfo("Loading SpellInfo Storage...");
            Cypher.SpellMgr.LoadSpellInfoStore();
            Log.outInfo("Loading SkillLineAbility Data...");
            Cypher.SpellMgr.LoadSkillLineAbilityStore();
            Log.outInfo("Loading Spell Rank Data...");
            Cypher.SpellMgr.LoadSpellRanks();
            Log.outInfo("Loading Spell Learn Skills...");
            Cypher.SpellMgr.LoadSpellLearnSkills();
            Log.outInfo("Loading Spell Learn Spells...");
            Cypher.SpellMgr.LoadSpellLearnSpells();

            Log.outInfo("Loading Instance Template...");
            Cypher.ObjMgr.LoadInstanceTemplate();

            //Items
            Log.outInfo("Loading Items...");                         // must be after LoadRandomEnchantmentsTable and LoadPageTexts
            Cypher.ObjMgr.LoadItemTemplates();

            //Creature
            Log.outInfo("Loading Creature Model Based Info Data...");
            Cypher.ObjMgr.LoadCreatureModelInfo();

            Log.outInfo("Loading Creature templates...");
            Cypher.ObjMgr.LoadCreatureTemplates();

            Log.outInfo("Loading Equipment templates...");
            Cypher.ObjMgr.LoadEquipmentTemplates();

            Log.outInfo("Loading Creature template addons...");
            Cypher.ObjMgr.LoadCreatureTemplateAddons();

            //Log.outInfo("Loading Creature Reputation OnKill Data...");
            //ObjMgr.LoadReputationOnKill();

            Log.outInfo("Loading Creature Base Stats...");
            Cypher.ObjMgr.LoadCreatureClassLevelStats();

            Log.outInfo("Loading Creature Data...");
            Cypher.ObjMgr.LoadCreatures();

            Log.outInfo("Loading Creature Addon Data...");
            Cypher.ObjMgr.LoadCreatureAddons();

            //Log.outInfo("Loading Creature Linked Respawn...");
            //ObjMgr.LoadLinkedRespawn();                             // must be after LoadCreatures(), LoadGameObjects()

            //Log.outInfo("Loading Npc Trainers...");
            //ObjMgr.LoadTrainerSpell();

            //Log.outInfo("Loading Vendors...");
            //ObjMgr.LoadVendors();                                   // must be after load CreatureTemplate and ItemTemplate

            //Gameobjects
            Log.outInfo("Loading GameObject Template...");
            Cypher.ObjMgr.LoadGameObjectTemplate();
            Log.outInfo("Loading GameObjects...");
            Cypher.ObjMgr.LoadGameobjects();

            //Guilds
            Log.outInfo("Loading Guilds...");
            Cypher.GuildMgr.LoadGuilds();

            Log.outInfo("Loading Player Create Data...");
            Cypher.ObjMgr.LoadPlayerInfo();

            Log.outInfo("Loading client addons...");
            Addon.LoadFromDB();
        }