![]() |
TrinityCore
|
#include "Common.h"#include "AppenderDB.h"#include "AsyncAcceptor.h"#include "Banner.h"#include "BattlegroundMgr.h"#include "BigNumber.h"#include "CliRunnable.h"#include "Configuration/Config.h"#include "DatabaseEnv.h"#include "DatabaseLoader.h"#include "DeadlineTimer.h"#include "GitRevision.h"#include "InstanceSaveMgr.h"#include "IoContext.h"#include "Locales.h"#include "MapManager.h"#include "Metric.h"#include "MySQLThreading.h"#include "ObjectAccessor.h"#include "OpenSSLCrypto.h"#include "OutdoorPvP/OutdoorPvPMgr.h"#include "ProcessPriority.h"#include "RASession.h"#include "RealmList.h"#include "Resolver.h"#include "ScriptLoader.h"#include "ScriptMgr.h"#include "ScriptReloadMgr.h"#include "SecretMgr.h"#include "SharedDefines.h"#include "TCSoap.h"#include "ThreadPool.h"#include "World.h"#include "WorldSocket.h"#include "WorldSocketMgr.h"#include <openssl/opensslv.h>#include <openssl/crypto.h>#include <boost/asio/signal_set.hpp>#include <boost/dll/runtime_symbol_info.hpp>#include <boost/filesystem/operations.hpp>#include <boost/program_options.hpp>#include <csignal>#include <iostream>#include "ServiceWin32.h"#include <tchar.h>#include <boost/dll/shared_library.hpp>#include <timeapi.h>#include "WheatyExceptionReport.h"
Include dependency graph for Main.cpp:Go to the source code of this file.
Classes | |
| class | FreezeDetector |
Macros | |
| #define | _TRINITY_CORE_CONFIG "worldserver.conf" |
| #define | _TRINITY_CORE_CONFIG_DIR "worldserver.conf.d" |
Functions | |
| void | SignalHandler (boost::system::error_code const &error, int signalNumber) |
| std::unique_ptr< Trinity::Net::AsyncAcceptor > | StartRaSocketAcceptor (Trinity::Asio::IoContext &ioContext) |
| bool | StartDB () |
| Initialize connection to the databases. | |
| void | StopDB () |
| void | WorldUpdateLoop () |
| void | ClearOnlineAccounts () |
| Clear 'online' status for all accounts with characters in this realm. | |
| void | ShutdownCLIThread (std::thread *cliThread) |
| bool | LoadRealmInfo (Trinity::Asio::IoContext &ioContext) |
| variables_map | GetConsoleArguments (int argc, char **argv, fs::path &configFile, fs::path &configDir, std::string &winServiceAction) |
| int | main (int argc, char **argv) |
| Launch the Trinity server. | |
| INIT_CRASH_HANDLER () | |
Variables | |
| TCHAR | serviceName [] = _T("worldserver") |
| TCHAR | serviceLongName [] = _T("TrinityCore world service") |
| TCHAR | serviceDescription [] = _T("TrinityCore World of Warcraft emulator world service") |
| int | m_ServiceStatus = -1 |
| void ClearOnlineAccounts | ( | ) |
Clear 'online' status for all accounts with characters in this realm.
Definition at line 698 of file Main.cpp.
References CharacterDatabase, Realm::Id, LoginDatabase, realm, and RealmHandle::Realm.
| variables_map GetConsoleArguments | ( | int | argc, |
| char ** | argv, | ||
| fs::path & | configFile, | ||
| fs::path & | configDir, | ||
| std::string & | winServiceAction | ||
| ) |
Definition at line 710 of file Main.cpp.
References _TRINITY_CORE_CONFIG, _TRINITY_CORE_CONFIG_DIR, and GitRevision::GetFullVersion().
Referenced by main().
| INIT_CRASH_HANDLER | ( | ) |
| bool LoadRealmInfo | ( | Trinity::Asio::IoContext & | ioContext | ) |
Definition at line 604 of file Main.cpp.
References Realm::AllowedSecurityLevel, Realm::Build, Realm::ExternalAddress, Realm::Flags, Field::GetFloat(), Field::GetString(), Field::GetUInt16(), Field::GetUInt32(), Field::GetUInt8(), Realm::Id, Realm::LocalAddress, Realm::LocalSubnetMask, LoginDatabase, Realm::Name, Realm::PopulationLevel, Realm::Port, realm, RealmHandle::Realm, Trinity::Asio::Resolver::Resolve(), TC_LOG_ERROR, Realm::Timezone, and Realm::Type.
Referenced by main().
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
Launch the Trinity server.
worldserver PID file creation
Definition at line 126 of file Main.cpp.
References _TRINITY_CORE_CONFIG, _TRINITY_CORE_CONFIG_DIR, Trinity::Impl::CurrentServerProcessHolder::_type, Trinity::AbortHandler(), AddScripts(), ClearOnlineAccounts(), CliThread(), CONFIG_HIGH_PRIORITY, CONFIG_PORT_WORLD, CONFIG_PROCESSOR_AFFINITY, CreatePIDFile(), ERROR_EXIT_CODE, Realm::Flags, GetConsoleArguments(), World::GetExitCode(), GitRevision::GetFullVersion(), Realm::Id, Trinity::Locale::Init(), Trinity::Service::Init(), Trinity::Service::Install(), LoadRealmInfo(), LoginDatabase, m_ServiceStatus, main(), Realm::Name, Realm::PopulationLevel, realm, RealmHandle::Realm, REALM_FLAG_OFFLINE, Trinity::Service::Run(), sBattlegroundMgr, sConfigMgr, SERVER_PROCESS_WORLDSERVER, serviceDescription, serviceLongName, serviceName, SetProcessPriority(), BigNumber::SetRand(), Trinity::Banner::Show(), ShutdownCLIThread(), SignalHandler(), sInstanceSaveMgr, sLog, sMapMgr, sMetric, sOutdoorPvPMgr, sScriptMgr, sScriptReloadMgr, sSecretMgr, FreezeDetector::Start(), StartDB(), StartRaSocketAcceptor(), StopDB(), World::StopNow(), sWorld, sWorldSocketMgr, TC_LOG_ERROR, TC_LOG_INFO, TC_METRIC_EVENT, TCSoapThread(), OpenSSLCrypto::threadsCleanup(), OpenSSLCrypto::threadsSetup(), Trinity::Service::Uninstall(), Trinity::VerifyOsVersion(), and WorldUpdateLoop().
Referenced by main().
| void ShutdownCLIThread | ( | std::thread * | cliThread | ) |
| void SignalHandler | ( | boost::system::error_code const & | error, |
| int | signalNumber | ||
| ) |
Definition at line 544 of file Main.cpp.
References SHUTDOWN_EXIT_CODE, and World::StopNow().
Referenced by main().
| bool StartDB | ( | ) |
Initialize connection to the databases.
Definition at line 652 of file Main.cpp.
References DatabaseLoader::AddDatabase(), CharacterDatabase, ClearOnlineAccounts(), DatabaseLoader::DATABASE_NONE, GitRevision::GetFullVersion(), GitRevision::GetHash(), Realm::Id, MySQL::Library_Init(), DatabaseLoader::Load(), LoginDatabase, realm, RealmHandle::Realm, sConfigMgr, sWorld, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
Referenced by main().
| std::unique_ptr< Trinity::Net::AsyncAcceptor > StartRaSocketAcceptor | ( | Trinity::Asio::IoContext & | ioContext | ) |
Definition at line 584 of file Main.cpp.
References sConfigMgr, and TC_LOG_ERROR.
Referenced by main().
| void StopDB | ( | ) |
Definition at line 688 of file Main.cpp.
References CharacterDatabase, MySQL::Library_End(), LoginDatabase, and WorldDatabase.
Referenced by main().
| void WorldUpdateLoop | ( | ) |
Definition at line 495 of file Main.cpp.
References CharacterDatabase, getMSTime(), getMSTimeDiff(), World::IsStopped(), LoginDatabase, m_ServiceStatus, World::m_worldLoopCounter, sConfigMgr, SHUTDOWN_EXIT_CODE, World::StopNow(), sWorld, TC_LOG_ERROR, and WorldDatabase.
Referenced by main().
| int m_ServiceStatus = -1 |
Definition at line 85 of file Main.cpp.
Referenced by main(), and WorldUpdateLoop().
| TCHAR serviceDescription[] = _T("TrinityCore World of Warcraft emulator world service") |
| TCHAR serviceLongName[] = _T("TrinityCore world service") |