void ZoneServerImplementation::initialize() { serverState = LOADING; loadGalaxyName(); processor = new ZoneProcessServer(_this.getReferenceUnsafeStaticCast()); processor->deploy("ZoneProcessServer"); processor->initialize(); zones = new VectorMap<String, ManagedReference<Zone*> >(); objectManager = ObjectManager::instance(); objectManager->setZoneProcessor(processor); objectManager->updateObjectVersion(); stringIdManager = StringIdManager::instance(); reactionManager = new ReactionManager(_this.getReferenceUnsafeStaticCast()); reactionManager->loadLuaConfig(); creatureTemplateManager = CreatureTemplateManager::instance(); creatureTemplateManager->loadTemplates(); dnaManager = DnaManager::instance(); dnaManager->loadSampleData(); phandler = new BasePacketHandler("ZoneServer", zoneHandler); phandler->setLogging(false); info("Initializing chat manager...", true); chatManager = new ChatManager(_this.getReferenceUnsafeStaticCast(), 10000); chatManager->deploy("ChatManager"); chatManager->initiateRooms(); playerManager = new PlayerManager(_this.getReferenceUnsafeStaticCast(), processor); playerManager->deploy("PlayerManager"); chatManager->setPlayerManager(playerManager); craftingManager = new CraftingManager(); craftingManager->deploy("CraftingManager"); craftingManager->setZoneProcessor(processor); craftingManager->initialize(); lootManager = new LootManager(craftingManager, objectManager, _this.getReferenceUnsafeStaticCast()); lootManager->deploy("LootManager"); lootManager->initialize(); resourceManager = new ResourceManager(_this.getReferenceUnsafeStaticCast(), processor, objectManager); resourceManager->deploy("ResourceManager"); cityManager = new CityManager(_this.getReferenceUnsafeStaticCast()); cityManager->deploy("CityManager"); cityManager->loadLuaConfig(); auctionManager = new AuctionManager(_this.getReferenceUnsafeStaticCast()); auctionManager->deploy(); missionManager = new MissionManager(_this.getReferenceUnsafeStaticCast(), processor); missionManager->deploy("MissionManager"); petManager = new PetManager(_this.getReferenceUnsafeStaticCast()); petManager->initialize(); startZones(); startManagers(); //serverState = LOCKED; serverState = ONLINE; //Test Center does not need to apply this change, but would be convenient for Dev Servers. ObjectDatabaseManager::instance()->commitLocalTransaction(); }