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

The World. More...

#include <World.h>

Public Types

typedef std::list< WorldSession * > Queue
 

Public Member Functions

WorldSession * FindSession (uint32 id) const
 Find a session by its id.
 
void AddSession (WorldSession *s)
 
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.
 
void 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 stringParam="", Player *player=nullptr)
 Send a server message to the user(s)
 
void SendGlobalMessage (WorldPacket const *packet, WorldSession *self=nullptr, uint32 team=0)
 Send a packet to all players (except self if mentioned)
 
void SendGlobalGMMessage (WorldPacket const *packet, WorldSession *self=nullptr, uint32 team=0)
 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)
 
void setWorldState (uint32 index, uint64 value)
 
uint64 getWorldState (uint32 index) const
 
void LoadWorldStates ()
 
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 accid)
 
LocaleConstant GetAvailableDbcLocale (LocaleConstant locale) const
 
void LoadDBVersion ()
 
char const * GetDBVersion () const
 
void LoadAutobroadcasts ()
 
void UpdateAreaDependentAuras ()
 
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 ()
 

Static Public Member Functions

static World * instance ()
 
static uint8 GetExitCode ()
 
static void StopNow (uint8 exitcode)
 
static bool IsStopped ()
 
static float GetMaxVisibleDistanceOnContinents ()
 
static float GetMaxVisibleDistanceInInstances ()
 
static float GetMaxVisibleDistanceInBG ()
 
static float GetMaxVisibleDistanceInArenas ()
 
static int32 GetVisibilityNotifyPeriodOnContinents ()
 
static int32 GetVisibilityNotifyPeriodInInstances ()
 
static int32 GetVisibilityNotifyPeriodInBG ()
 
static int32 GetVisibilityNotifyPeriodInArenas ()
 

Static Public Attributes

static std::atomic< uint32 > m_worldLoopCounter
 

Protected Member Functions

void _UpdateGameTime ()
 Update the game time.
 
void _UpdateRealmCharCount (PreparedQueryResult resultCharCount)
 
void InitQuestResetTimes ()
 
void CheckQuestResetTimes ()
 
void ResetDailyQuests ()
 
void ResetWeeklyQuests ()
 
void ResetMonthlyQuests ()
 
void InitRandomBGResetTime ()
 
void InitCalendarOldEventsDeletionTime ()
 
void InitGuildResetTime ()
 
void ResetRandomBG ()
 
void CalendarDeleteOldEvents ()
 
void ResetGuildCap ()
 

Private Types

typedef std::unordered_map< uint32, time_t > DisconnectMap
 
typedef std::map< uint32, uint64 > WorldStatesMap
 
typedef std::map< uint8, std::string > AutobroadcastsMap
 
typedef std::map< uint8, uint8 > AutobroadcastsWeightMap
 

Private Member Functions

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

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
 
SessionMap m_sessions
 
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]
 
bool m_bool_configs [BOOL_CONFIG_VALUE_COUNT]
 
float m_float_configs [FLOAT_CONFIG_VALUE_COUNT]
 
WorldStatesMap m_worldstates
 
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
 
Queue m_QueuedPlayer
 
LockedQueue< WorldSession * > addSessQueue
 
std::string m_DBVersion
 
AutobroadcastsMap m_Autobroadcasts
 
AutobroadcastsWeightMap m_AutobroadcastsWeights
 
QueryCallbackProcessor _queryProcessor
 
std::string _guidWarningMsg
 
std::string _alertRestartReason
 
std::mutex _guidAlertLock
 
bool _guidWarn
 
bool _guidAlert
 
uint32 _warnDiff
 
time_t _warnShutdownTime
 

Static Private Attributes

static std::atomic< bool > m_stopEvent
 
static uint8 m_ExitCode = SHUTDOWN_EXIT_CODE
 
static float m_MaxVisibleDistanceOnContinents = DEFAULT_VISIBILITY_DISTANCE
 
static float m_MaxVisibleDistanceInInstances = DEFAULT_VISIBILITY_INSTANCE
 
static float m_MaxVisibleDistanceInBG = DEFAULT_VISIBILITY_BGARENAS
 
static float m_MaxVisibleDistanceInArenas = DEFAULT_VISIBILITY_BGARENAS
 
static int32 m_visibility_notify_periodOnContinents = DEFAULT_VISIBILITY_NOTIFY_PERIOD
 
static int32 m_visibility_notify_periodInInstances = DEFAULT_VISIBILITY_NOTIFY_PERIOD
 
static int32 m_visibility_notify_periodInBG = DEFAULT_VISIBILITY_NOTIFY_PERIOD
 
static int32 m_visibility_notify_periodInArenas = DEFAULT_VISIBILITY_NOTIFY_PERIOD
 

Friends

class debug_commandscript
 

Detailed Description

The World.

Definition at line 569 of file World.h.

Member Typedef Documentation

◆ AutobroadcastsMap

typedef std::map<uint8, std::string> World::AutobroadcastsMap
private

Definition at line 872 of file World.h.

◆ AutobroadcastsWeightMap

typedef std::map<uint8, uint8> World::AutobroadcastsWeightMap
private

Definition at line 875 of file World.h.

◆ DisconnectMap

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

Definition at line 816 of file World.h.

◆ Queue

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

Definition at line 618 of file World.h.

◆ WorldStatesMap

typedef std::map<uint32, uint64> World::WorldStatesMap
private

Definition at line 829 of file World.h.

Constructor & Destructor Documentation

◆ World()

◆ ~World()

World::~World ( )
private

World destructor.

  • Empty the kicked session set
Todo:
free addSessQueue

Definition at line 150 of file World.cpp.

References MMAP::MMapFactory::clear(), 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 2995 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

◆ AddQueuedPlayer()

void World::AddQueuedPlayer ( WorldSession *  sess)

◆ AddSession()

void World::AddSession ( WorldSession *  s)

Definition at line 329 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 2806 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 2813 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 
)

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

Pick a player to ban if not online

Definition at line 2928 of file World.cpp.

References BAN_NOTFOUND, BAN_SUCCESS, CHAR_INS_CHARACTER_BAN, CHAR_UPD_CHARACTER_BAN, CharacterDatabase, ObjectAccessor::FindConnectedPlayerByName(), ObjectGuid::GetCounter(), Object::GetGUID(), Player::GetSession(), ObjectGuid::IsEmpty(), WorldSession::KickPlayer(), sCharacterCache, PreparedStatementBase::setString(), PreparedStatementBase::setUInt32(), and TimeStringToSecs().

◆ CalendarDeleteOldEvents()

void World::CalendarDeleteOldEvents ( )
protected

◆ CheckQuestResetTimes()

void World::CheckQuestResetTimes ( )
protected

◆ DecreasePlayerCount()

void World::DecreasePlayerCount ( )
inline

Definition at line 598 of file World.h.

◆ DetectDBCLang()

◆ DoGuidAlertRestart()

void World::DoGuidAlertRestart ( )
private

◆ DoGuidWarningRestart()

void World::DoGuidWarningRestart ( )
private

Definition at line 277 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 177 of file World.cpp.

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

◆ FindSession()

WorldSession * World::FindSession ( uint32  id) const

Find a session by its id.

Definition at line 302 of file World.cpp.

References m_sessions.

Referenced by BanAccount().

◆ ForceGameEventUpdate()

void World::ForceGameEventUpdate ( )

◆ GetActiveAndQueuedSessionCount()

uint32 World::GetActiveAndQueuedSessionCount ( ) const
inline

Definition at line 583 of file World.h.

Referenced by _UpdateGameTime(), and AddSession_().

◆ GetActiveSessionCount()

uint32 World::GetActiveSessionCount ( ) const
inline

Definition at line 584 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 626 of file World.h.

◆ GetAllSessions()

SessionMap const & World::GetAllSessions ( ) const
inline

Definition at line 582 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 693 of file World.h.

References BOOL_CONFIG_VALUE_COUNT.

◆ GetCleaningFlags()

uint32 World::GetCleaningFlags ( ) const
inline

Definition at line 768 of file World.h.

◆ GetConfigMaxSkillValue()

uint16 World::GetConfigMaxSkillValue ( ) const
inline

Get the maximum skill level a player can reach.

Definition at line 651 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 643 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 640 of file World.h.

Referenced by SetInitialWorldSettings().

◆ GetExitCode()

static uint8 World::GetExitCode ( )
inlinestatic

Definition at line 673 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 706 of file World.h.

References FLOAT_CONFIG_VALUE_COUNT.

◆ getIntConfig()

uint32 World::getIntConfig ( WorldIntConfigs  index) const
inline

◆ GetMaxActiveSessionCount()

uint32 World::GetMaxActiveSessionCount ( ) const
inline

Definition at line 588 of file World.h.

◆ GetMaxPlayerCount()

uint32 World::GetMaxPlayerCount ( ) const
inline

Definition at line 591 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 587 of file World.h.

◆ GetMaxVisibleDistanceInArenas()

static float World::GetMaxVisibleDistanceInArenas ( )
inlinestatic

Definition at line 744 of file World.h.

Referenced by BattlegroundMap::InitVisibilityDistance().

◆ GetMaxVisibleDistanceInBG()

static float World::GetMaxVisibleDistanceInBG ( )
inlinestatic

Definition at line 743 of file World.h.

Referenced by BattlegroundMap::InitVisibilityDistance().

◆ GetMaxVisibleDistanceInInstances()

static float World::GetMaxVisibleDistanceInInstances ( )
inlinestatic

Definition at line 742 of file World.h.

Referenced by InstanceMap::InitVisibilityDistance().

◆ GetMaxVisibleDistanceOnContinents()

static float World::GetMaxVisibleDistanceOnContinents ( )
inlinestatic

Definition at line 741 of file World.h.

Referenced by Map::InitVisibilityDistance().

◆ GetMotd()

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

Get the current Message of the Day.

Definition at line 243 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 638 of file World.h.

◆ GetNextDailyQuestsResetTime()

time_t World::GetNextDailyQuestsResetTime ( ) const
inline

Next daily quests and random bg reset time.

Definition at line 646 of file World.h.

◆ GetNextRandomBGResetTime()

time_t World::GetNextRandomBGResetTime ( ) const
inline

Definition at line 648 of file World.h.

◆ GetNextWeeklyQuestsResetTime()

time_t World::GetNextWeeklyQuestsResetTime ( ) const
inline

Definition at line 647 of file World.h.

◆ GetPlayerAmountLimit()

uint32 World::GetPlayerAmountLimit ( ) const
inline

Definition at line 615 of file World.h.

Referenced by AddSession_().

◆ GetPlayerCount()

uint32 World::GetPlayerCount ( ) const
inline

Get number of players.

Definition at line 590 of file World.h.

◆ GetPlayerSecurityLimit()

AccountTypes World::GetPlayerSecurityLimit ( ) const
inline

Security level limitations.

Definition at line 609 of file World.h.

◆ GetQueuedSessionCount()

uint32 World::GetQueuedSessionCount ( ) const
inline

Definition at line 585 of file World.h.

Referenced by AddSession_().

◆ GetQueuePos()

int32 World::GetQueuePos ( WorldSession *  sess)

Definition at line 422 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 683 of file World.h.

Referenced by LoadConfigSettings().

◆ GetShutDownTimeLeft()

uint32 World::GetShutDownTimeLeft ( ) const
inline

Definition at line 669 of file World.h.

◆ GetVisibilityNotifyPeriodInArenas()

static int32 World::GetVisibilityNotifyPeriodInArenas ( )
inlinestatic

Definition at line 749 of file World.h.

Referenced by BattlegroundMap::InitVisibilityDistance().

◆ GetVisibilityNotifyPeriodInBG()

static int32 World::GetVisibilityNotifyPeriodInBG ( )
inlinestatic

Definition at line 748 of file World.h.

Referenced by BattlegroundMap::InitVisibilityDistance().

◆ GetVisibilityNotifyPeriodInInstances()

static int32 World::GetVisibilityNotifyPeriodInInstances ( )
inlinestatic

Definition at line 747 of file World.h.

Referenced by InstanceMap::InitVisibilityDistance().

◆ GetVisibilityNotifyPeriodOnContinents()

static int32 World::GetVisibilityNotifyPeriodOnContinents ( )
inlinestatic

Definition at line 746 of file World.h.

Referenced by Map::InitVisibilityDistance().

◆ getWorldState()

uint64 World::getWorldState ( uint32  index) const

Definition at line 3585 of file World.cpp.

References m_worldstates.

Referenced by InitCalendarOldEventsDeletionTime(), and InitGuildResetTime().

◆ HasRecentlyDisconnected()

bool World::HasRecentlyDisconnected ( WorldSession *  session)

◆ IncreasePlayerCount()

void World::IncreasePlayerCount ( )
inline

Increase/Decrease number of players.

Definition at line 593 of file World.h.

◆ InitCalendarOldEventsDeletionTime()

◆ InitGuildResetTime()

void World::InitGuildResetTime ( )
protected

◆ InitQuestResetTimes()

◆ InitRandomBGResetTime()

void World::InitRandomBGResetTime ( )
protected

◆ instance()

World * World::instance ( )
static

Definition at line 170 of file World.cpp.

References instance().

Referenced by instance().

◆ IsClosed()

bool World::IsClosed ( ) const

Deny clients?

Definition at line 196 of file World.cpp.

References m_isClosed.

◆ IsFFAPvPRealm()

bool World::IsFFAPvPRealm ( ) const

Definition at line 3552 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 778 of file World.h.

◆ IsGuidWarning()

bool World::IsGuidWarning ( )
inline

Definition at line 777 of file World.h.

◆ IsPvPRealm()

bool World::IsPvPRealm ( ) const

Are we on a "Player versus Player" server?

Definition at line 3547 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 668 of file World.h.

◆ IsStopped()

static bool World::IsStopped ( )
inlinestatic

Definition at line 675 of file World.h.

Referenced by _UpdateGameTime(), CliThread(), ShutdownServ(), TCSoapThread(), Update(), and WorldUpdateLoop().

◆ KickAll()

void World::KickAll ( )

Kick (and save) all players.

Definition at line 2787 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 2797 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
  • Read ticket system setting from the config file
  • Get string for new logins (newly created characters)
  • Send server info on login?
  • Read all rates from the config file
  • Read other configuration items from the config file
Todo:
Add MonsterSight (with meaning) in worldserver.conf or put them as define
  • Load the CharDelete related config options
  • Read the "Data" directory from the config file

Definition at line 493 of file World.cpp.

References _alertRestartReason, _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_TICKETS, CONFIG_ALLOW_TRACK_BOTH_RESOURCES, 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_ALWAYS_MAX_SKILL_FOR_LEVEL, CONFIG_ALWAYS_MAXSKILL, CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS, CONFIG_ARENA_AUTO_DISTRIBUTE_POINTS, CONFIG_ARENA_LOG_EXTENDED_INFO, CONFIG_ARENA_LOSE_RATING_MODIFIER, CONFIG_ARENA_MATCHMAKER_RATING_MODIFIER, CONFIG_ARENA_MAX_RATING_DIFFERENCE, CONFIG_ARENA_PREV_OPPONENTS_DISCARD_TIMER, 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_GETALL_DELAY, CONFIG_AUCTION_LEVEL_REQ, CONFIG_AUCTION_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_BATTLEGROUND_TRACK_DESERTERS, CONFIG_BG_REWARD_LOSER_HONOR_FIRST, CONFIG_BG_REWARD_LOSER_HONOR_LAST, CONFIG_BG_REWARD_WINNER_ARENA_FIRST, CONFIG_BG_REWARD_WINNER_ARENA_LAST, CONFIG_BG_REWARD_WINNER_HONOR_FIRST, CONFIG_BG_REWARD_WINNER_HONOR_LAST, CONFIG_BG_XP_FOR_KILL, CONFIG_BIRTHDAY_TIME, CONFIG_CACHE_DATA_QUERIES, CONFIG_CALCULATE_CREATURE_ZONE_AREA_DATA, CONFIG_CALCULATE_GAMEOBJECT_ZONE_AREA_DATA, CONFIG_CALENDAR_DELETE_OLD_EVENTS_HOUR, CONFIG_CAST_UNSTUCK, CONFIG_CHANCE_OF_GM_SURVEY, CONFIG_CHARACTER_CREATING_DISABLED, CONFIG_CHARACTER_CREATING_DISABLED_CLASSMASK, CONFIG_CHARACTER_CREATING_DISABLED_RACEMASK, CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_DEATH_KNIGHT, CONFIG_CHARACTERS_PER_ACCOUNT, CONFIG_CHARACTERS_PER_REALM, CONFIG_CHARDELETE_DEATH_KNIGHT_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_NORMAL, CONFIG_CORPSE_DECAY_RARE, CONFIG_CORPSE_DECAY_RAREELITE, CONFIG_CORPSE_DECAY_WORLDBOSS, 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_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_KNIGHTS_PER_REALM, CONFIG_DEATH_SICKNESS_LEVEL, CONFIG_DECLINED_NAMES_USED, CONFIG_DELETE_CHARACTER_TICKET_TRACE, CONFIG_DETECT_POS_COLLISION, CONFIG_DIE_COMMAND_MODE, CONFIG_DISABLE_BREATHING, CONFIG_DURABILITY_LOSS_IN_PVP, CONFIG_ENABLE_MMAPS, CONFIG_ENABLE_SINFO_LOGIN, CONFIG_EVENT_ANNOUNCE, CONFIG_EXPANSION, CONFIG_EXTENDED_ACCOUNT_NAME_LENGTH_LIMIT, CONFIG_FORCE_SHUTDOWN_THRESHOLD, 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_RESET_HOUR, 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_RESET_TIME_HOUR, 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_LOGDB_CLEARINTERVAL, CONFIG_LOGDB_CLEARTIME, CONFIG_MAIL_DELIVERY_DELAY, CONFIG_MAIL_LEVEL_REQ, CONFIG_MAX_ARENA_POINTS, CONFIG_MAX_HONOR_POINTS, 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_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_PENDING_MOVE_CHANGES_TIMEOUT, 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_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_DEFENSE, CONFIG_SKILL_GAIN_GATHERING, CONFIG_SKILL_GAIN_WEAPON, 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_ARENA_POINTS, CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL, CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY, CONFIG_START_GM_LEVEL, CONFIG_START_HONOR_POINTS, 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_TALENTS_INSPECTING, CONFIG_THREAT_RADIUS, CONFIG_TICKET_LEVEL_REQ, CONFIG_TRADE_LEVEL_REQ, CONFIG_UPTIME_UPDATE, CONFIG_VMAP_INDOOR_CHECK, CONFIG_WARDEN_CLIENT_BAN_DURATION, CONFIG_WARDEN_CLIENT_CHECK_HOLDOFF, CONFIG_WARDEN_CLIENT_FAIL_ACTION, CONFIG_WARDEN_CLIENT_RESPONSE_DELAY, CONFIG_WARDEN_ENABLED, CONFIG_WARDEN_NUM_CLIENT_MOD_CHECKS, CONFIG_WARDEN_NUM_INJECT_CHECKS, CONFIG_WARDEN_NUM_LUA_CHECKS, 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(), DEFAULT_MAX_LEVEL, DEFAULT_VISIBILITY_BGARENAS, DEFAULT_VISIBILITY_DISTANCE, DEFAULT_VISIBILITY_INSTANCE, DEFAULT_VISIBILITY_NOTIFY_PERIOD, getRate(), GUILD_BANKLOG_MAX_RECORDS, GUILD_EVENTLOG_MAX_RECORDS, HOUR, IN_MILLISECONDS, m_bool_configs, m_dataPath, m_float_configs, m_int_configs, m_MaxVisibleDistanceInArenas, m_MaxVisibleDistanceInBG, m_MaxVisibleDistanceInInstances, m_MaxVisibleDistanceOnContinents, m_timers, m_visibility_notify_periodInArenas, m_visibility_notify_periodInBG, m_visibility_notify_periodInInstances, m_visibility_notify_periodOnContinents, MAX_CHARACTERS_PER_REALM, MAX_CHARTER_NAME, 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_ARENA_POINTS, RATE_AUCTION_CUT, RATE_AUCTION_DEPOSIT, RATE_AUCTION_TIME, RATE_CORPSE_DECAY_LOOTED, RATE_CREATURE_AGGRO, RATE_CREATURE_ELITE_ELITE_DAMAGE, RATE_CREATURE_ELITE_ELITE_HP, RATE_CREATURE_ELITE_ELITE_SPELLDAMAGE, RATE_CREATURE_ELITE_RARE_DAMAGE, RATE_CREATURE_ELITE_RARE_HP, RATE_CREATURE_ELITE_RARE_SPELLDAMAGE, RATE_CREATURE_ELITE_RAREELITE_DAMAGE, RATE_CREATURE_ELITE_RAREELITE_HP, RATE_CREATURE_ELITE_RAREELITE_SPELLDAMAGE, RATE_CREATURE_ELITE_WORLDBOSS_DAMAGE, RATE_CREATURE_ELITE_WORLDBOSS_HP, RATE_CREATURE_ELITE_WORLDBOSS_SPELLDAMAGE, RATE_CREATURE_NORMAL_DAMAGE, RATE_CREATURE_NORMAL_HP, RATE_CREATURE_NORMAL_SPELLDAMAGE, 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_ENERGY, RATE_POWER_FOCUS, RATE_POWER_MANA, RATE_POWER_RAGE_INCOME, RATE_POWER_RAGE_LOSS, RATE_POWER_RUNICPOWER_INCOME, RATE_POWER_RUNICPOWER_LOSS, 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_TALENT, rate_values, RATE_XP_BG_KILL, RATE_XP_BOOST, RATE_XP_EXPLORE, RATE_XP_KILL, RATE_XP_QUEST, REALM_ZONE_DEVELOPMENT, REALM_ZONE_RUSSIAN, IntervalTimer::Reset(), sConfigMgr, SEC_ADMINISTRATOR, SEC_CONSOLE, VMAP::IVMapManager::setEnableHeightCalc(), VMAP::IVMapManager::setEnableLineOfSightCalc(), IntervalTimer::SetInterval(), SetMotd(), SetNewCharString(), SetPlayerAmountLimit(), sLog, sMapMgr, sMetric, sScriptMgr, sWorld, TC_LOG_ERROR, TC_LOG_INFO, WUPDATE_AUTOBROADCAST, WUPDATE_CLEANDB, WUPDATE_UPTIME, and WUPDATE_WHO_LIST.

Referenced by SetInitialWorldSettings().

◆ LoadDBAllowedSecurityLevel()

void World::LoadDBAllowedSecurityLevel ( )

◆ LoadDBVersion()

void World::LoadDBVersion ( )

◆ LoadWorldStates()

void World::LoadWorldStates ( )

◆ ProcessCliCommands()

◆ ProcessQueryCallbacks()

void World::ProcessQueryCallbacks ( )
private

Definition at line 3591 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 3596 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 3605 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 313 of file World.cpp.

References WorldSession::KickPlayer(), and m_sessions.

Referenced by AddSession_().

◆ ResetDailyQuests()

◆ ResetEventSeasonalQuests()

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

◆ ResetGuildCap()

void World::ResetGuildCap ( )
protected

Definition at line 3478 of file World.cpp.

References DAY, m_NextGuildReset, sGuildMgr, sWorld, TC_LOG_INFO, and WS_GUILD_DAILY_RESET_TIME.

Referenced by Update().

◆ ResetMonthlyQuests()

◆ ResetRandomBG()

void World::ResetRandomBG ( )
protected

◆ ResetWeeklyQuests()

◆ SendAutoBroadcast()

void World::SendAutoBroadcast ( )

◆ SendGlobalGMMessage()

void World::SendGlobalGMMessage ( WorldPacket const *  packet,
WorldSession *  self = nullptr,
uint32  team = 0 
)

◆ SendGlobalMessage()

void World::SendGlobalMessage ( WorldPacket const *  packet,
WorldSession *  self = nullptr,
uint32  team = 0 
)

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

Definition at line 2638 of file World.cpp.

References m_sessions.

Referenced by 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 2770 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 2744 of file World.cpp.

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

◆ SendGuidWarning()

void World::SendGuidWarning ( )
private

◆ SendServerMessage()

void World::SendServerMessage ( ServerMessageType  messageID,
std::string  stringParam = "",
Player *  player = nullptr 
)

◆ SendWorldText()

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

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

Definition at line 2725 of file World.cpp.

References m_sessions.

◆ SetAllowMovement()

void World::SetAllowMovement ( bool  allow)
inline

Allow/Disallow object movements.

Definition at line 628 of file World.h.

◆ setBoolConfig()

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

Set a server configuration element (see #WorldConfigs)

Definition at line 686 of file World.h.

References BOOL_CONFIG_VALUE_COUNT.

◆ SetCleaningFlags()

void World::SetCleaningFlags ( uint32  flags)
inline

Definition at line 769 of file World.h.

References flags.

◆ SetClosed()

void World::SetClosed ( bool  val)

Close world.

Definition at line 201 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 699 of file World.h.

References FLOAT_CONFIG_VALUE_COUNT.

◆ SetInitialWorldSettings()

void 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 the DBC files
  • 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 1599 of file World.cpp.

References DisableMgr::CheckQuestDisables(), CheckQuestResetTimes(), CharacterDatabaseCleaner::CleanDatabase(), CONFIG_AHBOT_UPDATE_INTERVAL, CONFIG_AUTOBROADCAST_INTERVAL, CONFIG_BASEMAP_LOAD_GRIDS, CONFIG_CLEAN_OLD_MAIL_TIME, CONFIG_DB_PING_INTERVAL, CONFIG_EXPANSION, CONFIG_GAME_TYPE, CONFIG_LOGDB_CLEARINTERVAL, CONFIG_PRESERVE_CUSTOM_CHANNEL_INTERVAL, CONFIG_REALM_ZONE, CONFIG_UPTIME_UPDATE, CONFIG_WHO_LIST_UPDATE_INTERVAL, MMAP::MMapFactory::createOrGetMMapManager(), VMAP::VMapFactory::createOrGetVMapManager(), DAY, Player::DeleteOldCharacters(), DetectDBCLang(), dtCustomAlloc(), dtCustomFree(), MapManager::ExistMapAndVMap(), GetDefaultDbcLocale(), GitRevision::GetFullVersion(), GameTime::GetGameTime(), getIntConfig(), IntervalTimer::GetInterval(), GetLiquidFlags(), VMAP::VMapManager2::GetLiquidFlagsPtr, getMSTime(), GetMSTimeDiffToNow(), GameTime::GetStartTime(), HOUR, Realm::Id, IN_MILLISECONDS, InitCalendarOldEventsDeletionTime(), InitGuildResetTime(), AIRegistry::Initialize(), OpcodeTable::Initialize(), PlayerDump::InitializeTables(), MMAP::MMapManager::InitializeThreadUnsafe(), VMAP::VMapManager2::InitializeThreadUnsafe(), InitQuestResetTimes(), InitRandomBGResetTime(), Map::Instanceable(), IsFFAPvPRealm(), DisableMgr::IsVMAPDisabledFor(), VMAP::VMapManager2::IsVMAPDisabledForPtr, LoadAutobroadcasts(), Trinity::ChatCommands::LoadCommandMap(), LoadConfigSettings(), LoadDBAllowedSecurityLevel(), LoadDBCStores(), DisableMgr::LoadDisables(), AddonMgr::LoadFromDB(), ChannelMgr::LoadFromDB(), LoadGameObjectModelList(), LoadLootTables(), LoadM2Cameras(), LoadRandomEnchantmentsTable(), LoadSkillDiscoveryTable(), LoadSkillExtraItemTable(), LoadSkillPerfectItemTable(), WeatherMgr::LoadWeatherData(), LoadWorldStates(), LoginDatabase, m_dataPath, m_int_configs, m_timers, mail_timer, mail_timer_expires, MINUTE, opcodeTable, QUERY_DATA_ALL, realm, RealmHandle::Realm, REALM_TYPE_PVP, sAccountMgr, sAchievementMgr, sArenaTeamMgr, sAuctionBot, sAuctionMgr, sBattlefieldMgr, sBattlegroundMgr, sCalendarMgr, sCharacterCache, sConditionMgr, sConfigMgr, sCreatureTextMgr, IntervalTimer::SetInterval(), sFormationMgr, sGameEventMgr, sGroupMgr, sGuildMgr, sInstanceSaveMgr, sIPLocation, sLFGMgr, sLog, sLootItemStorage, sMapMgr, sMapStore, sObjectMgr, sOutdoorPvPMgr, sPetitionMgr, sPoolMgr, sQuestPoolMgr, sScriptMgr, sSmartScriptMgr, sSpellMgr, sTicketMgr, sTransportMgr, sWardenCheckMgr, sWaypointMgr, sWorld, TC_LOG_FATAL, TC_LOG_INFO, TC_METRIC_EVENT, GameTime::UpdateGameTimers(), WUPDATE_AHBOT, WUPDATE_AUCTIONS, WUPDATE_AUCTIONS_PENDING, WUPDATE_AUTOBROADCAST, WUPDATE_CHANNEL_SAVE, WUPDATE_CHECK_FILECHANGES, WUPDATE_CLEANDB, WUPDATE_CORPSES, WUPDATE_DELETECHARS, WUPDATE_EVENTS, 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 712 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 228 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 636 of file World.h.

Referenced by LoadConfigSettings().

◆ SetPlayerAmountLimit()

void World::SetPlayerAmountLimit ( uint32  limit)
inline

Active session server limit.

Definition at line 614 of file World.h.

Referenced by LoadConfigSettings().

◆ SetPlayerSecurityLimit()

void World::SetPlayerSecurityLimit ( AccountTypes  sec)

Definition at line 219 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 681 of file World.h.

◆ setWorldState()

void World::setWorldState ( uint32  index,
uint64  value 
)

◆ 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 3048 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 3025 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 267 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

  • Handle AHBot operations

  • 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 2357 of file World.cpp.

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

◆ UpdateAreaDependentAuras()

void World::UpdateAreaDependentAuras ( )

Definition at line 3509 of file World.cpp.

References m_sessions.

◆ UpdateMaxSessionCounters()

void World::UpdateMaxSessionCounters ( )

Get the number of current active sessions.

Definition at line 3487 of file World.cpp.

References m_maxActiveSessionCount, m_maxQueuedSessionCount, m_QueuedPlayer, and m_sessions.

Referenced by AddSession_().

◆ UpdateRealmCharCount()

◆ UpdateSessions()

void World::UpdateSessions ( uint32  diff)

Friends And Related Symbol Documentation

◆ debug_commandscript

friend class debug_commandscript
friend

Definition at line 895 of file World.h.

Member Data Documentation

◆ _alertRestartReason

std::string World::_alertRestartReason
private

Definition at line 886 of file World.h.

Referenced by DoGuidAlertRestart(), and LoadConfigSettings().

◆ _guidAlert

bool World::_guidAlert
private

Definition at line 891 of file World.h.

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

◆ _guidAlertLock

std::mutex World::_guidAlertLock
private

Definition at line 888 of file World.h.

Referenced by TriggerGuidAlert(), and TriggerGuidWarning().

◆ _guidWarn

bool World::_guidWarn
private

Definition at line 890 of file World.h.

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

◆ _guidWarningMsg

std::string World::_guidWarningMsg
private

Definition at line 885 of file World.h.

Referenced by LoadConfigSettings(), and SendGuidWarning().

◆ _motd

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

Definition at line 837 of file World.h.

Referenced by GetMotd(), and SetMotd().

◆ _queryProcessor

QueryCallbackProcessor World::_queryProcessor
private

Definition at line 883 of file World.h.

Referenced by ProcessQueryCallbacks(), and UpdateRealmCharCount().

◆ _warnDiff

uint32 World::_warnDiff
private

Definition at line 892 of file World.h.

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

◆ _warnShutdownTime

time_t World::_warnShutdownTime
private

Definition at line 893 of file World.h.

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

◆ addSessQueue

LockedQueue<WorldSession*> World::addSessQueue
private

Definition at line 867 of file World.h.

Referenced by AddSession(), and UpdateSessions().

◆ cliCmdQueue

LockedQueue<CliCommandHolder*> World::cliCmdQueue
private

Definition at line 852 of file World.h.

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

◆ m_allowedSecurityLevel

AccountTypes World::m_allowedSecurityLevel
private

Definition at line 832 of file World.h.

Referenced by SetPlayerSecurityLimit(), and World().

◆ m_allowMovement

bool World::m_allowMovement
private

Definition at line 836 of file World.h.

Referenced by World().

◆ m_Autobroadcasts

AutobroadcastsMap World::m_Autobroadcasts
private

Definition at line 873 of file World.h.

Referenced by LoadAutobroadcasts(), and SendAutoBroadcast().

◆ m_AutobroadcastsWeights

AutobroadcastsWeightMap World::m_AutobroadcastsWeights
private

Definition at line 876 of file World.h.

Referenced by LoadAutobroadcasts(), and SendAutoBroadcast().

◆ m_availableDbcLocaleMask

uint32 World::m_availableDbcLocaleMask
private

Definition at line 834 of file World.h.

Referenced by DetectDBCLang(), and World().

◆ m_bool_configs

bool World::m_bool_configs[BOOL_CONFIG_VALUE_COUNT]
private

Definition at line 827 of file World.h.

Referenced by LoadConfigSettings(), and World().

◆ m_CleaningFlags

uint32 World::m_CleaningFlags
private

Definition at line 807 of file World.h.

Referenced by World().

◆ m_dataPath

std::string World::m_dataPath
private

Definition at line 838 of file World.h.

Referenced by LoadConfigSettings(), and SetInitialWorldSettings().

◆ m_DBVersion

std::string World::m_DBVersion
private

Definition at line 870 of file World.h.

Referenced by LoadDBVersion().

◆ m_defaultDbcLocale

LocaleConstant World::m_defaultDbcLocale
private

Definition at line 833 of file World.h.

Referenced by DetectDBCLang(), and World().

◆ m_disconnects

DisconnectMap World::m_disconnects
private

Definition at line 817 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 803 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 828 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 826 of file World.h.

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

◆ m_isClosed

bool World::m_isClosed
private

Definition at line 809 of file World.h.

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

◆ m_maxActiveSessionCount

uint32 World::m_maxActiveSessionCount
private

Definition at line 818 of file World.h.

Referenced by UpdateMaxSessionCounters(), and World().

◆ m_MaxPlayerCount

uint32 World::m_MaxPlayerCount
private

Definition at line 821 of file World.h.

Referenced by World().

◆ m_maxQueuedSessionCount

uint32 World::m_maxQueuedSessionCount
private

Definition at line 819 of file World.h.

Referenced by UpdateMaxSessionCounters(), and World().

◆ m_MaxVisibleDistanceInArenas

TC_GAME_API float World::m_MaxVisibleDistanceInArenas = DEFAULT_VISIBILITY_BGARENAS
staticprivate

Definition at line 844 of file World.h.

Referenced by LoadConfigSettings().

◆ m_MaxVisibleDistanceInBG

TC_GAME_API float World::m_MaxVisibleDistanceInBG = DEFAULT_VISIBILITY_BGARENAS
staticprivate

Definition at line 843 of file World.h.

Referenced by LoadConfigSettings().

◆ m_MaxVisibleDistanceInInstances

TC_GAME_API float World::m_MaxVisibleDistanceInInstances = DEFAULT_VISIBILITY_INSTANCE
staticprivate

Definition at line 842 of file World.h.

Referenced by LoadConfigSettings().

◆ m_MaxVisibleDistanceOnContinents

TC_GAME_API float World::m_MaxVisibleDistanceOnContinents = DEFAULT_VISIBILITY_DISTANCE
staticprivate

Definition at line 841 of file World.h.

Referenced by LoadConfigSettings().

◆ m_newCharString

std::string World::m_newCharString
private

Definition at line 823 of file World.h.

◆ m_NextCalendarOldEventsDeletionTime

time_t World::m_NextCalendarOldEventsDeletionTime
private

Definition at line 859 of file World.h.

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

◆ m_NextDailyQuestReset

time_t World::m_NextDailyQuestReset
private

Definition at line 855 of file World.h.

Referenced by CheckQuestResetTimes(), InitQuestResetTimes(), ResetDailyQuests(), and World().

◆ m_NextGuildReset

time_t World::m_NextGuildReset
private

Definition at line 860 of file World.h.

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

◆ m_NextMonthlyQuestReset

time_t World::m_NextMonthlyQuestReset
private

Definition at line 857 of file World.h.

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

◆ m_NextRandomBGReset

time_t World::m_NextRandomBGReset
private

Definition at line 858 of file World.h.

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

◆ m_NextWeeklyQuestReset

time_t World::m_NextWeeklyQuestReset
private

Definition at line 856 of file World.h.

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

◆ m_PlayerCount

uint32 World::m_PlayerCount
private

Definition at line 820 of file World.h.

Referenced by World().

◆ m_playerLimit

uint32 World::m_playerLimit
private

Definition at line 831 of file World.h.

Referenced by RemoveQueuedPlayer(), and World().

◆ m_QueuedPlayer

Queue World::m_QueuedPlayer
private

◆ m_sessions

◆ m_ShutdownMask

uint32 World::m_ShutdownMask
private

Definition at line 805 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 802 of file World.h.

Referenced by _UpdateGameTime(), and ShutdownCancel().

◆ m_timers

IntervalTimer World::m_timers[WUPDATE_COUNT]
private

◆ m_visibility_notify_periodInArenas

TC_GAME_API int32 World::m_visibility_notify_periodInArenas = DEFAULT_VISIBILITY_NOTIFY_PERIOD
staticprivate

Definition at line 849 of file World.h.

Referenced by LoadConfigSettings().

◆ m_visibility_notify_periodInBG

TC_GAME_API int32 World::m_visibility_notify_periodInBG = DEFAULT_VISIBILITY_NOTIFY_PERIOD
staticprivate

Definition at line 848 of file World.h.

Referenced by LoadConfigSettings().

◆ m_visibility_notify_periodInInstances

TC_GAME_API int32 World::m_visibility_notify_periodInInstances = DEFAULT_VISIBILITY_NOTIFY_PERIOD
staticprivate

Definition at line 847 of file World.h.

Referenced by LoadConfigSettings().

◆ m_visibility_notify_periodOnContinents

TC_GAME_API int32 World::m_visibility_notify_periodOnContinents = DEFAULT_VISIBILITY_NOTIFY_PERIOD
staticprivate

Definition at line 846 of file World.h.

Referenced by LoadConfigSettings().

◆ m_worldLoopCounter

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

Definition at line 574 of file World.h.

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

◆ m_worldstates

WorldStatesMap World::m_worldstates
private

Definition at line 830 of file World.h.

Referenced by getWorldState(), LoadWorldStates(), and setWorldState().

◆ mail_timer

time_t World::mail_timer
private

Definition at line 812 of file World.h.

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

◆ mail_timer_expires

time_t World::mail_timer_expires
private

Definition at line 813 of file World.h.

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

◆ rate_values

float World::rate_values[MAX_RATES]
private

Definition at line 825 of file World.h.

Referenced by LoadConfigSettings(), and World().


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