305{
308
311
314
319
322
325
328
330 {
341 {
342 LOG_ERROR(
"server.loading",
"Failed to find map files for starting areas");
343 exit(1);
344 }
345 }
346
349
352
355 LOG_INFO(
"server.loading",
"Loading Acore Strings...");
357 exit(1);
358
359 LOG_INFO(
"server.loading",
"Loading Module Strings...");
361 LOG_INFO(
"server.loading",
"Loading Module Strings Locale...");
363
365
366
367
371 else
373
375
376 LoginDatabase.Execute(
"UPDATE realmlist SET icon = {}, timezone = {} WHERE id = '{}'", server_type, realm_zone,
realm.
Id.
Realm);
377
380
382 LOG_INFO(
"server.loading",
"Initialize Data Stores...");
385
386
388
389 LOG_INFO(
"server.loading",
"Loading Player race data...");
391
392
394
395 std::vector<uint32> mapIds;
397 {
398 mapIds.emplace_back(map->MapID);
399 }
400
402
405
406 LOG_INFO(
"server.loading",
"Loading Game Graveyard...");
408
409 LOG_INFO(
"server.loading",
"Initializing PlayerDump Tables...");
411
414
415 LOG_INFO(
"server.loading",
"Loading SpellInfo Store...");
417
418 LOG_INFO(
"server.loading",
"Loading Spell Cooldown Overrides...");
420
421 LOG_INFO(
"server.loading",
"Loading SpellInfo Data Corrections...");
423
424 LOG_INFO(
"server.loading",
"Loading Spell Rank Data...");
426
427 LOG_INFO(
"server.loading",
"Loading Spell Specific And Aura State...");
428 sSpellMgr->LoadSpellSpecificAndAuraState();
429
430 LOG_INFO(
"server.loading",
"Loading SkillLineAbilityMultiMap Data...");
432
433 LOG_INFO(
"server.loading",
"Loading SpellInfo Custom Attributes...");
434 sSpellMgr->LoadSpellInfoCustomAttributes();
435
436 LOG_INFO(
"server.loading",
"Loading Player Totem models...");
438
439 LOG_INFO(
"server.loading",
"Loading Player Shapeshift models...");
441
442 LOG_INFO(
"server.loading",
"Loading GameObject Models...");
444
445 LOG_INFO(
"server.loading",
"Loading Script Names...");
447
448 LOG_INFO(
"server.loading",
"Loading Instance Template...");
450
451 LOG_INFO(
"server.loading",
"Loading Character Cache...");
453
454
455 LOG_INFO(
"server.loading",
"Loading Instances...");
457
458 LOG_INFO(
"server.loading",
"Loading Broadcast Texts...");
461
462 LOG_INFO(
"server.loading",
"Loading Localization Strings...");
476
480
481 LOG_INFO(
"server.loading",
"Loading Page Texts...");
483
484 LOG_INFO(
"server.loading",
"Loading Game Object Templates...");
486
487 LOG_INFO(
"server.loading",
"Loading Game Object Template Addons...");
489
490 LOG_INFO(
"server.loading",
"Loading Transport Templates...");
492
493 LOG_INFO(
"server.loading",
"Loading Spell Required Data...");
495
496 LOG_INFO(
"server.loading",
"Loading Spell Group Types...");
498
499 LOG_INFO(
"server.loading",
"Loading Spell Learn Skills...");
501
502 LOG_INFO(
"server.loading",
"Loading Spell Proc Conditions and Data...");
504
505 LOG_INFO(
"server.loading",
"Loading Spell Bonus Data...");
507
508 LOG_INFO(
"server.loading",
"Loading Aggro Spells Definitions...");
510
511 LOG_INFO(
"server.loading",
"Loading Mixology Bonuses...");
513
514 LOG_INFO(
"server.loading",
"Loading Spell Group Stack Rules...");
516
517 LOG_INFO(
"server.loading",
"Loading NPC Texts...");
519
520 LOG_INFO(
"server.loading",
"Loading Enchant Spells Proc Datas...");
522
523 LOG_INFO(
"server.loading",
"Loading Item Random Enchantments Table...");
525
526 LOG_INFO(
"server.loading",
"Loading Disables");
528
529 LOG_INFO(
"server.loading",
"Loading Items...");
531
532 LOG_INFO(
"server.loading",
"Loading Item Set Names...");
534
535 LOG_INFO(
"server.loading",
"Loading Creature Model Based Info Data...");
537
538 LOG_INFO(
"server.loading",
"Loading Creature Custom IDs Config...");
540
541 LOG_INFO(
"server.loading",
"Loading Creature Templates...");
543
544 LOG_INFO(
"server.loading",
"Loading Equipment Templates...");
546
547 LOG_INFO(
"server.loading",
"Loading Creature Template Addons...");
549
550 LOG_INFO(
"server.loading",
"Loading Reputation Reward Rates...");
552
553 LOG_INFO(
"server.loading",
"Loading Creature Reputation OnKill Data...");
555
556 LOG_INFO(
"server.loading",
"Loading Reputation Spillover Data..." );
557 sObjectMgr->LoadReputationSpilloverTemplate();
558
559 LOG_INFO(
"server.loading",
"Loading Points Of Interest Data...");
561
562 LOG_INFO(
"server.loading",
"Loading Creature Base Stats...");
564
565 LOG_INFO(
"server.loading",
"Loading Creature Data...");
567
568 LOG_INFO(
"server.loading",
"Loading Creature sparring...");
570
571 LOG_INFO(
"server.loading",
"Loading Temporary Summon Data...");
573
574 LOG_INFO(
"server.loading",
"Loading Gameobject Summon Data...");
576
577 LOG_INFO(
"server.loading",
"Loading Pet Levelup Spells...");
579
580 LOG_INFO(
"server.loading",
"Loading Pet default Spells additional to Levelup Spells...");
582
583 LOG_INFO(
"server.loading",
"Loading Creature Addon Data...");
585
586 LOG_INFO(
"server.loading",
"Loading Creature Movement Overrides...");
588
589 LOG_INFO(
"server.loading",
"Loading Gameobject Data...");
591
592 LOG_INFO(
"server.loading",
"Loading GameObject Addon Data...");
594
595 LOG_INFO(
"server.loading",
"Loading GameObject Quest Items...");
597
598 LOG_INFO(
"server.loading",
"Loading Creature Quest Items...");
600
601 LOG_INFO(
"server.loading",
"Loading Creature Linked Respawn...");
603
604 LOG_INFO(
"server.loading",
"Loading Weather Data...");
606
607 LOG_INFO(
"server.loading",
"Loading Quests...");
609
610 LOG_INFO(
"server.loading",
"Checking Quest Disables");
612
613 LOG_INFO(
"server.loading",
"Loading Quest POI");
615
616 LOG_INFO(
"server.loading",
"Loading Quests Starters and Enders...");
618
619 LOG_INFO(
"server.loading",
"Loading Quest Greetings...");
621 LOG_INFO(
"server.loading",
"Loading Quest Greeting Locales...");
623
624 LOG_INFO(
"server.loading",
"Loading Quest Money Rewards...");
626
627 LOG_INFO(
"server.loading",
"Loading Objects Pooling Data...");
629
630 LOG_INFO(
"server.loading",
"Loading Game Event Data...");
633
634 LOG_INFO(
"server.loading",
"Loading UNIT_NPC_FLAG_SPELLCLICK Data...");
636
637 LOG_INFO(
"server.loading",
"Loading Vehicle Template Accessories...");
639
640 LOG_INFO(
"server.loading",
"Loading Vehicle Accessories...");
642
643 LOG_INFO(
"server.loading",
"Loading Vehicle Seat Addon Data...");
645
646 LOG_INFO(
"server.loading",
"Loading SpellArea Data...");
648
649 LOG_INFO(
"server.loading",
"Loading Area Trigger Definitions");
651
652 LOG_INFO(
"server.loading",
"Loading Area Trigger Teleport Definitions...");
654
655 LOG_INFO(
"server.loading",
"Loading Access Requirements...");
657
658 LOG_INFO(
"server.loading",
"Loading Quest Area Triggers...");
660
661 LOG_INFO(
"server.loading",
"Loading Tavern Area Triggers...");
663
664 LOG_INFO(
"server.loading",
"Loading AreaTrigger Script Names...");
666
667 LOG_INFO(
"server.loading",
"Loading LFG Entrance Positions...");
669
670 LOG_INFO(
"server.loading",
"Loading Dungeon Boss Data...");
672
673 LOG_INFO(
"server.loading",
"Loading LFG Rewards...");
675
676 LOG_INFO(
"server.loading",
"Loading Graveyard-Zone Links...");
678
679 LOG_INFO(
"server.loading",
"Loading Spell Pet Auras...");
681
682 LOG_INFO(
"server.loading",
"Loading Spell Target Coordinates...");
684
685 LOG_INFO(
"server.loading",
"Loading Enchant Custom Attributes...");
687
688 LOG_INFO(
"server.loading",
"Loading linked Spells...");
690
691 LOG_INFO(
"server.loading",
"Loading Player Create Data...");
693
694 LOG_INFO(
"server.loading",
"Loading Exploration BaseXP Data...");
696
697 LOG_INFO(
"server.loading",
"Loading Pet Name Parts...");
699
701
702 LOG_INFO(
"server.loading",
"Loading The Max Pet Number...");
704
705 LOG_INFO(
"server.loading",
"Loading Pet Level Stats...");
707
708 LOG_INFO(
"server.loading",
"Loading Player Level Dependent Mail Rewards...");
710
711 LOG_INFO(
"server.loading",
"Load Mail Server definitions...");
713
714
716
717 LOG_INFO(
"server.loading",
"Loading Skill Discovery Table...");
719
720 LOG_INFO(
"server.loading",
"Loading Skill Extra Item Table...");
722
723 LOG_INFO(
"server.loading",
"Loading Skill Perfection Data Table...");
725
726 LOG_INFO(
"server.loading",
"Loading Skill Fishing Base Level Requirements...");
728
729 LOG_INFO(
"server.loading",
"Loading Achievements...");
731 LOG_INFO(
"server.loading",
"Loading Achievement Criteria Lists...");
733 LOG_INFO(
"server.loading",
"Loading Achievement Criteria Data...");
735 LOG_INFO(
"server.loading",
"Loading Achievement Rewards...");
737 LOG_INFO(
"server.loading",
"Loading Achievement Reward Locales...");
739 LOG_INFO(
"server.loading",
"Loading Completed Achievements...");
741
743 LOG_INFO(
"server.loading",
"Loading Item Auctions...");
745 LOG_INFO(
"server.loading",
"Loading Auctions...");
747
749
750 LOG_INFO(
"server.loading",
"Loading ArenaTeams...");
752
753 LOG_INFO(
"server.loading",
"Loading Groups...");
755
756 LOG_INFO(
"server.loading",
"Loading Reserved Names...");
759
760 LOG_INFO(
"server.loading",
"Loading Profanity Names...");
763
764 LOG_INFO(
"server.loading",
"Loading GameObjects for Quests...");
766
767 LOG_INFO(
"server.loading",
"Loading BattleMasters...");
769
770 LOG_INFO(
"server.loading",
"Loading GameTeleports...");
772
773 LOG_INFO(
"server.loading",
"Loading Trainers...");
775
776 LOG_INFO(
"server.loading",
"Loading Creature default trainers...");
778
779 LOG_INFO(
"server.loading",
"Loading Gossip Menu...");
781
782 LOG_INFO(
"server.loading",
"Loading Gossip Menu Options...");
784
785 LOG_INFO(
"server.loading",
"Loading Vendors...");
787
788 LOG_INFO(
"server.loading",
"Loading Waypoints...");
790
791 LOG_INFO(
"server.loading",
"Loading SmartAI Waypoints...");
793
794 LOG_INFO(
"server.loading",
"Loading Creature Formations...");
796
797 LOG_INFO(
"server.loading",
"Loading WorldStates...");
799
800 LOG_INFO(
"server.loading",
"Loading Conditions...");
802
803 LOG_INFO(
"server.loading",
"Loading Faction Change Achievement Pairs...");
805
806 LOG_INFO(
"server.loading",
"Loading Faction Change Spell Pairs...");
808
809 LOG_INFO(
"server.loading",
"Loading Faction Change Item Pairs...");
811
812 LOG_INFO(
"server.loading",
"Loading Faction Change Reputation Pairs...");
814
815 LOG_INFO(
"server.loading",
"Loading Faction Change Title Pairs...");
817
818 LOG_INFO(
"server.loading",
"Loading Faction Change Quest Pairs...");
820
821 LOG_INFO(
"server.loading",
"Loading GM Tickets...");
823
824 LOG_INFO(
"server.loading",
"Loading GM Surveys...");
826
827 LOG_INFO(
"server.loading",
"Loading Client Addons...");
829
830
831 LOG_INFO(
"server.loading",
"Deleting Invalid Mail Items...");
833 CharacterDatabase.Execute(
"DELETE mi FROM mail_items mi LEFT JOIN item_instance ii ON mi.item_guid = ii.guid WHERE ii.guid IS NULL");
834 CharacterDatabase.Execute(
"DELETE mi FROM mail_items mi LEFT JOIN mail m ON mi.mail_id = m.id WHERE m.id IS NULL");
835 CharacterDatabase.Execute(
"UPDATE mail m LEFT JOIN mail_items mi ON m.id = mi.mail_id SET m.has_items=0 WHERE m.has_items<>0 AND mi.mail_id IS NULL");
836
838 LOG_INFO(
"server.loading",
"Returning Old Mails...");
841
843 LOG_INFO(
"server.loading",
"Loading Autobroadcasts...");
846
848 LOG_INFO(
"server.loading",
"Loading Motd...");
850
855
856 LOG_INFO(
"server.loading",
"Loading Spell Script Names...");
858
859 LOG_INFO(
"server.loading",
"Loading Creature Texts...");
861
862 LOG_INFO(
"server.loading",
"Loading Creature Text Locales...");
864
865 LOG_INFO(
"server.loading",
"Loading Scripts...");
867
868 LOG_INFO(
"server.loading",
"Validating Spell Scripts...");
870
871 LOG_INFO(
"server.loading",
"Loading SmartAI Scripts...");
873
874 LOG_INFO(
"server.loading",
"Loading Calendar Data...");
876
877 LOG_INFO(
"server.loading",
"Initializing SpellInfo Precomputed Data...");
879 sObjectMgr->InitializeSpellInfoPrecomputedData();
880
881 LOG_INFO(
"server.loading",
"Initialize Commands...");
883
885 LOG_INFO(
"server.loading",
"Initialize Game Time and Timers");
887
893
895
896
898
900
902
903
905
907
909
911 LOG_INFO(
"server.loading",
"Starting Map System");
914
915 LOG_INFO(
"server.loading",
"Starting Game Event system...");
919
920 LOG_INFO(
"server.loading",
"Loading WorldState...");
922
923
925
926
928
929
931
932 LOG_INFO(
"server.loading",
"Initializing Opcodes...");
934
935 LOG_INFO(
"server.loading",
"Loading Arena Season Rewards...");
937 LOG_INFO(
"server.loading",
"Loading Active Arena Season...");
939
941
943 LOG_INFO(
"server.loading",
"Starting Battleground System");
946
948 LOG_INFO(
"server.loading",
"Starting Outdoor PvP System");
950
952 LOG_INFO(
"server.loading",
"Starting Battlefield System");
954
955 LOG_INFO(
"server.loading",
"Loading Transports...");
957
959 LOG_INFO(
"server.loading",
"Loading Warden Checks..." );
961
962 LOG_INFO(
"server.loading",
"Loading Warden Action Overrides..." );
964
965 LOG_INFO(
"server.loading",
"Deleting Expired Bans...");
966 LoginDatabase.Execute(
"DELETE FROM ip_banned WHERE unbandate <= UNIX_TIMESTAMP() AND unbandate<>bandate");
967
968 LOG_INFO(
"server.loading",
"Calculate Next Daily Quest Reset Time...");
970
971 LOG_INFO(
"server.loading",
"Calculate Next Weekly Quest Reset Time..." );
973
974 LOG_INFO(
"server.loading",
"Calculate Next Monthly Quest Reset Time...");
976
977 LOG_INFO(
"server.loading",
"Calculate Random Battleground Reset Time..." );
979
980 LOG_INFO(
"server.loading",
"Calculate Deletion Of Old Calendar Events Time...");
982
983 LOG_INFO(
"server.loading",
"Calculate Guild Cap Reset Time...");
986
987 LOG_INFO(
"server.loading",
"Load Petitions...");
989
990 LOG_INFO(
"server.loading",
"Load Petition Signs...");
992
993 LOG_INFO(
"server.loading",
"Load Stored Loot Items...");
995
996 LOG_INFO(
"server.loading",
"Load Channel Rights...");
998
999 LOG_INFO(
"server.loading",
"Load Channels...");
1001
1002 LOG_INFO(
"server.loading",
"Loading AntiDos opcode policies");
1004
1006
1008 {
1009 LOG_INFO(
"server.loading",
"Loading All Grids For All Non-Instanced Maps...");
1010
1012 {
1014
1016 {
1017 if (
sMapMgr->GetMapUpdater()->activated())
1018 sMapMgr->GetMapUpdater()->schedule_map_preload(mapEntry->
MapID);
1019 else
1020 {
1022
1023 if (map)
1024 {
1025 LOG_INFO(
"server.loading",
">> Loading All Grids For Map {}", map->
GetId());
1027 }
1028 }
1029 }
1030 }
1031
1032 if (
sMapMgr->GetMapUpdater()->activated())
1033 sMapMgr->GetMapUpdater()->wait();
1034 }
1035
1037
1039 LOG_INFO(
"server.loading",
"WORLD: World Initialized In {} Minutes {} Seconds", (startupDuration / 60000), ((startupDuration % 60000) / 1000));
1041
1042 METRIC_EVENT(
"events",
"World initialized",
"World Initialized In " + std::to_string(startupDuration / 60000) +
" Minutes " + std::to_string((startupDuration % 60000) / 1000) +
" Seconds");
1043
1045 {
1047 LOG_INFO(
"server.loading",
"AzerothCore Dry Run Completed, Terminating.");
1048 exit(0);
1049 }
1050}
#define sAchievementMgr
Definition AchievementMgr.h:451
@ MAP_OUTLAND
Definition AreaDefines.h:217
@ MAP_KALIMDOR
Definition AreaDefines.h:187
@ MAP_EASTERN_KINGDOMS
Definition AreaDefines.h:186
#define sArenaSeasonMgr
Definition ArenaSeasonMgr.h:124
#define sArenaTeamMgr
Definition ArenaTeamMgr.h:69
#define sAuctionMgr
Definition AuctionHouseMgr.h:224
#define sAutobroadcastMgr
Definition AutobroadcastMgr.h:54
#define sBattlefieldMgr
Definition BattlefieldMgr.h:77
#define sBattlegroundMgr
Definition BattlegroundMgr.h:187
#define sCharacterCache
Definition CharacterCache.h:83
#define sConditionMgr
Definition ConditionMgr.h:292
#define sFormationMgr
Definition CreatureGroups.h:128
#define sCreatureTextMgr
Definition CreatureTextMgr.h:110
uint32 GetLiquidFlags(uint32 liquidType)
Definition DBCStores.cpp:834
DBCStorage< MapEntry > sMapStore(MapEntryfmt)
void LoadDBCStores(const std::string &dataPath)
Definition DBCStores.cpp:261
#define sDisableMgr
Definition DisableMgr.h:88
#define sGraveyard
Definition GameGraveyard.h:74
void LoadGameObjectModelList(std::string const &dataPath)
Definition GameObjectModel.cpp:45
#define sGroupMgr
Definition GroupMgr.h:51
#define sIPLocation
Definition IPLocation.h:49
#define sInstanceSaveMgr
Definition InstanceSaveMgr.h:202
void LoadRandomEnchantmentsTable()
Definition ItemEnchantmentMgr.cpp:47
#define sLFGMgr
Definition LFGMgr.h:658
@ LOGIN_INS_UPTIME
Definition LoginDatabase.h:127
#define sLootItemStorage
Definition LootItemStorage.h:73
void LoadLootTables()
Definition LootMgr.h:443
void LoadM2Cameras(std::string const &dataPath)
Definition M2Stores.cpp:173
void dtCustomFree(void *ptr)
Definition MMapMgr.h:34
void * dtCustomAlloc(std::size_t size, dtAllocHint)
Definition MMapMgr.h:29
#define METRIC_EVENT(category, title, description)
Definition Metric.h:189
#define sMotdMgr
Definition MotdMgr.h:52
#define sObjectMgr
Definition ObjectMgr.h:1699
#define sOutdoorPvPMgr
Definition OutdoorPvPMgr.h:102
#define sPetitionMgr
Definition PetitionMgr.h:104
#define sRaceMgr
Definition RaceMgr.h:52
#define sServerMailMgr
Definition ServerMailMgr.h:231
void LoadSkillDiscoveryTable()
Definition SkillDiscovery.cpp:46
#define sSmartWaypointMgr
Definition SmartScriptMgr.h:2262
#define sSmartScriptMgr
Definition SmartScriptMgr.h:2261
#define sSpellMgr
Definition SpellMgr.h:814
#define sTicketMgr
Definition TicketMgr.h:260
uint32 GetMSTimeDiffToNow(uint32 oldMSTime)
Definition Timer.h:131
uint32 getMSTime()
Definition Timer.h:103
#define sTransportMgr
Definition TransportMgr.h:165
#define sWardenCheckMgr
Definition WardenCheckMgr.h:89
#define sWaypointMgr
Definition WaypointMgr.h:79
@ CONFIG_PRELOAD_ALL_NON_INSTANCED_MAP_GRIDS
Definition WorldConfig.h:118
@ CONFIG_REALM_ZONE
Definition WorldConfig.h:174
@ CONFIG_EXPANSION
Definition WorldConfig.h:230
@ CONFIG_DB_PING_INTERVAL
Definition WorldConfig.h:320
#define sWorldGlobals
Definition WorldGlobals.h:42
static void LoadChannelRights()
Definition ChannelMgr.cpp:166
static void LoadChannels()
Definition ChannelMgr.cpp:50
static void CleanOldChannelsInDB()
Definition Channel.cpp:140
static bool IsVMAPDisabledFor(uint32 entry, uint8 flags)
Definition DisableMgr.cpp:441
static MMapMgr * createOrGetMMapMgr()
Definition MMapFactory.cpp:27
void InitializeThreadUnsafe(const std::vector< uint32 > &mapIds)
Definition MMapMgr.cpp:38
static bool ExistMapAndVMap(uint32 mapid, float x, float y)
Definition MapMgr.cpp:305
void LoadAllGrids()
Definition Map.cpp:219
uint32 GetId() const
Definition Map.h:229
static void InitializeTables()
Definition PlayerDump.cpp:253
static void DeleteOldCharacters()
Definition Player.cpp:4255
static void DeleteOldRecoveryItems()
Definition Player.cpp:4290
IsVMAPDisabledForFn IsVMAPDisabledForPtr
Definition VMapMgr2.h:135
void InitializeThreadUnsafe(const std::vector< uint32 > &mapIds)
Definition VMapMgr2.cpp:54
GetLiquidFlagsFn GetLiquidFlagsPtr
Definition VMapMgr2.h:132
bool IsFFAPvPRealm() const override
Definition World.cpp:1817
void LoadConfigSettings(bool reload=false) override
Initialize config values.
Definition World.cpp:165
void InitCalendarOldEventsDeletionTime()
Definition World.cpp:1641
void InitDailyQuestResetTime()
Definition World.cpp:1608
void LoadDBAllowedSecurityLevel() override
Definition World.cpp:1680
void DetectDBCLang()
Definition World.cpp:1052
void InitGuildResetTime()
Definition World.cpp:1652
void InitRandomBGResetTime()
Definition World.cpp:1630
void InitWeeklyQuestResetTime()
Definition World.cpp:1597
void InitMonthlyQuestResetTime()
Definition World.cpp:1619
OpcodeTable opcodeTable
Definition Opcodes.cpp:51
void Initialize()
Correspondence between opcodes and their names.
Definition Opcodes.cpp:123
void LoadWeatherData()
Definition WeatherMgr.cpp:44
@ WUPDATE_PINGDB
Definition World.h:66
@ WUPDATE_WHO_LIST
Definition World.h:68
void Initialize()
Definition CreatureAIRegistry.cpp:34
AC_GAME_API void LoadCommandMap()
Definition ChatCommand.cpp:530
void LoadFromDB()
Definition AddonMgr.cpp:39
void CleanDatabase()
Definition CharacterDatabaseCleaner.cpp:27
Seconds GetStartTime()
Definition GameTime.cpp:33
AC_COMMON_API char const * GetFullVersion()
Definition GitRevision.cpp:82
Definition DBCStructure.h:1325
uint32 MapID
Definition DBCStructure.h:1326
bool Instanceable() const
Definition DBCStructure.h:1353