38#include <unordered_map>
535 using Print = void(*)(
void*, std::string_view);
562 static World* instance();
568 void AddInstanceSocket(std::weak_ptr<WorldSocket> sock,
uint64 connectToKey);
569 void SendAutoBroadcast();
570 bool RemoveSession(
uint32 id);
572 void UpdateMaxSessionCounters();
587 m_MaxPlayerCount = std::max(m_MaxPlayerCount, m_PlayerCount);
594 bool IsClosed()
const;
597 void SetClosed(
bool val);
602 void LoadDBAllowedSecurityLevel();
609 typedef std::list<WorldSession*>
Queue;
622 void SetMotd(std::string motd);
624 std::vector<std::string>
const& GetMotd()
const;
645 return lvl > 60 ? 300 + ((lvl - 60) * 75) / 10 : lvl * 5;
648 bool SetInitialWorldSettings();
649 void LoadConfigSettings(
bool reload =
false);
651 void SendWorldText(
uint32 string_id, ...);
652 void SendGlobalText(
char const* text,
WorldSession* self);
653 void SendGMText(
uint32 string_id, ...);
654 void SendServerMessage(
ServerMessageType messageID, std::string_view stringParam = {},
Player const* player =
nullptr);
663 void ShutdownServ(
uint32 time,
uint32 options,
uint8 exitcode,
const std::string& reason = std::string());
665 void ShutdownMsg(
bool show =
false,
Player* player =
nullptr,
const std::string& reason = std::string());
667 static void StopNow(
uint8 exitcode) { m_stopEvent =
true; m_ExitCode = exitcode; }
672 void UpdateSessions(
uint32 diff);
682 m_bool_configs[index] = value;
695 m_float_configs[index] = value;
708 m_int_configs[index] = value;
734 void LoadPersistentWorldVariables();
737 bool IsPvPRealm()
const;
738 bool IsFFAPvPRealm()
const;
742 BanReturn BanAccount(
BanMode mode, std::string
const& nameOrIP, std::string
const& duration, std::string
const& reason, std::string
const& author);
743 BanReturn BanAccount(
BanMode mode, std::string
const& nameOrIP,
uint32 duration_secs, std::string
const& reason, std::string
const& author);
744 bool RemoveBanAccount(
BanMode mode, std::string
const& nameOrIP);
745 BanReturn BanCharacter(std::string
const& name, std::string
const& duration, std::string
const& reason, std::string
const& author);
746 bool RemoveBanCharacter(std::string
const& name);
748 void ProcessCliCommands();
751 void ForceGameEventUpdate();
753 void UpdateRealmCharCount(
uint32 accountId);
758 void LoadDBVersion();
761 void LoadAutobroadcasts();
763 void UpdateAreaDependentAuras();
765 bool IsBattlePetJournalLockAcquired(
ObjectGuid battlenetAccountGuid);
769 void ResetEventSeasonalQuests(
uint16 event_id, time_t eventStartTime);
773 void RemoveOldCorpses();
774 void TriggerGuidWarning();
775 void TriggerGuidAlert();
780 void SetForcedWarModeFactionBalanceState(
TeamId team,
int32 reward = 0);
781 void DisableForcedWarModeFactionBalanceState();
786 std::variant<int32, float, bool>
Value;
795 void _UpdateGameTime();
800 void InitQuestResetTimes();
801 void CheckScheduledResetTimes();
802 void InitCurrencyResetTime();
804 void ResetWeeklyQuests();
805 void ResetMonthlyQuests();
807 void InitRandomBGResetTime();
808 void InitCalendarOldEventsDeletionTime();
809 void InitGuildResetTime();
810 void ResetRandomBG();
811 void CalendarDeleteOldEvents();
812 void ResetGuildCap();
813 void ResetCurrencyWeekCap();
889 void ProcessQueryCallbacks();
891 void SendGuidWarning();
892 void DoGuidWarningRestart();
893 void DoGuidAlertRestart();
909 void UpdateWarModeRewardValues();
916#define sWorld World::instance()
std::shared_ptr< PreparedResultSet > PreparedQueryResult
std::optional< T > Optional
Optional helper class to wrap optional values within.
BanReturn
Ban function return codes.
BanMode
Ban function modes.
Player session in the World.
time_t m_NextWeeklyQuestReset
uint32 getIntConfig(WorldIntConfigs index) const
Get a server configuration element (see #WorldConfigs)
LocaleConstant m_defaultDbcLocale
static uint8 GetExitCode()
static std::atomic< uint32 > m_worldLoopCounter
uint32 GetCleaningFlags() const
AccountTypes m_allowedSecurityLevel
void SetAllowMovement(bool allow)
Allow/Disallow object movements.
static std::atomic< bool > m_stopEvent
void SetNewCharString(std::string const &str)
Set the string for new characters (first login)
LockedQueue< WorldSession * > addSessQueue
QueryCallbackProcessor _queryProcessor
World(World const &)=delete
std::mutex _guidAlertLock
uint32 GetQueuedSessionCount() const
uint64 GetUInt64Config(WorldInt64Configs index) const
uint32 GetMaxQueuedSessionCount() const
Get the maximum number of parallel sessions on the server since last reboot.
void setRate(Rates rate, float value)
Set a server rate (see Rates)
uint32 m_maxActiveSessionCount
time_t GetNextRandomBGResetTime() const
uint32 GetShutDownTimeLeft() const
time_t m_NextDailyQuestReset
bool IsShuttingDown() const
Are we in the middle of a shutdown?
World & operator=(World &&)=delete
time_t m_NextCurrencyReset
std::list< WorldSession * > Queue
LocaleConstant GetAvailableDbcLocale(LocaleConstant locale) const
time_t m_NextRandomBGReset
float getRate(Rates rate) const
Get a server rate (see Rates)
void setFloatConfig(WorldFloatConfigs index, float value)
Set a server configuration element (see #WorldConfigs)
time_t mail_timer_expires
bool getAllowMovement() const
std::unordered_multimap< ObjectGuid, WorldSession * > m_sessionsByBnetGuid
bool getBoolConfig(WorldBoolConfigs index) const
Get a server configuration element (see #WorldConfigs)
uint32 GetActiveSessionCount() const
DisconnectMap m_disconnects
time_t m_NextCalendarOldEventsDeletionTime
std::vector< GameRule > _gameRules
uint32 m_availableDbcLocaleMask
time_t GetNextWeeklyQuestsResetTime() const
std::string _guidWarningMsg
AutobroadcastContainer m_Autobroadcasts
AccountTypes GetPlayerSecurityLimit() const
Security level limitations.
uint32 GetPlayerAmountLimit() const
std::string _alertRestartReason
World & operator=(World const &)=delete
std::string const & GetDataPath() const
Get the path where data (dbc, maps) are stored on disk.
uint16 GetConfigMaxSkillValue() const
Get the maximum skill level a player can reach.
static void StopNow(uint8 exitcode)
void IncreasePlayerCount()
Increase/Decrease number of players.
void SetCleaningFlags(uint32 flags)
char const * GetDBVersion() const
void setIntConfig(WorldIntConfigs index, uint32 value)
Set a server configuration element (see #WorldConfigs)
float getFloatConfig(WorldFloatConfigs index) const
Get a server configuration element (see #WorldConfigs)
void DecreasePlayerCount()
LocaleConstant GetDefaultDbcLocale() const
std::string m_newCharString
uint32 GetActiveAndQueuedSessionCount() const
std::unordered_map< uint32, time_t > DisconnectMap
std::vector< GameRule > const & GetGameRules() const
uint32 GetMaxActiveSessionCount() const
uint32 GetMaxPlayerCount() const
uint32 GetPlayerCount() const
Get number of players.
std::unordered_map< std::string, int32 > m_worldVariables
std::unordered_map< uint8, Autobroadcast > AutobroadcastContainer
void QueueCliCommand(CliCommandHolder *commandHolder)
time_t m_NextMonthlyQuestReset
std::vector< std::string > _motd
uint32 m_maxQueuedSessionCount
time_t GetNextDailyQuestsResetTime() const
Next daily quests and random bg reset time.
void SetPlayerAmountLimit(uint32 limit)
Active session server limit.
LockedQueue< std::pair< std::weak_ptr< WorldSocket >, uint64 > > _linkSocketQueue
void setBoolConfig(WorldBoolConfigs index, bool value)
Set a server configuration element (see #WorldConfigs)
std::string const & GetNewCharString() const
Get the string for new characters (first login)
LockedQueue< CliCommandHolder * > cliCmdQueue
SessionMap const & GetAllSessions() const
void commandFinished(void *, bool)
std::unordered_map< uint32, WorldSession * > SessionMap
WorldTimers
Timers for different object refresh rates.
TC_GAME_API uint32 GetVirtualRealmAddress()
WorldBoolConfigs
Configuration elements.
@ SERVER_MSG_SHUTDOWN_TIME
@ SERVER_MSG_INSTANCE_SHUTDOWN_TIME
@ SERVER_MSG_BG_SHUTDOWN_TIME
@ SERVER_MSG_INSTANCE_RESTART_TIME
@ SERVER_MSG_SHUTDOWN_CANCELLED
@ SERVER_MSG_TICKET_SERVICED_SOON
@ SERVER_MSG_WAIT_TIME_UNAVAILABLE
@ SERVER_MSG_CONTENT_READY
@ SERVER_MSG_RESTART_CANCELLED
@ SERVER_MSG_TICKET_WAIT_TIME
@ SERVER_MSG_BG_RESTART_TIME
@ SERVER_MSG_RESTART_TIME
@ CONFIG_AUTOBROADCAST_CENTER
@ CONFIG_ARENA_START_MATCHMAKER_RATING
@ CONFIG_RESPAWN_RESTARTQUIETTIME
@ CONFIG_CORPSE_DECAY_ELITE
@ CONFIG_MAX_INSTANCES_PER_HOUR
@ CONFIG_GUILD_EVENT_LOG_COUNT
@ CONFIG_ARENA_START_RATING
@ CONFIG_SOCKET_TIMEOUTTIME
@ CONFIG_MAX_OVERSPEED_PINGS
@ CONFIG_NO_GRAY_AGGRO_BELOW
@ CONFIG_CHARDELETE_METHOD
@ CONFIG_SESSION_ADD_DELAY
@ CONFIG_MIN_CREATURE_SCALED_XP_RATIO
@ CONFIG_CORPSE_DECAY_OBSOLETE
@ CONFIG_CHARACTER_CREATING_DISABLED_CLASSMASK
@ CONFIG_CLIENTCACHE_VERSION
@ CONFIG_TOLBARAD_BATTLETIME
@ CONFIG_DAILY_QUEST_RESET_TIME_HOUR
@ CONFIG_CURRENCY_RESET_DAY
@ CONFIG_QUEST_LOW_LEVEL_HIDE_DIFF
@ CONFIG_CREATURE_PICKPOCKET_REFILL
@ CONFIG_BG_REWARD_WINNER_CONQUEST_FIRST
@ CONFIG_SKILL_CHANCE_ORANGE
@ CONFIG_VISIBILITY_NOTIFY_PERIOD_CONTINENT
@ CONFIG_RESPAWN_DYNAMICMODE
@ CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_EVOKER
@ CONFIG_CHATFLOOD_MUTE_TIME
@ CONFIG_STRICT_PET_NAMES
@ CONFIG_CHARACTER_CREATING_DISABLED
@ CONFIG_TOLBARAD_PLR_MIN_LVL
@ CONFIG_QUEST_HIGH_LEVEL_HIDE_DIFF
@ CONFIG_VISIBILITY_NOTIFY_PERIOD_BATTLEGROUND
@ CONFIG_INTERVAL_CHANGEWEATHER
@ CONFIG_PRESERVE_CUSTOM_CHANNEL_INTERVAL
@ CONFIG_PRESERVE_CUSTOM_CHANNEL_DURATION
@ CONFIG_GM_WHISPERING_TO
@ CONFIG_TOLBARAD_RESTART_AFTER_CRASH
@ CONFIG_SKILL_CHANCE_SKINNING_STEPS
@ CONFIG_SKILL_CHANCE_YELLOW
@ CONFIG_RESPAWN_GUIDWARNING_FREQUENCY
@ CONFIG_AUTOBROADCAST_INTERVAL
@ CONFIG_PVP_TOKEN_MAP_TYPE
@ CONFIG_ENABLE_SINFO_LOGIN
@ CONFIG_CHARTER_COST_GUILD
@ CONFIG_CHARDELETE_MIN_LEVEL
@ CONFIG_FORCE_SHUTDOWN_THRESHOLD
@ CONFIG_ARENA_MAX_RATING_DIFFERENCE
@ CONFIG_BG_REWARD_LOSER_HONOR_LAST
@ CONFIG_START_ALLIED_RACE_LEVEL
@ CONFIG_BLACKMARKET_UPDATE_PERIOD
@ CONFIG_TOLBARAD_BONUSTIME
@ CONFIG_AUCTION_TAINTED_SEARCH_DELAY
@ CONFIG_ARENA_RATED_UPDATE_TIMER
@ CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL
@ CONFIG_MIN_PETITION_SIGNS
@ CONFIG_RESPAWN_DYNAMICMINIMUM_CREATURE
@ CONFIG_MIN_LEVEL_STAT_SAVE
@ CONFIG_START_EVOKER_PLAYER_LEVEL
@ CONFIG_BATTLEGROUND_INVITATION_TYPE
@ CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL
@ CONFIG_MAX_PLAYER_LEVEL
@ CONFIG_MIN_CHARTER_NAME
@ CONFIG_CHAT_CHANNEL_LEVEL_REQ
@ CONFIG_CHARACTERS_PER_ACCOUNT
@ CONFIG_DEATH_SICKNESS_LEVEL
@ CONFIG_CHARTER_COST_ARENA_5v5
@ CONFIG_WINTERGRASP_PLR_MIN_LVL
@ CONFIG_GUILD_RESET_HOUR
@ CONFIG_CURRENCY_RESET_HOUR
@ CONFIG_MAIL_DELIVERY_DELAY
@ CONFIG_WINTERGRASP_BATTLETIME
@ CONFIG_CORPSE_DECAY_MINUSMOB
@ CONFIG_GM_FREEZE_DURATION
@ CONFIG_WINTERGRASP_NOBATTLETIME
@ CONFIG_PACKET_SPOOF_BANDURATION
@ CONFIG_SKILL_CHANCE_MINING_STEPS
@ CONFIG_GUILD_BANK_EVENT_LOG_COUNT
@ CONFIG_AHBOT_UPDATE_INTERVAL
@ CONFIG_BATTLEGROUND_PREMADE_GROUP_WAIT_FOR_MATCH
@ CONFIG_CORPSE_DECAY_NORMAL
@ CONFIG_WINTERGRASP_RESTART_AFTER_CRASH
@ CONFIG_SOCKET_TIMEOUTTIME_ACTIVE
@ CONFIG_START_PLAYER_LEVEL
@ CONFIG_RESPAWN_GUIDALERTLEVEL
@ CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL
@ CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL_DIFFERENCE
@ CONFIG_CLEAN_OLD_MAIL_TIME
@ CONFIG_INTERVAL_GRIDCLEAN
@ CONFIG_BG_REWARD_WINNER_HONOR_FIRST
@ CONFIG_ARENA_START_PERSONAL_RATING
@ CONFIG_STRICT_CHARTER_NAMES
@ CONFIG_BG_REWARD_LOSER_HONOR_FIRST
@ CONFIG_RESET_SCHEDULE_WEEK_DAY
@ CONFIG_PACKET_SPOOF_POLICY
@ CONFIG_CHATFLOOD_ADDON_MESSAGE_COUNT
@ CONFIG_FEATURE_SYSTEM_CHARACTER_UNDELETE_COOLDOWN
@ CONFIG_CHAT_YELL_LEVEL_REQ
@ CONFIG_BG_REWARD_WINNER_CONQUEST_LAST
@ CONFIG_GUILD_NEWS_LOG_COUNT
@ CONFIG_CORPSE_DECAY_TRIVIAL
@ CONFIG_AUCTION_LEVEL_REQ
@ CONFIG_TOLBARAD_PLR_MAX
@ CONFIG_CHAT_STRICT_LINK_CHECKING_KICK
@ CONFIG_GM_LEVEL_IN_GM_LIST
@ CONFIG_ARENA_RATING_DISCARD_TIMER
@ CONFIG_TOLBARAD_PLR_MIN
@ CONFIG_CHARACTER_CREATING_EVOKERS_PER_REALM
@ CONFIG_CALENDAR_DELETE_OLD_EVENTS_HOUR
@ CONFIG_GM_VISIBLE_STATE
@ CONFIG_NO_GRAY_AGGRO_ABOVE
@ CONFIG_AUCTION_REPLICATE_DELAY
@ CONFIG_GUILD_SAVE_INTERVAL
@ CONFIG_GROUP_VISIBILITY
@ CONFIG_CREATURE_FAMILY_FLEE_DELAY
@ CONFIG_PACKET_SPOOF_BANMODE
@ CONFIG_CHARDELETE_DEMON_HUNTER_MIN_LEVEL
@ CONFIG_XP_BOOST_DAYMASK
@ CONFIG_MIN_DISCOVERED_SCALED_XP_RATIO
@ CONFIG_CHARDELETE_KEEP_DAYS
@ CONFIG_TOLBARAD_NOBATTLETIME
@ CONFIG_MAX_RESULTS_LOOKUP_COMMANDS
@ CONFIG_VISIBILITY_NOTIFY_PERIOD_ARENA
@ CONFIG_CREATURE_STOP_FOR_PLAYER
@ CONFIG_INTERVAL_DISCONNECT_TOLERANCE
@ CONFIG_CHAT_WHISPER_LEVEL_REQ
@ CONFIG_SKILL_GAIN_GATHERING
@ CONFIG_CHARTER_COST_ARENA_2v2
@ CONFIG_CHATFLOOD_MESSAGE_DELAY
@ CONFIG_CHARDELETE_DEATH_KNIGHT_MIN_LEVEL
@ CONFIG_DISABLE_BREATHING
@ CONFIG_FACTION_BALANCE_LEVEL_CHECK_DIFF
@ CONFIG_ACC_PASSCHANGESEC
@ CONFIG_STRICT_PLAYER_NAMES
@ CONFIG_LOGDB_CLEARINTERVAL
@ CONFIG_BATTLEGROUND_REPORT_AFK
@ CONFIG_MIN_QUEST_SCALED_XP_RATIO
@ CONFIG_INSTANCE_UNLOAD_DELAY
@ CONFIG_GM_LEVEL_IN_WHO_LIST
@ CONFIG_CURRENCY_RESET_INTERVAL
@ CONFIG_BATTLEGROUND_PREMATURE_FINISH_TIMER
@ CONFIG_HONOR_AFTER_DUEL
@ CONFIG_WEEKLY_QUEST_RESET_TIME_WDAY
@ CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS
@ CONFIG_CORPSE_DECAY_RARE
@ CONFIG_CHAT_STRICT_LINK_CHECKING_SEVERITY
@ CONFIG_RESPAWN_GUIDWARNLEVEL
@ CONFIG_TALENTS_INSPECTING
@ CONFIG_WINTERGRASP_PLR_MAX
@ CONFIG_CHAT_EMOTE_LEVEL_REQ
@ CONFIG_AUCTION_SEARCH_DELAY
@ CONFIG_VISIBILITY_NOTIFY_PERIOD_INSTANCE
@ CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_DEMON_HUNTER
@ CONFIG_MIN_DUALSPEC_LEVEL
@ CONFIG_SKILL_GAIN_CRAFTING
@ CONFIG_RANDOM_BG_RESET_HOUR
@ CONFIG_DB_PING_INTERVAL
@ CONFIG_WORLD_BOSS_LEVEL_DIFF
@ CONFIG_CORPSE_DECAY_RAREELITE
@ CONFIG_CHATFLOOD_MESSAGE_COUNT
@ CONFIG_RESPAWN_DYNAMICMINIMUM_GAMEOBJECT
@ CONFIG_CHARTER_COST_ARENA_3v3
@ CONFIG_CHATFLOOD_ADDON_MESSAGE_DELAY
@ CONFIG_SKILL_CHANCE_GREY
@ CONFIG_INTERVAL_MAPUPDATE
@ CONFIG_CREATURE_FAMILY_ASSISTANCE_DELAY
@ CONFIG_MAX_PRIMARY_TRADE_SKILL
@ CONFIG_RESET_SCHEDULE_HOUR
@ CONFIG_SKILL_CHANCE_GREEN
@ CONFIG_CHAT_SAY_LEVEL_REQ
@ CONFIG_WINTERGRASP_PLR_MIN
@ CONFIG_BLACKMARKET_MAXAUCTIONS
@ CONFIG_BG_REWARD_WINNER_HONOR_LAST
@ CONFIG_CHARACTERS_PER_REALM
@ CONFIG_RESPAWN_MINCHECKINTERVALMS
@ WUPDATE_AUCTIONS_PENDING
@ WUPDATE_CHECK_FILECHANGES
@ RATE_CREATURE_DAMAGE_NORMAL
@ RATE_DROP_ITEM_REFERENCED_AMOUNT
@ RATE_POWER_RUNIC_POWER_LOSS
@ RATE_CREATURE_DAMAGE_RAREELITE
@ RATE_REPUTATION_LOWLEVEL_QUEST
@ RATE_DURABILITY_LOSS_BLOCK
@ RATE_REPUTATION_LOWLEVEL_KILL
@ RATE_INSTANCE_RESET_TIME
@ RATE_CREATURE_DAMAGE_ELITE
@ RATE_REST_OFFLINE_IN_WILDERNESS
@ RATE_CREATURE_SPELLDAMAGE_TRIVIAL
@ RATE_MONEY_MAX_LEVEL_QUEST
@ RATE_CREATURE_SPELLDAMAGE_NORMAL
@ RATE_DROP_ITEM_LEGENDARY
@ RATE_DURABILITY_LOSS_PARRY
@ RATE_REST_OFFLINE_IN_TAVERN_OR_CITY
@ RATE_DROP_ITEM_UNCOMMON
@ RATE_DROP_ITEM_REFERENCED
@ RATE_REPUTATION_RECRUIT_A_FRIEND_BONUS
@ RATE_CREATURE_SPELLDAMAGE_RAREELITE
@ RATE_DURABILITY_LOSS_DAMAGE
@ RATE_DURABILITY_LOSS_ON_DEATH
@ RATE_CREATURE_HP_OBSOLETE
@ RATE_DROP_ITEM_ARTIFACT
@ RATE_CREATURE_DAMAGE_OBSOLETE
@ RATE_CREATURE_DAMAGE_MINUSMOB
@ RATE_POWER_RUNIC_POWER_INCOME
@ RATE_CREATURE_HP_NORMAL
@ RATE_POWER_ARCANE_CHARGES
@ RATE_CREATURE_HP_MINUSMOB
@ RATE_CREATURE_HP_TRIVIAL
@ RATE_CORPSE_DECAY_LOOTED
@ RATE_DURABILITY_LOSS_ABSORB
@ RATE_CREATURE_DAMAGE_RARE
@ RATE_CREATURE_DAMAGE_TRIVIAL
@ RATE_CREATURE_SPELLDAMAGE_ELITE
@ RATE_CREATURE_SPELLDAMAGE_MINUSMOB
@ RATE_CREATURE_HP_RAREELITE
@ RATE_CREATURE_SPELLDAMAGE_OBSOLETE
@ RATE_CREATURE_SPELLDAMAGE_RARE
@ RATE_POWER_COMBO_POINTS_LOSS
@ FLOAT_CONFIG_VALUE_COUNT
@ CONFIG_STATS_LIMITS_DODGE
@ CONFIG_RESPAWN_DYNAMICRATE_CREATURE
@ CONFIG_ARENA_WIN_RATING_MODIFIER_1
@ CONFIG_GROUP_XP_DISTANCE
@ CONFIG_CALL_TO_ARMS_20_PCT
@ CONFIG_MAX_VISIBILITY_DISTANCE_ARENA
@ CONFIG_LISTEN_RANGE_YELL
@ CONFIG_STATS_LIMITS_PARRY
@ CONFIG_CREATURE_FAMILY_FLEE_ASSISTANCE_RADIUS
@ CONFIG_ARENA_WIN_RATING_MODIFIER_2
@ CONFIG_ARENA_LOSE_RATING_MODIFIER
@ CONFIG_CREATURE_FAMILY_ASSISTANCE_RADIUS
@ CONFIG_LISTEN_RANGE_SAY
@ CONFIG_MAX_VISIBILITY_DISTANCE_INSTANCE
@ CONFIG_MAX_VISIBILITY_DISTANCE_BATTLEGROUND
@ CONFIG_MAX_VISIBILITY_DISTANCE_CONTINENT
@ CONFIG_MAX_RECRUIT_A_FRIEND_DISTANCE
@ CONFIG_ARENA_MATCHMAKER_RATING_MODIFIER
@ CONFIG_CALL_TO_ARMS_5_PCT
@ CONFIG_RESPAWN_DYNAMICRATE_GAMEOBJECT
@ CONFIG_CALL_TO_ARMS_10_PCT
@ CONFIG_STATS_LIMITS_CRIT
@ CONFIG_LISTEN_RANGE_TEXTEMOTE
@ CONFIG_STATS_LIMITS_BLOCK
@ BOOL_CONFIG_VALUE_COUNT
@ CONFIG_ALLOW_TWO_SIDE_INTERACTION_CALENDAR
@ CONFIG_SHOW_KICK_IN_WORLD
@ CONFIG_QUEST_IGNORE_AUTO_COMPLETE
@ CONFIG_CREATURE_CHECK_INVALID_POSITION
@ CONFIG_SUPPORT_COMPLAINTS_ENABLED
@ CONFIG_CHECK_GOBJECT_LOS
@ CONFIG_INSTANCEMAP_LOAD_GRIDS
@ CONFIG_GM_LOWER_SECURITY
@ CONFIG_PDUMP_NO_OVERWRITE
@ CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVP
@ CONFIG_START_ALL_SPELLS
@ CONFIG_SUPPORT_BUGS_ENABLED
@ CONFIG_ALLOW_LOGGING_IP_ADDRESSES_IN_DATABASE
@ CONFIG_SHOW_MUTE_IN_WORLD
@ CONFIG_ALLOW_TWO_SIDE_INTERACTION_AUCTION
@ CONFIG_CHAT_PARTY_RAID_WARNINGS
@ CONFIG_DECLINED_NAMES_USED
@ CONFIG_ARENA_LOG_EXTENDED_INFO
@ CONFIG_CALCULATE_GAMEOBJECT_ZONE_AREA_DATA
@ CONFIG_STATS_LIMITS_ENABLE
@ CONFIG_HOTSWAP_INSTALL_ENABLED
@ CONFIG_QUEST_IGNORE_RAID
@ CONFIG_SHOW_BAN_IN_WORLD
@ CONFIG_HOTSWAP_EARLY_TERMINATION_ENABLED
@ CONFIG_CLEAN_CHARACTER_DB
@ CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_PLAYERONLY
@ CONFIG_CHAT_FAKE_MESSAGE_PREVENTING
@ CONFIG_ALLOW_TWO_SIDE_TRADE
@ CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVE
@ CONFIG_SKILL_PROSPECTING
@ CONFIG_IP_BASED_ACTION_LOGGING
@ CONFIG_PVP_TOKEN_ENABLE
@ CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT
@ CONFIG_ARENA_SEASON_IN_PROGRESS
@ CONFIG_DETECT_POS_COLLISION
@ CONFIG_DEATH_BONES_BG_OR_ARENA
@ CONFIG_BASEMAP_LOAD_GRIDS
@ CONFIG_HOTSWAP_PREFIX_CORRECTION_ENABLED
@ CONFIG_BATTLEGROUND_STORE_STATISTICS_ENABLE
@ CONFIG_INSTANCE_IGNORE_RAID
@ CONFIG_RESET_DUEL_HEALTH_MANA
@ CONFIG_BATTLEGROUND_CAST_DESERTER
@ CONFIG_HOTSWAP_BUILD_FILE_RECREATION_ENABLED
@ CONFIG_STATS_SAVE_ONLY_ON_LOGOUT
@ CONFIG_ARENA_QUEUE_ANNOUNCER_ENABLE
@ CONFIG_RESTRICTED_LFG_CHANNEL
@ CONFIG_NO_RESET_TALENT_COST
@ CONFIG_CALCULATE_CREATURE_ZONE_AREA_DATA
@ CONFIG_HOTSWAP_RECOMPILER_ENABLED
@ CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL
@ CONFIG_PRESERVE_CUSTOM_CHANNELS
@ CONFIG_OFFHAND_CHECK_AT_SPELL_UNLEARN
@ CONFIG_RESET_DUEL_COOLDOWNS
@ CONFIG_DURABILITY_LOSS_IN_PVP
@ CONFIG_INSTANCES_RESET_ANNOUNCE
@ CONFIG_WINTERGRASP_ENABLE
@ CONFIG_QUEST_IGNORE_AUTO_ACCEPT
@ CONFIG_PREVENT_RENAME_CUSTOMIZATION
@ CONFIG_DIE_COMMAND_MODE
@ CONFIG_SUPPORT_SUGGESTIONS_ENABLED
@ CONFIG_VMAP_INDOOR_CHECK
@ CONFIG_CACHE_DATA_QUERIES
@ CONFIG_SUPPORT_TICKETS_ENABLED
@ CONFIG_GAME_OBJECT_CHECK_INVALID_POSITION
@ CONFIG_RESPAWN_DYNAMIC_ESCORTNPC
@ CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP
@ CONFIG_DEATH_BONES_WORLD
@ CONFIG_QUEST_ENABLE_QUEST_TRACKER
@ CONFIG_REGEN_HP_CANNOT_REACH_TARGET_IN_RAID
@ CONFIG_BATTLEGROUNDMAP_LOAD_GRIDS
@ CONFIG_BLACKMARKET_ENABLED
@ CONFIG_DBC_ENFORCE_ITEM_ATTRIBUTES
@ CONFIG_START_ALL_EXPLORED
@ CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD
@ CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_ENABLE
@ CONFIG_INSTANCE_IGNORE_LEVEL
@ CONFIG_FEATURE_SYSTEM_CHARACTER_UNDELETE_ENABLED
@ CONFIG_CHARACTER_CREATING_DISABLED_RACEMASK
@ CONFIG_START_PLAYER_MONEY
@ INT64_CONFIG_VALUE_COUNT
Storage class for commands issued for delayed execution.
CommandFinished m_commandFinished
CliCommandHolder & operator=(CliCommandHolder const &right)=delete
void(*)(void *, std::string_view) Print
CliCommandHolder(CliCommandHolder const &right)=delete
void(*)(void *, bool success) CommandFinished
std::variant< int32, float, bool > Value