TrinityCore
Loading...
Searching...
No Matches
World Class Reference

The World. More...

#include <World.h>

Classes

struct  Autobroadcast
 
struct  GameRule
 

Public Types

typedef std::list< WorldSession * > Queue
 

Public Member Functions

 World (World const &)=delete
 
 World (World &&)=delete
 
World & operator= (World const &)=delete
 
World & operator= (World &&)=delete
 
WorldSession * FindSession (uint32 id) const
 Find a session by its id.
 
void AddSession (WorldSession *s)
 
void AddInstanceSocket (std::weak_ptr< WorldSocket > sock, uint64 connectToKey)
 
void SendAutoBroadcast ()
 
bool RemoveSession (uint32 id)
 Remove a given session.
 
void UpdateMaxSessionCounters ()
 Get the number of current active sessions.
 
SessionMap const & GetAllSessions () const
 
uint32 GetActiveAndQueuedSessionCount () const
 
uint32 GetActiveSessionCount () const
 
uint32 GetQueuedSessionCount () const
 
uint32 GetMaxQueuedSessionCount () const
 Get the maximum number of parallel sessions on the server since last reboot.
 
uint32 GetMaxActiveSessionCount () const
 
uint32 GetPlayerCount () const
 Get number of players.
 
uint32 GetMaxPlayerCount () const
 
void IncreasePlayerCount ()
 Increase/Decrease number of players.
 
void DecreasePlayerCount ()
 
Player * FindPlayerInZone (uint32 zone)
 Find a player in a specified zone.
 
bool IsClosed () const
 Deny clients?
 
void SetClosed (bool val)
 Close world.
 
AccountTypes GetPlayerSecurityLimit () const
 Security level limitations.
 
void SetPlayerSecurityLimit (AccountTypes sec)
 
void LoadDBAllowedSecurityLevel ()
 
void SetPlayerAmountLimit (uint32 limit)
 Active session server limit.
 
uint32 GetPlayerAmountLimit () const
 
void AddQueuedPlayer (WorldSession *)
 
bool RemoveQueuedPlayer (WorldSession *session)
 
int32 GetQueuePos (WorldSession *)
 
bool HasRecentlyDisconnected (WorldSession *)
 
bool getAllowMovement () const
 
void SetAllowMovement (bool allow)
 Allow/Disallow object movements.
 
void SetMotd (std::string motd)
 Set a new Message of the Day.
 
std::vector< std::string > const & GetMotd () const
 Get the current Message of the Day.
 
void SetNewCharString (std::string const &str)
 Set the string for new characters (first login)
 
std::string const & GetNewCharString () const
 Get the string for new characters (first login)
 
LocaleConstant GetDefaultDbcLocale () const
 
std::string const & GetDataPath () const
 Get the path where data (dbc, maps) are stored on disk.
 
time_t GetNextDailyQuestsResetTime () const
 Next daily quests and random bg reset time.
 
time_t GetNextWeeklyQuestsResetTime () const
 
time_t GetNextRandomBGResetTime () const
 
uint16 GetConfigMaxSkillValue () const
 Get the maximum skill level a player can reach.
 
bool SetInitialWorldSettings ()
 Initialize the World.
 
void LoadConfigSettings (bool reload=false)
 Initialize config values.
 
void SendWorldText (uint32 string_id,...)
 Send a System Message to all players (except self if mentioned)
 
void SendGlobalText (char const *text, WorldSession *self)
 DEPRECATED, only for debug purpose. Send a System Message to all players (except self if mentioned)
 
void SendGMText (uint32 string_id,...)
 Send a System Message to all GMs (except self if mentioned)
 
void SendServerMessage (ServerMessageType messageID, std::string_view stringParam={}, Player const *player=nullptr)
 Send a server message to the user(s)
 
void SendGlobalMessage (WorldPacket const *packet, WorldSession *self=nullptr, Optional< Team > team={ })
 Send a packet to all players (except self if mentioned)
 
void SendGlobalGMMessage (WorldPacket const *packet, WorldSession *self=nullptr, Optional< Team > team={ })
 Send a packet to all GMs (except self if mentioned)
 
bool IsShuttingDown () const
 Are we in the middle of a shutdown?
 
uint32 GetShutDownTimeLeft () const
 
void ShutdownServ (uint32 time, uint32 options, uint8 exitcode, const std::string &reason=std::string())
 Shutdown the server.
 
uint32 ShutdownCancel ()
 Cancel a planned server shutdown.
 
void ShutdownMsg (bool show=false, Player *player=nullptr, const std::string &reason=std::string())
 Display a shutdown message to the user(s)
 
void Update (uint32 diff)
 Update the World !
 
void UpdateSessions (uint32 diff)
 
void setRate (Rates rate, float value)
 Set a server rate (see Rates)
 
float getRate (Rates rate) const
 Get a server rate (see Rates)
 
void setBoolConfig (WorldBoolConfigs index, bool value)
 Set a server configuration element (see #WorldConfigs)
 
bool getBoolConfig (WorldBoolConfigs index) const
 Get a server configuration element (see #WorldConfigs)
 
void setFloatConfig (WorldFloatConfigs index, float value)
 Set a server configuration element (see #WorldConfigs)
 
float getFloatConfig (WorldFloatConfigs index) const
 Get a server configuration element (see #WorldConfigs)
 
void setIntConfig (WorldIntConfigs index, uint32 value)
 Set a server configuration element (see #WorldConfigs)
 
uint32 getIntConfig (WorldIntConfigs index) const
 Get a server configuration element (see #WorldConfigs)
 
uint64 GetUInt64Config (WorldInt64Configs index) const
 
int32 GetPersistentWorldVariable (PersistentWorldVariable const &var) const
 
void SetPersistentWorldVariable (PersistentWorldVariable const &var, int32 value)
 
void LoadPersistentWorldVariables ()
 
bool IsPvPRealm () const
 Are we on a "Player versus Player" server?
 
bool IsFFAPvPRealm () const
 
void KickAll ()
 Kick (and save) all players.
 
void KickAllLess (AccountTypes sec)
 Kick (and save) all players with security level less sec
 
BanReturn BanAccount (BanMode mode, std::string const &nameOrIP, std::string const &duration, std::string const &reason, std::string const &author)
 Ban an account or ban an IP address, duration will be parsed using TimeStringToSecs if it is positive, otherwise permban.
 
BanReturn BanAccount (BanMode mode, std::string const &nameOrIP, uint32 duration_secs, std::string const &reason, std::string const &author)
 Ban an account or ban an IP address, duration is in seconds if positive, otherwise permban.
 
bool RemoveBanAccount (BanMode mode, std::string const &nameOrIP)
 Remove a ban from an account or IP address.
 
BanReturn BanCharacter (std::string const &name, std::string const &duration, std::string const &reason, std::string const &author)
 Ban an account or ban an IP address, duration will be parsed using TimeStringToSecs if it is positive, otherwise permban.
 
bool RemoveBanCharacter (std::string const &name)
 Remove a ban from a character.
 
void ProcessCliCommands ()
 
void QueueCliCommand (CliCommandHolder *commandHolder)
 
void ForceGameEventUpdate ()
 
void UpdateRealmCharCount (uint32 accountId)
 
LocaleConstant GetAvailableDbcLocale (LocaleConstant locale) const
 
void LoadDBVersion ()
 
char const * GetDBVersion () const
 
void LoadAutobroadcasts ()
 
void UpdateAreaDependentAuras ()
 
bool IsBattlePetJournalLockAcquired (ObjectGuid battlenetAccountGuid)
 
uint32 GetCleaningFlags () const
 
void SetCleaningFlags (uint32 flags)
 
void ResetEventSeasonalQuests (uint16 event_id, time_t eventStartTime)
 
void ReloadRBAC ()
 
void RemoveOldCorpses ()
 
void TriggerGuidWarning ()
 
void TriggerGuidAlert ()
 
bool IsGuidWarning ()
 
bool IsGuidAlert ()
 
void SetForcedWarModeFactionBalanceState (TeamId team, int32 reward=0)
 
void DisableForcedWarModeFactionBalanceState ()
 
std::vector< GameRule > const & GetGameRules () const
 

Static Public Member Functions

static World * instance ()
 
static uint8 GetExitCode ()
 
static void StopNow (uint8 exitcode)
 
static bool IsStopped ()
 

Static Public Attributes

static std::atomic< uint32 > m_worldLoopCounter
 
static PersistentWorldVariable const NextCurrencyResetTimeVarId { "NextCurrencyResetTime" }
 
static PersistentWorldVariable const NextWeeklyQuestResetTimeVarId { "NextWeeklyQuestResetTime" }
 
static PersistentWorldVariable const NextBGRandomDailyResetTimeVarId { "NextBGRandomDailyResetTime" }
 
static PersistentWorldVariable const CharacterDatabaseCleaningFlagsVarId { "PersistentCharacterCleanFlags" }
 
static PersistentWorldVariable const NextGuildDailyResetTimeVarId { "NextGuildDailyResetTime" }
 
static PersistentWorldVariable const NextMonthlyQuestResetTimeVarId { "NextMonthlyQuestResetTime" }
 
static PersistentWorldVariable const NextDailyQuestResetTimeVarId { "NextDailyQuestResetTime" }
 
static PersistentWorldVariable const NextOldCalendarEventDeletionTimeVarId { "NextOldCalendarEventDeletionTime" }
 
static PersistentWorldVariable const NextGuildWeeklyResetTimeVarId { "NextGuildWeeklyResetTime" }
 

Protected Member Functions

void _UpdateGameTime ()
 Update the game time.
 
void _UpdateRealmCharCount (PreparedQueryResult resultCharCount)
 
void InitQuestResetTimes ()
 
void CheckScheduledResetTimes ()
 
void InitCurrencyResetTime ()
 
void DailyReset ()
 
void ResetWeeklyQuests ()
 
void ResetMonthlyQuests ()
 
void InitRandomBGResetTime ()
 
void InitCalendarOldEventsDeletionTime ()
 
void InitGuildResetTime ()
 
void ResetRandomBG ()
 
void CalendarDeleteOldEvents ()
 
void ResetGuildCap ()
 
void ResetCurrencyWeekCap ()
 

Private Types

typedef std::unordered_map< uint32, time_t > DisconnectMap
 
typedef std::unordered_map< uint8, Autobroadcast > AutobroadcastContainer
 

Private Member Functions

 World ()
 World constructor.
 
 ~World ()
 World destructor.
 
void AddSession_ (WorldSession *s)
 
void ProcessQueryCallbacks ()
 
void SendGuidWarning ()
 
void DoGuidWarningRestart ()
 
void DoGuidAlertRestart ()
 
void UpdateWarModeRewardValues ()
 

Private Attributes

uint32 m_ShutdownTimer
 
uint32 m_ShutdownMask
 
uint32 m_CleaningFlags
 
bool m_isClosed
 
IntervalTimer m_timers [WUPDATE_COUNT]
 
time_t mail_timer
 
time_t mail_timer_expires
 
time_t blackmarket_timer
 
SessionMap m_sessions
 
std::unordered_multimap< ObjectGuid, WorldSession * > m_sessionsByBnetGuid
 
DisconnectMap m_disconnects
 
uint32 m_maxActiveSessionCount
 
uint32 m_maxQueuedSessionCount
 
uint32 m_PlayerCount
 
uint32 m_MaxPlayerCount
 
std::string m_newCharString
 
float rate_values [MAX_RATES]
 
uint32 m_int_configs [INT_CONFIG_VALUE_COUNT]
 
uint64 m_int64_configs [INT64_CONFIG_VALUE_COUNT]
 
bool m_bool_configs [BOOL_CONFIG_VALUE_COUNT]
 
float m_float_configs [FLOAT_CONFIG_VALUE_COUNT]
 
std::unordered_map< std::string, int32 > m_worldVariables
 
uint32 m_playerLimit
 
AccountTypes m_allowedSecurityLevel
 
LocaleConstant m_defaultDbcLocale
 
uint32 m_availableDbcLocaleMask
 
bool m_allowMovement
 
std::vector< std::string > _motd
 
std::string m_dataPath
 
LockedQueue< CliCommandHolder * > cliCmdQueue
 
time_t m_NextDailyQuestReset
 
time_t m_NextWeeklyQuestReset
 
time_t m_NextMonthlyQuestReset
 
time_t m_NextRandomBGReset
 
time_t m_NextCalendarOldEventsDeletionTime
 
time_t m_NextGuildReset
 
time_t m_NextCurrencyReset
 
Queue m_QueuedPlayer
 
LockedQueue< WorldSession * > addSessQueue
 
LockedQueue< std::pair< std::weak_ptr< WorldSocket >, uint64 > > _linkSocketQueue
 
std::string m_DBVersion
 
AutobroadcastContainer m_Autobroadcasts
 
QueryCallbackProcessor _queryProcessor
 
std::string _guidWarningMsg
 
std::string _alertRestartReason
 
std::mutex _guidAlertLock
 
bool _guidWarn
 
bool _guidAlert
 
uint32 _warnDiff
 
time_t _warnShutdownTime
 
std::vector< GameRule > _gameRules
 

Static Private Attributes

static std::atomic< bool > m_stopEvent
 
static uint8 m_ExitCode = SHUTDOWN_EXIT_CODE
 

Friends

class debug_commandscript
 

Detailed Description

The World.

Definition at line 559 of file World.h.

Member Typedef Documentation

◆ AutobroadcastContainer

typedef std::unordered_map<uint8, Autobroadcast> World::AutobroadcastContainer
private

Definition at line 889 of file World.h.

◆ DisconnectMap

typedef std::unordered_map<uint32, time_t> World::DisconnectMap
private

Definition at line 837 of file World.h.

◆ Queue

typedef std::list<WorldSession*> World::Queue

Definition at line 614 of file World.h.

Constructor & Destructor Documentation

◆ World() [1/3]

World::World ( World const &  )
delete

◆ World() [2/3]

World::World ( World &&  )
delete

◆ World() [3/3]

◆ ~World()

World::~World ( )
private

World destructor.

  • Empty the kicked session set
Todo:
free addSessQueue

Definition at line 177 of file World.cpp.

References VMAP::VMapFactory::clear(), cliCmdQueue, m_sessions, and LockedQueue< T, StorageType >::next().

Member Function Documentation

◆ _UpdateGameTime()

void World::_UpdateGameTime ( )
protected

Update the game time.

  • update the time
  • if there is a shutdown timer
  • ... and it is overdue, stop the world (set m_stopEvent)
  • ... else decrease it and if necessary display a shutdown countdown to the users

Definition at line 2812 of file World.cpp.

References GetActiveAndQueuedSessionCount(), GameTime::GetGameTime(), IsStopped(), m_ShutdownMask, m_ShutdownTimer, m_stopEvent, SHUTDOWN_MASK_IDLE, ShutdownMsg(), and GameTime::UpdateGameTimers().

Referenced by Update().

◆ _UpdateRealmCharCount()

void World::_UpdateRealmCharCount ( PreparedQueryResult  resultCharCount)
protected

◆ AddInstanceSocket()

void World::AddInstanceSocket ( std::weak_ptr< WorldSocket >  sock,
uint64  connectToKey 
)

Definition at line 356 of file World.cpp.

References _linkSocketQueue, and LockedQueue< T, StorageType >::add().

◆ AddQueuedPlayer()

void World::AddQueuedPlayer ( WorldSession *  sess)

◆ AddSession()

void World::AddSession ( WorldSession *  s)

Definition at line 351 of file World.cpp.

References LockedQueue< T, StorageType >::add(), and addSessQueue.

◆ AddSession_()

◆ BanAccount() [1/2]

BanReturn World::BanAccount ( BanMode  mode,
std::string const &  nameOrIP,
std::string const &  duration,
std::string const &  reason,
std::string const &  author 
)

Ban an account or ban an IP address, duration will be parsed using TimeStringToSecs if it is positive, otherwise permban.

Definition at line 2629 of file World.cpp.

References BanAccount(), and TimeStringToSecs().

Referenced by BanAccount().

◆ BanAccount() [2/2]

BanReturn World::BanAccount ( BanMode  mode,
std::string const &  nameOrIP,
uint32  duration_secs,
std::string const &  reason,
std::string const &  author 
)

Ban an account or ban an IP address, duration is in seconds if positive, otherwise permban.

  • Update the database with ban information
  • Disconnect all affected players (for IP it can be several)

Definition at line 2636 of file World.cpp.

References BAN_ACCOUNT, BAN_CHARACTER, BAN_EXISTS, BAN_IP, BAN_NOTFOUND, BAN_SUCCESS, BAN_SYNTAX_ERROR, CHAR_SEL_ACCOUNT_BY_NAME, CharacterDatabase, FindSession(), Field::GetUInt32(), AccountMgr::IsBannedAccount(), LOGIN_INS_ACCOUNT_BANNED, LOGIN_INS_IP_BANNED, LOGIN_SEL_ACCOUNT_BY_IP, LOGIN_SEL_ACCOUNT_ID_BY_NAME, LOGIN_UPD_ACCOUNT_NOT_BANNED, LoginDatabase, PreparedStatementBase::setString(), and PreparedStatementBase::setUInt32().

◆ BanCharacter()

BanReturn World::BanCharacter ( std::string const &  name,
std::string const &  duration,
std::string const &  reason,
std::string const &  author 
)

◆ CalendarDeleteOldEvents()

void World::CalendarDeleteOldEvents ( )
protected

◆ CheckScheduledResetTimes()

void World::CheckScheduledResetTimes ( )
protected

◆ DailyReset()

◆ DecreasePlayerCount()

void World::DecreasePlayerCount ( )
inline

Definition at line 594 of file World.h.

◆ DisableForcedWarModeFactionBalanceState()

void World::DisableForcedWarModeFactionBalanceState ( )

Definition at line 2092 of file World.cpp.

References UpdateWarModeRewardValues().

◆ DoGuidAlertRestart()

void World::DoGuidAlertRestart ( )
private

◆ DoGuidWarningRestart()

void World::DoGuidWarningRestart ( )
private

Definition at line 299 of file World.cpp.

References _warnShutdownTime, HOUR, m_ShutdownTimer, RESTART_EXIT_CODE, SHUTDOWN_MASK_RESTART, and ShutdownServ().

Referenced by Update().

◆ FindPlayerInZone()

Player * World::FindPlayerInZone ( uint32  zone)

Find a player in a specified zone.

  • circle through active sessions and return the first player found in the zone

Definition at line 203 of file World.cpp.

References WorldObject::GetZoneId(), BaseEntity::IsInWorld(), and m_sessions.

◆ FindSession()

WorldSession * World::FindSession ( uint32  id) const

Find a session by its id.

Definition at line 324 of file World.cpp.

References m_sessions.

Referenced by BanAccount(), and UpdateSessions().

◆ ForceGameEventUpdate()

void World::ForceGameEventUpdate ( )

◆ GetActiveAndQueuedSessionCount()

uint32 World::GetActiveAndQueuedSessionCount ( ) const
inline

Definition at line 579 of file World.h.

Referenced by _UpdateGameTime(), and AddSession_().

◆ GetActiveSessionCount()

uint32 World::GetActiveSessionCount ( ) const
inline

Definition at line 580 of file World.h.

Referenced by AddSession_(), and RemoveQueuedPlayer().

◆ getAllowMovement()

bool World::getAllowMovement ( ) const
inline
Todo:
Actions on m_allowMovement still to be implemented Is movement allowed?

Definition at line 622 of file World.h.

◆ GetAllSessions()

SessionMap const & World::GetAllSessions ( ) const
inline

Definition at line 578 of file World.h.

◆ GetAvailableDbcLocale()

LocaleConstant World::GetAvailableDbcLocale ( LocaleConstant  locale) const
inline

Definition at line 758 of file World.h.

◆ getBoolConfig()

bool World::getBoolConfig ( WorldBoolConfigs  index) const
inline

Get a server configuration element (see #WorldConfigs)

Definition at line 689 of file World.h.

References BOOL_CONFIG_VALUE_COUNT.

Referenced by LoadConfigSettings(), SetInitialWorldSettings(), and Update().

◆ GetCleaningFlags()

uint32 World::GetCleaningFlags ( ) const
inline

Definition at line 770 of file World.h.

◆ GetConfigMaxSkillValue()

uint16 World::GetConfigMaxSkillValue ( ) const
inline

Get the maximum skill level a player can reach.

Definition at line 647 of file World.h.

References CONFIG_MAX_PLAYER_LEVEL.

◆ GetDataPath()

std::string const & World::GetDataPath ( ) const
inline

Get the path where data (dbc, maps) are stored on disk.

Definition at line 639 of file World.h.

◆ GetDBVersion()

char const * World::GetDBVersion ( ) const
inline

Definition at line 762 of file World.h.

◆ GetDefaultDbcLocale()

LocaleConstant World::GetDefaultDbcLocale ( ) const
inline

Definition at line 636 of file World.h.

Referenced by SendServerMessage(), and SetInitialWorldSettings().

◆ GetExitCode()

static uint8 World::GetExitCode ( )
inlinestatic

Definition at line 669 of file World.h.

Referenced by main().

◆ getFloatConfig()

float World::getFloatConfig ( WorldFloatConfigs  index) const
inline

Get a server configuration element (see #WorldConfigs)

Definition at line 702 of file World.h.

References FLOAT_CONFIG_VALUE_COUNT.

Referenced by UpdateWarModeRewardValues().

◆ GetGameRules()

std::vector< GameRule > const & World::GetGameRules ( ) const
inline

Definition at line 792 of file World.h.

◆ getIntConfig()

◆ GetMaxActiveSessionCount()

uint32 World::GetMaxActiveSessionCount ( ) const
inline

Definition at line 584 of file World.h.

◆ GetMaxPlayerCount()

uint32 World::GetMaxPlayerCount ( ) const
inline

Definition at line 587 of file World.h.

Referenced by Update().

◆ GetMaxQueuedSessionCount()

uint32 World::GetMaxQueuedSessionCount ( ) const
inline

Get the maximum number of parallel sessions on the server since last reboot.

Definition at line 583 of file World.h.

◆ GetMotd()

std::vector< std::string > const & World::GetMotd ( ) const

Get the current Message of the Day.

Definition at line 265 of file World.cpp.

References _motd.

◆ GetNewCharString()

std::string const & World::GetNewCharString ( ) const
inline

Get the string for new characters (first login)

Definition at line 634 of file World.h.

◆ GetNextDailyQuestsResetTime()

time_t World::GetNextDailyQuestsResetTime ( ) const
inline

Next daily quests and random bg reset time.

Definition at line 642 of file World.h.

◆ GetNextRandomBGResetTime()

time_t World::GetNextRandomBGResetTime ( ) const
inline

Definition at line 644 of file World.h.

◆ GetNextWeeklyQuestsResetTime()

time_t World::GetNextWeeklyQuestsResetTime ( ) const
inline

Definition at line 643 of file World.h.

◆ GetPersistentWorldVariable()

◆ GetPlayerAmountLimit()

uint32 World::GetPlayerAmountLimit ( ) const
inline

Definition at line 611 of file World.h.

Referenced by AddSession_().

◆ GetPlayerCount()

uint32 World::GetPlayerCount ( ) const
inline

Get number of players.

Definition at line 586 of file World.h.

◆ GetPlayerSecurityLimit()

AccountTypes World::GetPlayerSecurityLimit ( ) const
inline

Security level limitations.

Definition at line 605 of file World.h.

◆ GetQueuedSessionCount()

uint32 World::GetQueuedSessionCount ( ) const
inline

Definition at line 581 of file World.h.

Referenced by AddSession_().

◆ GetQueuePos()

int32 World::GetQueuePos ( WorldSession *  sess)

Definition at line 456 of file World.cpp.

References m_QueuedPlayer.

Referenced by AddQueuedPlayer().

◆ getRate()

float World::getRate ( Rates  rate) const
inline

Get a server rate (see Rates)

Definition at line 679 of file World.h.

◆ GetShutDownTimeLeft()

uint32 World::GetShutDownTimeLeft ( ) const
inline

Definition at line 665 of file World.h.

◆ GetUInt64Config()

uint64 World::GetUInt64Config ( WorldInt64Configs  index) const
inline

Definition at line 720 of file World.h.

References INT64_CONFIG_VALUE_COUNT.

◆ HasRecentlyDisconnected()

bool World::HasRecentlyDisconnected ( WorldSession *  session)

◆ IncreasePlayerCount()

void World::IncreasePlayerCount ( )
inline

Increase/Decrease number of players.

Definition at line 589 of file World.h.

◆ InitCalendarOldEventsDeletionTime()

◆ InitCurrencyResetTime()

◆ InitGuildResetTime()

◆ InitQuestResetTimes()

◆ InitRandomBGResetTime()

◆ instance()

World * World::instance ( )
static

Definition at line 196 of file World.cpp.

References instance().

Referenced by instance().

◆ IsBattlePetJournalLockAcquired()

bool World::IsBattlePetJournalLockAcquired ( ObjectGuid  battlenetAccountGuid)

Definition at line 3373 of file World.cpp.

References m_sessionsByBnetGuid, and Trinity::Containers::MapEqualRange().

◆ IsClosed()

bool World::IsClosed ( ) const

Deny clients?

Definition at line 222 of file World.cpp.

References m_isClosed.

◆ IsFFAPvPRealm()

bool World::IsFFAPvPRealm ( ) const

Definition at line 3387 of file World.cpp.

References CONFIG_GAME_TYPE, getIntConfig(), and REALM_TYPE_FFA_PVP.

Referenced by SetInitialWorldSettings().

◆ IsGuidAlert()

bool World::IsGuidAlert ( )
inline

Definition at line 780 of file World.h.

◆ IsGuidWarning()

bool World::IsGuidWarning ( )
inline

Definition at line 779 of file World.h.

◆ IsPvPRealm()

bool World::IsPvPRealm ( ) const

Are we on a "Player versus Player" server?

Definition at line 3382 of file World.cpp.

References CONFIG_GAME_TYPE, getIntConfig(), REALM_TYPE_FFA_PVP, REALM_TYPE_PVP, and REALM_TYPE_RPPVP.

◆ IsShuttingDown()

bool World::IsShuttingDown ( ) const
inline

Are we in the middle of a shutdown?

Definition at line 664 of file World.h.

◆ IsStopped()

static bool World::IsStopped ( )
inlinestatic

◆ KickAll()

void World::KickAll ( )

Kick (and save) all players.

Definition at line 2610 of file World.cpp.

References m_QueuedPlayer, and m_sessions.

◆ KickAllLess()

void World::KickAllLess ( AccountTypes  sec)

Kick (and save) all players with security level less sec

Definition at line 2620 of file World.cpp.

References m_sessions.

Referenced by SetPlayerSecurityLimit().

◆ LoadAutobroadcasts()

◆ LoadConfigSettings()

void World::LoadConfigSettings ( bool  reload = false)

Initialize config values.

  • Read the player limit and the Message of the day from the config file
  • Get string for new logins (newly created characters)
  • Read the "Data" directory from the config file

Definition at line 565 of file World.cpp.

References _alertRestartReason, _gameRules, _guidWarningMsg, BAN_ACCOUNT, BAN_CHARACTER, BAN_IP, baseMoveSpeed, CONFIG_ACC_PASSCHANGESEC, CONFIG_ADDON_CHANNEL, CONFIG_AHBOT_UPDATE_INTERVAL, CONFIG_ALL_TAXI_PATHS, CONFIG_ALLOW_GM_GROUP, CONFIG_ALLOW_LOGGING_IP_ADDRESSES_IN_DATABASE, CONFIG_ALLOW_TWO_SIDE_INTERACTION_AUCTION, CONFIG_ALLOW_TWO_SIDE_INTERACTION_CALENDAR, CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL, CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP, CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD, CONFIG_ALLOW_TWO_SIDE_TRADE, CONFIG_ARENA_LOG_EXTENDED_INFO, CONFIG_ARENA_LOSE_RATING_MODIFIER, CONFIG_ARENA_MATCHMAKER_RATING_MODIFIER, CONFIG_ARENA_MAX_RATING_DIFFERENCE, CONFIG_ARENA_QUEUE_ANNOUNCER_ENABLE, CONFIG_ARENA_RATED_UPDATE_TIMER, CONFIG_ARENA_RATING_DISCARD_TIMER, CONFIG_ARENA_SEASON_ID, CONFIG_ARENA_SEASON_IN_PROGRESS, CONFIG_ARENA_START_MATCHMAKER_RATING, CONFIG_ARENA_START_PERSONAL_RATING, CONFIG_ARENA_START_RATING, CONFIG_ARENA_WIN_RATING_MODIFIER_1, CONFIG_ARENA_WIN_RATING_MODIFIER_2, CONFIG_AUCTION_LEVEL_REQ, CONFIG_AUCTION_REPLICATE_DELAY, CONFIG_AUCTION_SEARCH_DELAY, CONFIG_AUCTION_TAINTED_SEARCH_DELAY, CONFIG_AUTOBROADCAST, CONFIG_AUTOBROADCAST_CENTER, CONFIG_AUTOBROADCAST_INTERVAL, CONFIG_BASEMAP_LOAD_GRIDS, CONFIG_BATTLEGROUND_CAST_DESERTER, CONFIG_BATTLEGROUND_INVITATION_TYPE, CONFIG_BATTLEGROUND_PREMADE_GROUP_WAIT_FOR_MATCH, CONFIG_BATTLEGROUND_PREMATURE_FINISH_TIMER, CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_ENABLE, CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_PLAYERONLY, CONFIG_BATTLEGROUND_REPORT_AFK, CONFIG_BATTLEGROUND_STORE_STATISTICS_ENABLE, CONFIG_BATTLEGROUNDMAP_LOAD_GRIDS, CONFIG_BG_REWARD_LOSER_HONOR_FIRST, CONFIG_BG_REWARD_LOSER_HONOR_LAST, CONFIG_BG_REWARD_WINNER_CONQUEST_FIRST, CONFIG_BG_REWARD_WINNER_CONQUEST_LAST, CONFIG_BG_REWARD_WINNER_HONOR_FIRST, CONFIG_BG_REWARD_WINNER_HONOR_LAST, CONFIG_BG_XP_FOR_KILL, CONFIG_BLACKMARKET_ENABLED, CONFIG_BLACKMARKET_MAXAUCTIONS, CONFIG_BLACKMARKET_UPDATE_PERIOD, CONFIG_CACHE_DATA_QUERIES, CONFIG_CALCULATE_CREATURE_ZONE_AREA_DATA, CONFIG_CALCULATE_GAMEOBJECT_ZONE_AREA_DATA, CONFIG_CALENDAR_DELETE_OLD_EVENTS_HOUR, CONFIG_CALL_TO_ARMS_10_PCT, CONFIG_CALL_TO_ARMS_20_PCT, CONFIG_CALL_TO_ARMS_5_PCT, CONFIG_CAST_UNSTUCK, CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT, CONFIG_CHARACTER_CREATING_DISABLED, CONFIG_CHARACTER_CREATING_DISABLED_CLASSMASK, CONFIG_CHARACTER_CREATING_DISABLED_RACEMASK, CONFIG_CHARACTER_CREATING_EVOKERS_PER_REALM, CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_DEMON_HUNTER, CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_EVOKER, CONFIG_CHARACTERS_PER_ACCOUNT, CONFIG_CHARACTERS_PER_REALM, CONFIG_CHARDELETE_DEATH_KNIGHT_MIN_LEVEL, CONFIG_CHARDELETE_DEMON_HUNTER_MIN_LEVEL, CONFIG_CHARDELETE_KEEP_DAYS, CONFIG_CHARDELETE_METHOD, CONFIG_CHARDELETE_MIN_LEVEL, CONFIG_CHARTER_COST_ARENA_2v2, CONFIG_CHARTER_COST_ARENA_3v3, CONFIG_CHARTER_COST_ARENA_5v5, CONFIG_CHARTER_COST_GUILD, CONFIG_CHAT_CHANNEL_LEVEL_REQ, CONFIG_CHAT_EMOTE_LEVEL_REQ, CONFIG_CHAT_FAKE_MESSAGE_PREVENTING, CONFIG_CHAT_PARTY_RAID_WARNINGS, CONFIG_CHAT_SAY_LEVEL_REQ, CONFIG_CHAT_STRICT_LINK_CHECKING_KICK, CONFIG_CHAT_STRICT_LINK_CHECKING_SEVERITY, CONFIG_CHAT_WHISPER_LEVEL_REQ, CONFIG_CHAT_YELL_LEVEL_REQ, CONFIG_CHATFLOOD_ADDON_MESSAGE_COUNT, CONFIG_CHATFLOOD_ADDON_MESSAGE_DELAY, CONFIG_CHATFLOOD_MESSAGE_COUNT, CONFIG_CHATFLOOD_MESSAGE_DELAY, CONFIG_CHATFLOOD_MUTE_TIME, CONFIG_CHECK_GOBJECT_LOS, CONFIG_CLEAN_CHARACTER_DB, CONFIG_CLEAN_OLD_MAIL_TIME, CONFIG_CLIENTCACHE_VERSION, CONFIG_COMPRESSION, CONFIG_CORPSE_DECAY_ELITE, CONFIG_CORPSE_DECAY_MINUSMOB, CONFIG_CORPSE_DECAY_NORMAL, CONFIG_CORPSE_DECAY_OBSOLETE, CONFIG_CORPSE_DECAY_RARE, CONFIG_CORPSE_DECAY_RAREELITE, CONFIG_CORPSE_DECAY_TRIVIAL, CONFIG_CREATURE_CHECK_INVALID_POSITION, CONFIG_CREATURE_FAMILY_ASSISTANCE_DELAY, CONFIG_CREATURE_FAMILY_ASSISTANCE_RADIUS, CONFIG_CREATURE_FAMILY_FLEE_ASSISTANCE_RADIUS, CONFIG_CREATURE_FAMILY_FLEE_DELAY, CONFIG_CREATURE_PICKPOCKET_REFILL, CONFIG_CREATURE_STOP_FOR_PLAYER, CONFIG_CURRENCY_RESET_DAY, CONFIG_CURRENCY_RESET_HOUR, CONFIG_CURRENCY_RESET_INTERVAL, CONFIG_DAILY_QUEST_RESET_TIME_HOUR, CONFIG_DB_PING_INTERVAL, CONFIG_DBC_ENFORCE_ITEM_ATTRIBUTES, CONFIG_DEATH_BONES_BG_OR_ARENA, CONFIG_DEATH_BONES_WORLD, CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVE, CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVP, CONFIG_DEATH_SICKNESS_LEVEL, CONFIG_DECLINED_NAMES_USED, CONFIG_DETECT_POS_COLLISION, CONFIG_DIE_COMMAND_MODE, CONFIG_DISABLE_BREATHING, CONFIG_DURABILITY_LOSS_IN_PVP, CONFIG_ENABLE_AE_LOOT, CONFIG_ENABLE_MMAPS, CONFIG_ENABLE_SINFO_LOGIN, CONFIG_EVENT_ANNOUNCE, CONFIG_EXPANSION, CONFIG_EXTENDED_ACCOUNT_NAME_LENGTH_LIMIT, CONFIG_FACTION_BALANCE_LEVEL_CHECK_DIFF, CONFIG_FEATURE_SYSTEM_CHARACTER_UNDELETE_COOLDOWN, CONFIG_FEATURE_SYSTEM_CHARACTER_UNDELETE_ENABLED, CONFIG_FORCE_SHUTDOWN_THRESHOLD, CONFIG_GAME_OBJECT_CHECK_INVALID_POSITION, CONFIG_GAME_TYPE, CONFIG_GM_CHAT, CONFIG_GM_FREEZE_DURATION, CONFIG_GM_LEVEL_IN_GM_LIST, CONFIG_GM_LEVEL_IN_WHO_LIST, CONFIG_GM_LOGIN_STATE, CONFIG_GM_LOWER_SECURITY, CONFIG_GM_VISIBLE_STATE, CONFIG_GM_WHISPERING_TO, CONFIG_GRID_UNLOAD, CONFIG_GROUP_VISIBILITY, CONFIG_GROUP_XP_DISTANCE, CONFIG_GUILD_BANK_EVENT_LOG_COUNT, CONFIG_GUILD_EVENT_LOG_COUNT, CONFIG_GUILD_NEWS_LOG_COUNT, CONFIG_GUILD_RESET_HOUR, CONFIG_GUILD_SAVE_INTERVAL, CONFIG_HONOR_AFTER_DUEL, CONFIG_HOTSWAP_BUILD_FILE_RECREATION_ENABLED, CONFIG_HOTSWAP_EARLY_TERMINATION_ENABLED, CONFIG_HOTSWAP_ENABLED, CONFIG_HOTSWAP_INSTALL_ENABLED, CONFIG_HOTSWAP_PREFIX_CORRECTION_ENABLED, CONFIG_HOTSWAP_RECOMPILER_ENABLED, CONFIG_INSTANCE_IGNORE_LEVEL, CONFIG_INSTANCE_IGNORE_RAID, CONFIG_INSTANCE_UNLOAD_DELAY, CONFIG_INSTANCEMAP_LOAD_GRIDS, CONFIG_INSTANCES_RESET_ANNOUNCE, CONFIG_INSTANT_TAXI, CONFIG_INTERVAL_CHANGEWEATHER, CONFIG_INTERVAL_DISCONNECT_TOLERANCE, CONFIG_INTERVAL_GRIDCLEAN, CONFIG_INTERVAL_MAPUPDATE, CONFIG_INTERVAL_SAVE, CONFIG_IP_BASED_ACTION_LOGGING, CONFIG_LFG_OPTIONSMASK, CONFIG_LISTEN_RANGE_SAY, CONFIG_LISTEN_RANGE_TEXTEMOTE, CONFIG_LISTEN_RANGE_YELL, CONFIG_LOAD_LOCALES, CONFIG_LOGDB_CLEARINTERVAL, CONFIG_LOGDB_CLEARTIME, CONFIG_MAIL_DELIVERY_DELAY, CONFIG_MAIL_LEVEL_REQ, CONFIG_MAX_INSTANCES_PER_HOUR, CONFIG_MAX_OVERSPEED_PINGS, CONFIG_MAX_PLAYER_LEVEL, CONFIG_MAX_PRIMARY_TRADE_SKILL, CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL, CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL_DIFFERENCE, CONFIG_MAX_RECRUIT_A_FRIEND_DISTANCE, CONFIG_MAX_RESULTS_LOOKUP_COMMANDS, CONFIG_MAX_VISIBILITY_DISTANCE_ARENA, CONFIG_MAX_VISIBILITY_DISTANCE_BATTLEGROUND, CONFIG_MAX_VISIBILITY_DISTANCE_CONTINENT, CONFIG_MAX_VISIBILITY_DISTANCE_INSTANCE, CONFIG_MAX_WHO, CONFIG_MIN_CHARTER_NAME, CONFIG_MIN_CREATURE_SCALED_XP_RATIO, CONFIG_MIN_DISCOVERED_SCALED_XP_RATIO, CONFIG_MIN_DUALSPEC_LEVEL, CONFIG_MIN_LEVEL_STAT_SAVE, CONFIG_MIN_PET_NAME, CONFIG_MIN_PETITION_SIGNS, CONFIG_MIN_PLAYER_NAME, CONFIG_MIN_QUEST_SCALED_XP_RATIO, CONFIG_NO_GRAY_AGGRO_ABOVE, CONFIG_NO_GRAY_AGGRO_BELOW, CONFIG_NO_RESET_TALENT_COST, CONFIG_NUMTHREADS, CONFIG_OFFHAND_CHECK_AT_SPELL_UNLEARN, CONFIG_PACKET_SPOOF_BANDURATION, CONFIG_PACKET_SPOOF_BANMODE, CONFIG_PACKET_SPOOF_POLICY, CONFIG_PARTY_LEVEL_REQ, CONFIG_PDUMP_NO_OVERWRITE, CONFIG_PDUMP_NO_PATHS, CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS, CONFIG_PORT_WORLD, CONFIG_PRESERVE_CUSTOM_CHANNEL_DURATION, CONFIG_PRESERVE_CUSTOM_CHANNEL_INTERVAL, CONFIG_PRESERVE_CUSTOM_CHANNELS, CONFIG_PREVENT_RENAME_CUSTOMIZATION, CONFIG_PVP_TOKEN_COUNT, CONFIG_PVP_TOKEN_ENABLE, CONFIG_PVP_TOKEN_ID, CONFIG_PVP_TOKEN_MAP_TYPE, CONFIG_QUEST_ENABLE_QUEST_TRACKER, CONFIG_QUEST_HIGH_LEVEL_HIDE_DIFF, CONFIG_QUEST_IGNORE_AUTO_ACCEPT, CONFIG_QUEST_IGNORE_AUTO_COMPLETE, CONFIG_QUEST_IGNORE_RAID, CONFIG_QUEST_LOW_LEVEL_HIDE_DIFF, CONFIG_RANDOM_BG_RESET_HOUR, CONFIG_REALM_ZONE, CONFIG_REGEN_HP_CANNOT_REACH_TARGET_IN_RAID, CONFIG_RESET_DUEL_COOLDOWNS, CONFIG_RESET_DUEL_HEALTH_MANA, CONFIG_RESET_SCHEDULE_HOUR, CONFIG_RESET_SCHEDULE_WEEK_DAY, CONFIG_RESPAWN_DYNAMIC_ESCORTNPC, CONFIG_RESPAWN_DYNAMICMINIMUM_CREATURE, CONFIG_RESPAWN_DYNAMICMINIMUM_GAMEOBJECT, CONFIG_RESPAWN_DYNAMICMODE, CONFIG_RESPAWN_DYNAMICRATE_CREATURE, CONFIG_RESPAWN_DYNAMICRATE_GAMEOBJECT, CONFIG_RESPAWN_GUIDALERTLEVEL, CONFIG_RESPAWN_GUIDWARNING_FREQUENCY, CONFIG_RESPAWN_GUIDWARNLEVEL, CONFIG_RESPAWN_MINCHECKINTERVALMS, CONFIG_RESPAWN_RESTARTQUIETTIME, CONFIG_RESTRICTED_LFG_CHANNEL, CONFIG_SESSION_ADD_DELAY, CONFIG_SHOW_BAN_IN_WORLD, CONFIG_SHOW_KICK_IN_WORLD, CONFIG_SHOW_MUTE_IN_WORLD, CONFIG_SIGHT_MONSTER, CONFIG_SKILL_CHANCE_GREEN, CONFIG_SKILL_CHANCE_GREY, CONFIG_SKILL_CHANCE_MINING_STEPS, CONFIG_SKILL_CHANCE_ORANGE, CONFIG_SKILL_CHANCE_SKINNING_STEPS, CONFIG_SKILL_CHANCE_YELLOW, CONFIG_SKILL_GAIN_CRAFTING, CONFIG_SKILL_GAIN_GATHERING, CONFIG_SKILL_MILLING, CONFIG_SKILL_PROSPECTING, CONFIG_SKIP_CINEMATICS, CONFIG_SOCKET_TIMEOUTTIME, CONFIG_SOCKET_TIMEOUTTIME_ACTIVE, CONFIG_START_ALL_EXPLORED, CONFIG_START_ALL_REP, CONFIG_START_ALL_SPELLS, CONFIG_START_ALLIED_RACE_LEVEL, CONFIG_START_ALLIED_RACE_MONEY, CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL, CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY, CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL, CONFIG_START_DEMON_HUNTER_PLAYER_MONEY, CONFIG_START_EVOKER_PLAYER_MONEY, CONFIG_START_GM_LEVEL, CONFIG_START_PLAYER_LEVEL, CONFIG_START_PLAYER_MONEY, CONFIG_STATS_LIMITS_BLOCK, CONFIG_STATS_LIMITS_CRIT, CONFIG_STATS_LIMITS_DODGE, CONFIG_STATS_LIMITS_ENABLE, CONFIG_STATS_LIMITS_PARRY, CONFIG_STATS_SAVE_ONLY_ON_LOGOUT, CONFIG_STRICT_CHARTER_NAMES, CONFIG_STRICT_PET_NAMES, CONFIG_STRICT_PLAYER_NAMES, CONFIG_SUPPORT_BUGS_ENABLED, CONFIG_SUPPORT_COMPLAINTS_ENABLED, CONFIG_SUPPORT_ENABLED, CONFIG_SUPPORT_SUGGESTIONS_ENABLED, CONFIG_SUPPORT_TICKETS_ENABLED, CONFIG_TALENTS_INSPECTING, CONFIG_THREAT_RADIUS, CONFIG_TOLBARAD_BATTLETIME, CONFIG_TOLBARAD_BONUSTIME, CONFIG_TOLBARAD_ENABLE, CONFIG_TOLBARAD_NOBATTLETIME, CONFIG_TOLBARAD_PLR_MAX, CONFIG_TOLBARAD_PLR_MIN, CONFIG_TOLBARAD_PLR_MIN_LVL, CONFIG_TOLBARAD_RESTART_AFTER_CRASH, CONFIG_TRADE_LEVEL_REQ, CONFIG_UPTIME_UPDATE, CONFIG_VISIBILITY_NOTIFY_PERIOD_ARENA, CONFIG_VISIBILITY_NOTIFY_PERIOD_BATTLEGROUND, CONFIG_VISIBILITY_NOTIFY_PERIOD_CONTINENT, CONFIG_VISIBILITY_NOTIFY_PERIOD_INSTANCE, CONFIG_VMAP_INDOOR_CHECK, CONFIG_WEATHER, CONFIG_WEEKLY_QUEST_RESET_TIME_WDAY, CONFIG_WHO_LIST_UPDATE_INTERVAL, CONFIG_WINTERGRASP_BATTLETIME, CONFIG_WINTERGRASP_ENABLE, CONFIG_WINTERGRASP_NOBATTLETIME, CONFIG_WINTERGRASP_PLR_MAX, CONFIG_WINTERGRASP_PLR_MIN, CONFIG_WINTERGRASP_PLR_MIN_LVL, CONFIG_WINTERGRASP_RESTART_AFTER_CRASH, CONFIG_WORLD_BOSS_LEVEL_DIFF, CONFIG_XP_BOOST_DAYMASK, VMAP::VMapFactory::createOrGetVMapManager(), CURRENT_EXPANSION, DEFAULT_VISIBILITY_BGARENAS, DEFAULT_VISIBILITY_DISTANCE, DEFAULT_VISIBILITY_INSTANCE, DEFAULT_VISIBILITY_NOTIFY_PERIOD, getBoolConfig(), getIntConfig(), GetMaxLevelForExpansion(), GUILD_BANKLOG_MAX_RECORDS, GUILD_EVENTLOG_MAX_RECORDS, GUILD_NEWSLOG_MAX_RECORDS, HARDCODED_DEVELOPMENT_REALM_CATEGORY_ID, HOUR, HousingEnabled, IN_MILLISECONDS, LOCALE_enUS, LOCALE_none, localeNames, m_bool_configs, m_dataPath, m_defaultDbcLocale, m_float_configs, m_int64_configs, m_int_configs, m_timers, MAX_CHARACTERS_PER_REALM, MAX_CHARTER_NAME, MAX_EXPANSIONS, MAX_LEVEL, MAX_MONEY_AMOUNT, MAX_MOVE_TYPE, MAX_PET_NAME, MAX_PLAYER_NAME, MAX_VISIBILITY_DISTANCE, MIN_GRID_DELAY, MIN_MAP_UPDATE_DELAY, MINUTE, playerBaseMoveSpeed, WorldSession::DosProtection::POLICY_KICK, RATE_AUCTION_CUT, RATE_AUCTION_DEPOSIT, RATE_AUCTION_TIME, RATE_CORPSE_DECAY_LOOTED, RATE_CREATURE_AGGRO, RATE_CREATURE_DAMAGE_ELITE, RATE_CREATURE_DAMAGE_MINUSMOB, RATE_CREATURE_DAMAGE_NORMAL, RATE_CREATURE_DAMAGE_OBSOLETE, RATE_CREATURE_DAMAGE_RARE, RATE_CREATURE_DAMAGE_RAREELITE, RATE_CREATURE_DAMAGE_TRIVIAL, RATE_CREATURE_HP_ELITE, RATE_CREATURE_HP_MINUSMOB, RATE_CREATURE_HP_NORMAL, RATE_CREATURE_HP_OBSOLETE, RATE_CREATURE_HP_RARE, RATE_CREATURE_HP_RAREELITE, RATE_CREATURE_HP_TRIVIAL, RATE_CREATURE_SPELLDAMAGE_ELITE, RATE_CREATURE_SPELLDAMAGE_MINUSMOB, RATE_CREATURE_SPELLDAMAGE_NORMAL, RATE_CREATURE_SPELLDAMAGE_OBSOLETE, RATE_CREATURE_SPELLDAMAGE_RARE, RATE_CREATURE_SPELLDAMAGE_RAREELITE, RATE_CREATURE_SPELLDAMAGE_TRIVIAL, RATE_DAMAGE_FALL, RATE_DROP_ITEM_ARTIFACT, RATE_DROP_ITEM_EPIC, RATE_DROP_ITEM_LEGENDARY, RATE_DROP_ITEM_NORMAL, RATE_DROP_ITEM_POOR, RATE_DROP_ITEM_RARE, RATE_DROP_ITEM_REFERENCED, RATE_DROP_ITEM_REFERENCED_AMOUNT, RATE_DROP_ITEM_UNCOMMON, RATE_DROP_MONEY, RATE_DURABILITY_LOSS_ABSORB, RATE_DURABILITY_LOSS_BLOCK, RATE_DURABILITY_LOSS_DAMAGE, RATE_DURABILITY_LOSS_ON_DEATH, RATE_DURABILITY_LOSS_PARRY, RATE_HEALTH, RATE_HONOR, RATE_INSTANCE_RESET_TIME, RATE_MONEY_MAX_LEVEL_QUEST, RATE_MONEY_QUEST, RATE_MOVESPEED, RATE_POWER_ARCANE_CHARGES, RATE_POWER_CHI, RATE_POWER_COMBO_POINTS_LOSS, RATE_POWER_ENERGY, RATE_POWER_ESSENCE, RATE_POWER_FOCUS, RATE_POWER_FURY, RATE_POWER_HOLY_POWER, RATE_POWER_INSANITY, RATE_POWER_LUNAR_POWER, RATE_POWER_MAELSTROM, RATE_POWER_MANA, RATE_POWER_PAIN, RATE_POWER_RAGE_INCOME, RATE_POWER_RAGE_LOSS, RATE_POWER_RUNIC_POWER_INCOME, RATE_POWER_RUNIC_POWER_LOSS, RATE_POWER_SOUL_SHARDS, RATE_REPAIRCOST, RATE_REPUTATION_GAIN, RATE_REPUTATION_LOWLEVEL_KILL, RATE_REPUTATION_LOWLEVEL_QUEST, RATE_REPUTATION_RECRUIT_A_FRIEND_BONUS, RATE_REST_INGAME, RATE_REST_OFFLINE_IN_TAVERN_OR_CITY, RATE_REST_OFFLINE_IN_WILDERNESS, RATE_SKILL_DISCOVERY, rate_values, RATE_XP_BG_KILL, RATE_XP_BOOST, RATE_XP_EXPLORE, RATE_XP_KILL, RATE_XP_QUEST, IntervalTimer::Reset(), Russian, sCfgCategoriesStore, sConfigMgr, SEC_ADMINISTRATOR, SEC_CONSOLE, VMAP::VMapManager::setEnableHeightCalc(), VMAP::VMapManager::setEnableLineOfSightCalc(), IntervalTimer::SetInterval(), SetMotd(), SetNewCharString(), SetPlayerAmountLimit(), WorldStateMgr::SetValue(), sLog, sMapMgr, sMetric, sScriptMgr, sSupportMgr, StoreConfigValue(), STRONG_MAX_LEVEL, TC_LOG_ERROR, TC_LOG_INFO, TC_LOG_WARN, TOTAL_LOCALES, TransmogEnabled, USER_HOME_DIRECTORY_VARIABLE, WS_CURRENT_PVP_SEASON_ID, WS_PREVIOUS_PVP_SEASON_ID, WUPDATE_AUTOBROADCAST, WUPDATE_CLEANDB, WUPDATE_UPTIME, and WUPDATE_WHO_LIST.

Referenced by SetInitialWorldSettings().

◆ LoadDBAllowedSecurityLevel()

void World::LoadDBAllowedSecurityLevel ( )

Definition at line 235 of file World.cpp.

References SetPlayerSecurityLimit(), and sRealmList.

Referenced by SetInitialWorldSettings().

◆ LoadDBVersion()

void World::LoadDBVersion ( )

◆ LoadPersistentWorldVariables()

void World::LoadPersistentWorldVariables ( )

◆ operator=() [1/2]

World & World::operator= ( World &&  )
delete

◆ operator=() [2/2]

World & World::operator= ( World const &  )
delete

◆ ProcessCliCommands()

◆ ProcessQueryCallbacks()

void World::ProcessQueryCallbacks ( )
private

Definition at line 3426 of file World.cpp.

References _queryProcessor, and AsyncCallbackProcessor< T >::ProcessReadyCallbacks().

Referenced by Update().

◆ QueueCliCommand()

void World::QueueCliCommand ( CliCommandHolder *  commandHolder)
inline

Definition at line 752 of file World.h.

◆ ReloadRBAC()

void World::ReloadRBAC ( )

Definition at line 3431 of file World.cpp.

References m_sessions, and TC_LOG_INFO.

◆ RemoveBanAccount()

bool World::RemoveBanAccount ( BanMode  mode,
std::string const &  nameOrIP 
)

◆ RemoveBanCharacter()

bool World::RemoveBanCharacter ( std::string const &  name)

◆ RemoveOldCorpses()

void World::RemoveOldCorpses ( )

Definition at line 3440 of file World.cpp.

References m_timers, IntervalTimer::SetCurrent(), and WUPDATE_CORPSES.

◆ RemoveQueuedPlayer()

◆ RemoveSession()

bool World::RemoveSession ( uint32  id)

Remove a given session.

  • Find the session, kick the user, but we can't delete session at this moment to prevent iterator invalidation

Definition at line 335 of file World.cpp.

References WorldSession::KickPlayer(), and m_sessions.

Referenced by AddSession_().

◆ ResetCurrencyWeekCap()

void World::ResetCurrencyWeekCap ( )
protected

◆ ResetEventSeasonalQuests()

void World::ResetEventSeasonalQuests ( uint16  event_id,
time_t  eventStartTime 
)

◆ ResetGuildCap()

void World::ResetGuildCap ( )
protected

◆ ResetMonthlyQuests()

◆ ResetRandomBG()

void World::ResetRandomBG ( )
protected

◆ ResetWeeklyQuests()

◆ SendAutoBroadcast()

◆ SendGlobalGMMessage()

void World::SendGlobalGMMessage ( WorldPacket const *  packet,
WorldSession *  self = nullptr,
Optional< Team >  team = { } 
)

◆ SendGlobalMessage()

void World::SendGlobalMessage ( WorldPacket const *  packet,
WorldSession *  self = nullptr,
Optional< Team >  team = { } 
)

Send a packet to all players (except self if mentioned)

Definition at line 2448 of file World.cpp.

References m_sessions.

Referenced by SendAutoBroadcast(), SendGlobalText(), and SendServerMessage().

◆ SendGlobalText()

void World::SendGlobalText ( char const *  text,
WorldSession *  self 
)

DEPRECATED, only for debug purpose. Send a System Message to all players (except self if mentioned)

Definition at line 2593 of file World.cpp.

References CHAT_MSG_SYSTEM, WorldPackets::Chat::Chat::Initialize(), LANG_UNIVERSAL, ChatHandler::LineFromMessage(), SendGlobalMessage(), and WorldPackets::Chat::Chat::Write().

◆ SendGMText()

void World::SendGMText ( uint32  string_id,
  ... 
)

Send a System Message to all GMs (except self if mentioned)

Definition at line 2567 of file World.cpp.

References WorldSession::GetPlayer(), WorldSession::HasPermission(), BaseEntity::IsInWorld(), m_sessions, and rbac::RBAC_PERM_RECEIVE_GLOBAL_GM_TEXTMESSAGE.

◆ SendGuidWarning()

void World::SendGuidWarning ( )
private

◆ SendServerMessage()

◆ SendWorldText()

void World::SendWorldText ( uint32  string_id,
  ... 
)

Send a System Message to all players (except self if mentioned)

Definition at line 2548 of file World.cpp.

References m_sessions.

Referenced by SendAutoBroadcast().

◆ SetAllowMovement()

void World::SetAllowMovement ( bool  allow)
inline

Allow/Disallow object movements.

Definition at line 624 of file World.h.

◆ setBoolConfig()

void World::setBoolConfig ( WorldBoolConfigs  index,
bool  value 
)
inline

Set a server configuration element (see #WorldConfigs)

Definition at line 682 of file World.h.

References BOOL_CONFIG_VALUE_COUNT.

◆ SetCleaningFlags()

void World::SetCleaningFlags ( uint32  flags)
inline

Definition at line 771 of file World.h.

References flags.

◆ SetClosed()

void World::SetClosed ( bool  val)

Close world.

Definition at line 227 of file World.cpp.

References m_isClosed, and sScriptMgr.

◆ setFloatConfig()

void World::setFloatConfig ( WorldFloatConfigs  index,
float  value 
)
inline

Set a server configuration element (see #WorldConfigs)

Definition at line 695 of file World.h.

References FLOAT_CONFIG_VALUE_COUNT.

◆ SetForcedWarModeFactionBalanceState()

void World::SetForcedWarModeFactionBalanceState ( TeamId  team,
int32  reward = 0 
)

◆ SetInitialWorldSettings()

bool World::SetInitialWorldSettings ( )

Initialize the World.

  • Server startup begin
  • Initialize the random number generator
  • Initialize detour memory management
  • Initialize VMapManager function pointers (to untangle game/collision circular deps)
  • Initialize config settings
  • Initialize Allowed Security Level
  • Init highest guids before any table loading to prevent using not initialized guids in some code.
  • Check the existence of the map files for all races' startup areas.
  • Initialize pool manager
  • Initialize game event manager
  • Loading strings. Getting no records means core load has to be canceled because no error message can be output.
  • Update the realm entry in the database with the realm type from the config file
  • Load DB2s
  • Load M2 fly by cameras
  • Load GameTables
  • Initialize static helper structures
  • Load dynamic data tables from the database
  • Handle outdated emails (delete/return)
  • Load and initialize scripts
  • Initialize game time and timers
Todo:
Get rid of magic numbers
  • Initialize Battlegrounds
  • Initialize outdoor pvp

Definition at line 1236 of file World.cpp.

References ASSERT, DisableMgr::CheckQuestDisables(), CheckScheduledResetTimes(), CharacterDatabaseCleaner::CleanDatabase(), CONFIG_AHBOT_UPDATE_INTERVAL, CONFIG_ARENA_SEASON_ID, CONFIG_ARENA_SEASON_IN_PROGRESS, CONFIG_AUTOBROADCAST_INTERVAL, CONFIG_BLACKMARKET_ENABLED, CONFIG_CLEAN_OLD_MAIL_TIME, CONFIG_DB_PING_INTERVAL, CONFIG_DECLINED_NAMES_USED, CONFIG_EXPANSION, CONFIG_GAME_TYPE, CONFIG_GUILD_SAVE_INTERVAL, CONFIG_LOAD_LOCALES, CONFIG_LOGDB_CLEARINTERVAL, CONFIG_PRESERVE_CUSTOM_CHANNEL_INTERVAL, CONFIG_REALM_ZONE, CONFIG_UPTIME_UPDATE, CONFIG_WHO_LIST_UPDATE_INTERVAL, VMAP::VMapFactory::createOrGetVMapManager(), DAY, Player::DeleteOldCharacters(), dtCustomAlloc(), dtCustomFree(), TerrainMgr::ExistMapAndVMap(), getBoolConfig(), GetDefaultDbcLocale(), GitRevision::GetFullVersion(), GameTime::GetGameTime(), getIntConfig(), IntervalTimer::GetInterval(), DB2Manager::GetLiquidFlags(), VMAP::VMapManager::GetLiquidFlagsPtr, getMSTime(), GetMSTimeDiffToNow(), GameTime::GetStartTime(), HOUR, IN_MILLISECONDS, InitCalendarOldEventsDeletionTime(), InitCurrencyResetTime(), InitGuildResetTime(), AIRegistry::Initialize(), BattlePets::BattlePetMgr::Initialize(), TaxiPathGraph::Initialize(), OpcodeTable::Initialize(), WorldPackets::Auth::ConnectTo::InitializeEncryption(), WorldPackets::Auth::EnterEncryptedMode::InitializeEncryption(), PlayerDump::InitializeTables(), VMAP::VMapManager::InitializeThreadUnsafe(), MMAP::MMapManager::InitializeThreadUnsafe(), InitQuestResetTimes(), InitRandomBGResetTime(), MMAP::MMapManager::instance(), IsFFAPvPRealm(), DisableMgr::IsVMAPDisabledFor(), VMAP::VMapManager::IsVMAPDisabledForPtr, ItemBonusMgr::Load(), QuestMgr::Load(), TraitMgr::Load(), TransmogMgr::Load(), LoadAutobroadcasts(), Trinity::ChatCommands::LoadCommandMap(), LoadConfigSettings(), LoadDBAllowedSecurityLevel(), DisableMgr::LoadDisables(), ChannelMgr::LoadFromDB(), WorldStateMgr::LoadFromDB(), LoadGameObjectModelList(), LoadGameTables(), LoadItemRandomBonusListTemplates(), LoadLootTables(), LoadM2Cameras(), CollectionMgr::LoadMountDefinitions(), LoadPersistentWorldVariables(), LoadSkillDiscoveryTable(), LoadSkillExtraItemTable(), LoadSkillPerfectItemTable(), CollectionMgr::LoadWarbandSceneDefinitions(), WeatherMgr::LoadWeatherData(), localeNames, LoginDatabase, m_availableDbcLocaleMask, m_bool_configs, m_dataPath, m_defaultDbcLocale, m_int_configs, m_timers, mail_timer, mail_timer_expires, MINUTE, opcodeTable, QUERY_DATA_ALL, REALM_TYPE_PVP, Russian, sAccountMgr, sAchievementMgr, sAreaTriggerDataStore, sArenaTeamMgr, sAuctionBot, sAuctionMgr, sBattlefieldMgr, sBattlegroundMgr, sBlackMarketMgr, sCalendarMgr, sCfgCategoriesStore, sCharacterCache, sCharacterTemplateDataStore, sConditionMgr, sConversationDataStore, sCreatureTextMgr, sCriteriaMgr, sDB2Manager, IntervalTimer::SetInterval(), WorldStateMgr::SetValue(), sFormationMgr, sGameEventMgr, sGarrisonMgr, sGroupMgr, sGuildMgr, sInstanceLockMgr, sIPLocation, sLanguageMgr, sLFGMgr, sLog, sLootItemStorage, sMapMgr, sMapStore, sObjectMgr, sOutdoorPvPMgr, sPetitionMgr, sPoolMgr, sQuestPoolMgr, sRealmList, sScenarioMgr, sScriptMgr, sSmartScriptMgr, sSpellMgr, sSupportMgr, sTerrainMgr, sTransportMgr, Trinity::StringFormat(), sWaypointMgr, TC_LOG_FATAL, TC_LOG_INFO, TC_METRIC_EVENT, GameTime::UpdateGameTimers(), WS_CURRENT_PVP_SEASON_ID, WS_PREVIOUS_PVP_SEASON_ID, WUPDATE_AHBOT, WUPDATE_AUCTIONS, WUPDATE_AUCTIONS_PENDING, WUPDATE_AUTOBROADCAST, WUPDATE_BLACKMARKET, WUPDATE_CHANNEL_SAVE, WUPDATE_CHECK_FILECHANGES, WUPDATE_CLEANDB, WUPDATE_CORPSES, WUPDATE_DELETECHARS, WUPDATE_EVENTS, WUPDATE_GUILDSAVE, WUPDATE_PINGDB, WUPDATE_UPTIME, and WUPDATE_WHO_LIST.

◆ setIntConfig()

void World::setIntConfig ( WorldIntConfigs  index,
uint32  value 
)
inline

Set a server configuration element (see #WorldConfigs)

Definition at line 708 of file World.h.

References INT_CONFIG_VALUE_COUNT.

◆ SetMotd()

void World::SetMotd ( std::string  motd)

Set a new Message of the Day.

we are using a string copy here to allow modifications in script hooks

Definition at line 250 of file World.cpp.

References _motd, sScriptMgr, and Trinity::Tokenize().

Referenced by LoadConfigSettings().

◆ SetNewCharString()

void World::SetNewCharString ( std::string const &  str)
inline

Set the string for new characters (first login)

Definition at line 632 of file World.h.

Referenced by LoadConfigSettings().

◆ SetPersistentWorldVariable()

◆ SetPlayerAmountLimit()

void World::SetPlayerAmountLimit ( uint32  limit)
inline

Active session server limit.

Definition at line 610 of file World.h.

Referenced by LoadConfigSettings().

◆ SetPlayerSecurityLimit()

void World::SetPlayerSecurityLimit ( AccountTypes  sec)

Definition at line 241 of file World.cpp.

References KickAllLess(), m_allowedSecurityLevel, SEC_CONSOLE, and SEC_PLAYER.

Referenced by LoadDBAllowedSecurityLevel().

◆ setRate()

void World::setRate ( Rates  rate,
float  value 
)
inline

Set a server rate (see Rates)

Definition at line 677 of file World.h.

◆ ShutdownCancel()

◆ ShutdownMsg()

void World::ShutdownMsg ( bool  show = false,
Player *  player = nullptr,
const std::string &  reason = std::string() 
)

Display a shutdown message to the user(s)

  • Display a message every 12 hours, hours, 5 minutes, minute, 5 seconds and finally seconds

Definition at line 2865 of file World.cpp.

References HOUR, m_ShutdownMask, m_ShutdownTimer, MINUTE, Numeric, secsToTimeString(), SendServerMessage(), SERVER_MSG_RESTART_TIME, SERVER_MSG_SHUTDOWN_TIME, SHUTDOWN_MASK_IDLE, SHUTDOWN_MASK_RESTART, and TC_LOG_DEBUG.

Referenced by _UpdateGameTime(), and ShutdownServ().

◆ ShutdownServ()

void World::ShutdownServ ( uint32  time,
uint32  options,
uint8  exitcode,
const std::string &  reason = std::string() 
)

Shutdown the server.

  • If the shutdown time is 0, evaluate shutdown on next tick (no message)
  • Else set the shutdown timer and warn users

Definition at line 2842 of file World.cpp.

References IsStopped(), m_ExitCode, m_ShutdownMask, m_ShutdownTimer, ShutdownMsg(), and sScriptMgr.

Referenced by DoGuidAlertRestart(), and DoGuidWarningRestart().

◆ StopNow()

◆ TriggerGuidAlert()

void World::TriggerGuidAlert ( )

Definition at line 289 of file World.cpp.

References _guidAlert, _guidAlertLock, _guidWarn, and DoGuidAlertRestart().

◆ TriggerGuidWarning()

◆ Update()

void World::Update ( uint32  diff)

Update the World !

  • Update the game time and check for shutdown time
  • Update the different timers
  • Update Who List Storage
  • Handle auctions when the timer has passed

    • Update mails (return old mails with item, or delete them)
    • Handle expired auctions
    • Update blackmarket, refresh auctions if necessary

  • Handle AHBot operations

    Synchronize all scripts with their ids before updating the sScriptReloadMgr

  • Handle file changes

  • Handle session updates when the timer has passed

  • Update uptime table

  • Clean logs table

  • Handle all other objects

    • Update objects when the timer has passed (maps, transport, creatures, ...)
    • Delete all characters which have been deleted X days before
    • Erase corpses once every 20 minutes
    • Process Game events when necessary
    • Ping to keep MySQL connections alive

Definition at line 2126 of file World.cpp.

References _guidAlert, _guidWarn, _UpdateGameTime(), _warnDiff, _warnShutdownTime, ALLIANCE, ASSERT_NOTNULL, blackmarket_timer, CalendarDeleteOldEvents(), CharacterDatabase, CheckScheduledResetTimes(), CONFIG_AUTOBROADCAST, CONFIG_BLACKMARKET_UPDATE_PERIOD, CONFIG_LOGDB_CLEARTIME, CONFIG_PRESERVE_CUSTOM_CHANNELS, CONFIG_RESPAWN_GUIDWARNING_FREQUENCY, Player::DeleteOldCharacters(), DoGuidWarningRestart(), ChannelMgr::ForTeam(), getBoolConfig(), GameTime::GetGameTime(), getIntConfig(), GetMaxPlayerCount(), GameTime::GetStartTime(), GameTime::GetUptime(), HORDE, HotfixDatabase, HOUR, IN_MILLISECONDS, IsStopped(), LOGIN_DEL_OLD_LOGS, LOGIN_UPD_UPTIME_PLAYERS, LoginDatabase, m_NextCalendarOldEventsDeletionTime, m_NextCurrencyReset, m_NextGuildReset, m_NextRandomBGReset, m_timers, mail_timer, mail_timer_expires, PANDARIA_NEUTRAL, ProcessCliCommands(), ProcessQueryCallbacks(), Map::RemoveOldCorpses(), IntervalTimer::Reset(), ResetCurrencyWeekCap(), ResetGuildCap(), ResetRandomBG(), sAuctionBot, sAuctionMgr, ChannelMgr::SaveToDB(), sBattlefieldMgr, sBattlegroundMgr, sBlackMarketMgr, SendAutoBroadcast(), SendGuidWarning(), IntervalTimer::SetCurrent(), IntervalTimer::SetInterval(), PreparedStatementBase::setUInt16(), PreparedStatementBase::setUInt32(), sGameEventMgr, sGroupMgr, sGuildMgr, sLFGMgr, sMapMgr, sMetric, sObjectMgr, sOutdoorPvPMgr, sRealmList, sScriptMgr, sScriptReloadMgr, sTerrainMgr, sWhoListStorageMgr, sWorldUpdateTime, TC_LOG_DEBUG, TC_METRIC_TAG, TC_METRIC_TIMER, TC_METRIC_VALUE, WorldStateMgr::Update(), IntervalTimer::Update(), UpdateSessions(), UpdateTime::UpdateWithDiff(), WorldDatabase, WUPDATE_AHBOT, WUPDATE_AUCTIONS, WUPDATE_AUCTIONS_PENDING, WUPDATE_AUTOBROADCAST, WUPDATE_BLACKMARKET, WUPDATE_CHANNEL_SAVE, WUPDATE_CHECK_FILECHANGES, WUPDATE_CLEANDB, WUPDATE_CORPSES, WUPDATE_COUNT, WUPDATE_DELETECHARS, WUPDATE_EVENTS, WUPDATE_GUILDSAVE, WUPDATE_PINGDB, WUPDATE_UPTIME, and WUPDATE_WHO_LIST.

◆ UpdateAreaDependentAuras()

void World::UpdateAreaDependentAuras ( )

Definition at line 3362 of file World.cpp.

References m_sessions.

◆ UpdateMaxSessionCounters()

void World::UpdateMaxSessionCounters ( )

Get the number of current active sessions.

Definition at line 3341 of file World.cpp.

References m_maxActiveSessionCount, m_maxQueuedSessionCount, m_QueuedPlayer, and m_sessions.

Referenced by AddSession_().

◆ UpdateRealmCharCount()

void World::UpdateRealmCharCount ( uint32  accountId)

◆ UpdateSessions()

◆ UpdateWarModeRewardValues()

Friends And Related Symbol Documentation

◆ debug_commandscript

friend class debug_commandscript
friend

Definition at line 914 of file World.h.

Member Data Documentation

◆ _alertRestartReason

std::string World::_alertRestartReason
private

Definition at line 900 of file World.h.

Referenced by DoGuidAlertRestart(), and LoadConfigSettings().

◆ _gameRules

std::vector<GameRule> World::_gameRules
private

Definition at line 909 of file World.h.

Referenced by LoadConfigSettings().

◆ _guidAlert

bool World::_guidAlert
private

Definition at line 905 of file World.h.

Referenced by TriggerGuidAlert(), Update(), and World().

◆ _guidAlertLock

std::mutex World::_guidAlertLock
private

Definition at line 902 of file World.h.

Referenced by TriggerGuidAlert(), and TriggerGuidWarning().

◆ _guidWarn

bool World::_guidWarn
private

Definition at line 904 of file World.h.

Referenced by SendGuidWarning(), TriggerGuidAlert(), TriggerGuidWarning(), Update(), and World().

◆ _guidWarningMsg

std::string World::_guidWarningMsg
private

Definition at line 899 of file World.h.

Referenced by LoadConfigSettings(), and SendGuidWarning().

◆ _linkSocketQueue

LockedQueue<std::pair<std::weak_ptr<WorldSocket>, uint64> > World::_linkSocketQueue
private

Definition at line 879 of file World.h.

Referenced by AddInstanceSocket(), and UpdateSessions().

◆ _motd

std::vector<std::string> World::_motd
private

Definition at line 857 of file World.h.

Referenced by GetMotd(), and SetMotd().

◆ _queryProcessor

QueryCallbackProcessor World::_queryProcessor
private

Definition at line 897 of file World.h.

Referenced by ProcessQueryCallbacks(), and UpdateRealmCharCount().

◆ _warnDiff

uint32 World::_warnDiff
private

Definition at line 906 of file World.h.

Referenced by SendGuidWarning(), Update(), and World().

◆ _warnShutdownTime

time_t World::_warnShutdownTime
private

Definition at line 907 of file World.h.

Referenced by DoGuidWarningRestart(), TriggerGuidWarning(), Update(), and World().

◆ addSessQueue

LockedQueue<WorldSession*> World::addSessQueue
private

Definition at line 877 of file World.h.

Referenced by AddSession(), and UpdateSessions().

◆ blackmarket_timer

time_t World::blackmarket_timer
private

Definition at line 833 of file World.h.

Referenced by Update(), and World().

◆ CharacterDatabaseCleaningFlagsVarId

PersistentWorldVariable const World::CharacterDatabaseCleaningFlagsVarId { "PersistentCharacterCleanFlags" }
static

Definition at line 125 of file World.h.

Referenced by CharacterDatabaseCleaner::CleanDatabase().

◆ cliCmdQueue

LockedQueue<CliCommandHolder*> World::cliCmdQueue
private

Definition at line 861 of file World.h.

Referenced by ProcessCliCommands(), and ~World().

◆ m_allowedSecurityLevel

AccountTypes World::m_allowedSecurityLevel
private

Definition at line 853 of file World.h.

Referenced by SetPlayerSecurityLimit(), and World().

◆ m_allowMovement

bool World::m_allowMovement
private

Definition at line 856 of file World.h.

Referenced by World().

◆ m_Autobroadcasts

AutobroadcastContainer World::m_Autobroadcasts
private

Definition at line 890 of file World.h.

Referenced by LoadAutobroadcasts(), and SendAutoBroadcast().

◆ m_availableDbcLocaleMask

uint32 World::m_availableDbcLocaleMask
private

Definition at line 855 of file World.h.

Referenced by SetInitialWorldSettings(), and World().

◆ m_bool_configs

bool World::m_bool_configs[BOOL_CONFIG_VALUE_COUNT]
private

Definition at line 849 of file World.h.

Referenced by LoadConfigSettings(), SetInitialWorldSettings(), and World().

◆ m_CleaningFlags

uint32 World::m_CleaningFlags
private

Definition at line 826 of file World.h.

Referenced by World().

◆ m_dataPath

std::string World::m_dataPath
private

Definition at line 858 of file World.h.

Referenced by LoadConfigSettings(), and SetInitialWorldSettings().

◆ m_DBVersion

std::string World::m_DBVersion
private

Definition at line 882 of file World.h.

Referenced by LoadDBVersion().

◆ m_defaultDbcLocale

LocaleConstant World::m_defaultDbcLocale
private

Definition at line 854 of file World.h.

Referenced by LoadConfigSettings(), SetInitialWorldSettings(), and World().

◆ m_disconnects

DisconnectMap World::m_disconnects
private

Definition at line 838 of file World.h.

Referenced by HasRecentlyDisconnected(), and UpdateSessions().

◆ m_ExitCode

TC_GAME_API uint8 World::m_ExitCode = SHUTDOWN_EXIT_CODE
staticprivate

Definition at line 822 of file World.h.

Referenced by ShutdownCancel(), and ShutdownServ().

◆ m_float_configs

float World::m_float_configs[FLOAT_CONFIG_VALUE_COUNT]
private

Definition at line 850 of file World.h.

Referenced by LoadConfigSettings(), and World().

◆ m_int64_configs

uint64 World::m_int64_configs[INT64_CONFIG_VALUE_COUNT]
private

Definition at line 848 of file World.h.

Referenced by LoadConfigSettings(), and World().

◆ m_int_configs

uint32 World::m_int_configs[INT_CONFIG_VALUE_COUNT]
private

Definition at line 847 of file World.h.

Referenced by LoadConfigSettings(), LoadDBVersion(), SetInitialWorldSettings(), and World().

◆ m_isClosed

bool World::m_isClosed
private

Definition at line 828 of file World.h.

Referenced by IsClosed(), SetClosed(), and World().

◆ m_maxActiveSessionCount

uint32 World::m_maxActiveSessionCount
private

Definition at line 839 of file World.h.

Referenced by UpdateMaxSessionCounters(), and World().

◆ m_MaxPlayerCount

uint32 World::m_MaxPlayerCount
private

Definition at line 842 of file World.h.

Referenced by World().

◆ m_maxQueuedSessionCount

uint32 World::m_maxQueuedSessionCount
private

Definition at line 840 of file World.h.

Referenced by UpdateMaxSessionCounters(), and World().

◆ m_newCharString

std::string World::m_newCharString
private

Definition at line 844 of file World.h.

◆ m_NextCalendarOldEventsDeletionTime

time_t World::m_NextCalendarOldEventsDeletionTime
private

Definition at line 868 of file World.h.

Referenced by CalendarDeleteOldEvents(), InitCalendarOldEventsDeletionTime(), Update(), and World().

◆ m_NextCurrencyReset

time_t World::m_NextCurrencyReset
private

Definition at line 870 of file World.h.

Referenced by InitCurrencyResetTime(), ResetCurrencyWeekCap(), Update(), and World().

◆ m_NextDailyQuestReset

time_t World::m_NextDailyQuestReset
private

Definition at line 864 of file World.h.

Referenced by CheckScheduledResetTimes(), DailyReset(), InitQuestResetTimes(), and World().

◆ m_NextGuildReset

time_t World::m_NextGuildReset
private

Definition at line 869 of file World.h.

Referenced by InitGuildResetTime(), ResetGuildCap(), Update(), and World().

◆ m_NextMonthlyQuestReset

time_t World::m_NextMonthlyQuestReset
private

Definition at line 866 of file World.h.

Referenced by CheckScheduledResetTimes(), InitQuestResetTimes(), ResetMonthlyQuests(), and World().

◆ m_NextRandomBGReset

time_t World::m_NextRandomBGReset
private

Definition at line 867 of file World.h.

Referenced by InitRandomBGResetTime(), ResetRandomBG(), Update(), and World().

◆ m_NextWeeklyQuestReset

time_t World::m_NextWeeklyQuestReset
private

Definition at line 865 of file World.h.

Referenced by CheckScheduledResetTimes(), InitQuestResetTimes(), ResetWeeklyQuests(), and World().

◆ m_PlayerCount

uint32 World::m_PlayerCount
private

Definition at line 841 of file World.h.

Referenced by World().

◆ m_playerLimit

uint32 World::m_playerLimit
private

Definition at line 852 of file World.h.

Referenced by RemoveQueuedPlayer(), and World().

◆ m_QueuedPlayer

Queue World::m_QueuedPlayer
private

◆ m_sessions

◆ m_sessionsByBnetGuid

std::unordered_multimap<ObjectGuid, WorldSession*> World::m_sessionsByBnetGuid
private

Definition at line 836 of file World.h.

Referenced by AddSession_(), IsBattlePetJournalLockAcquired(), and UpdateSessions().

◆ m_ShutdownMask

uint32 World::m_ShutdownMask
private

Definition at line 824 of file World.h.

Referenced by _UpdateGameTime(), ShutdownCancel(), ShutdownMsg(), ShutdownServ(), and World().

◆ m_ShutdownTimer

uint32 World::m_ShutdownTimer
private

◆ m_stopEvent

TC_GAME_API std::atomic< bool > World::m_stopEvent
staticprivate

Definition at line 821 of file World.h.

Referenced by _UpdateGameTime(), and ShutdownCancel().

◆ m_timers

IntervalTimer World::m_timers[WUPDATE_COUNT]
private

◆ m_worldLoopCounter

TC_GAME_API std::atomic< uint32 > World::m_worldLoopCounter
static

Definition at line 569 of file World.h.

Referenced by FreezeDetector::Handler(), and WorldUpdateLoop().

◆ m_worldVariables

std::unordered_map<std::string, int32> World::m_worldVariables
private

◆ mail_timer

time_t World::mail_timer
private

Definition at line 831 of file World.h.

Referenced by SetInitialWorldSettings(), Update(), and World().

◆ mail_timer_expires

time_t World::mail_timer_expires
private

Definition at line 832 of file World.h.

Referenced by SetInitialWorldSettings(), Update(), and World().

◆ NextBGRandomDailyResetTimeVarId

PersistentWorldVariable const World::NextBGRandomDailyResetTimeVarId { "NextBGRandomDailyResetTime" }
static

Definition at line 124 of file World.h.

Referenced by InitRandomBGResetTime(), and ResetRandomBG().

◆ NextCurrencyResetTimeVarId

PersistentWorldVariable const World::NextCurrencyResetTimeVarId { "NextCurrencyResetTime" }
static

Definition at line 122 of file World.h.

Referenced by InitCurrencyResetTime(), and ResetCurrencyWeekCap().

◆ NextDailyQuestResetTimeVarId

PersistentWorldVariable const World::NextDailyQuestResetTimeVarId { "NextDailyQuestResetTime" }
static

◆ NextGuildDailyResetTimeVarId

PersistentWorldVariable const World::NextGuildDailyResetTimeVarId { "NextGuildDailyResetTime" }
static

Definition at line 126 of file World.h.

Referenced by InitGuildResetTime(), and ResetGuildCap().

◆ NextGuildWeeklyResetTimeVarId

PersistentWorldVariable const World::NextGuildWeeklyResetTimeVarId { "NextGuildWeeklyResetTime" }
static

Definition at line 130 of file World.h.

Referenced by ResetGuildCap().

◆ NextMonthlyQuestResetTimeVarId

PersistentWorldVariable const World::NextMonthlyQuestResetTimeVarId { "NextMonthlyQuestResetTime" }
static

◆ NextOldCalendarEventDeletionTimeVarId

PersistentWorldVariable const World::NextOldCalendarEventDeletionTimeVarId { "NextOldCalendarEventDeletionTime" }
static

Definition at line 129 of file World.h.

Referenced by CalendarDeleteOldEvents(), and InitCalendarOldEventsDeletionTime().

◆ NextWeeklyQuestResetTimeVarId

PersistentWorldVariable const World::NextWeeklyQuestResetTimeVarId { "NextWeeklyQuestResetTime" }
static

◆ rate_values

float World::rate_values[MAX_RATES]
private

Definition at line 846 of file World.h.

Referenced by LoadConfigSettings(), and World().


The documentation for this class was generated from the following files: