29 #include "../eve-common/EVEVersion.h" 
  193 int main( 
int argc, 
char* argv[] )
 
  203     sLog.Green(
"       ServerInit", 
"Loading Server Configuration Files.");
 
  207         sLog.Error( 
"       ServerInit", 
"ERROR: Loading server configuration '%s' failed.", 
SRV_CONFIG_FILE );
 
  208         std::cout << std::endl << 
"press any key to exit...";  std::cin.get();
 
  234         sLog.Green( 
"       ServerInit", 
"Log settings loaded from %s", 
sConfig.files.logSettings.c_str() );
 
  236         sLog.Warning( 
"       ServerInit", 
"Unable to read %s (this file is optional)", 
sConfig.files.logSettings.c_str() );
 
  240     if (!
sConfig.files.logDir.empty()) {
 
  242         std::string logFile = 
sConfig.files.logDir + 
"eve-server.log";
 
  244             sLog.Green( 
"       ServerInit", 
"Found log directory %s", 
sConfig.files.logDir.c_str() );
 
  246             sLog.Warning( 
"       ServerInit", 
"Unable to find log directory '%s', only logging to the screen now.", 
sConfig.files.logDir.c_str() );
 
  251     sLog.Green(
"       ServerInit", 
"Server Configuration Files Loaded.");
 
  254     sLog.Blue(
"     ServerConfig", 
"Main Loop Settings");
 
  256     if (m_sleepTime == 10) {
 
  257         sLog.Green(
"  Loop Sleep Time",
"Default at 10ms.");
 
  259         sLog.Error(
"  Loop Sleep Time",
"**Be Careful With This Setting!**");
 
  260         sLog.Warning(
"  Loop Sleep Time",
"Changed from default 10ms to %ums.", m_sleepTime);
 
  276     sLog.Blue(
"     ServerConfig", 
"World Switches");
 
  277     if (
sConfig.world.saveOnMove) {
 
  278         sLog.Green(
"     Save on Move",
"Enabled.");
 
  280         sLog.Warning(
"     Save on Move",
"Disabled.");
 
  282     if (
sConfig.world.saveOnUpdate) {
 
  283         sLog.Green(
"   Save on Update",
"Enabled.");
 
  285         sLog.Warning(
"   Save on Update",
"Disabled.");
 
  287     if (
sConfig.world.StationDockDelay) {
 
  288         sLog.Green(
"    Docking Delay",
"Enabled.");
 
  290         sLog.Warning(
"    Docking Delay",
"Disabled.");
 
  292     if (
sConfig.world.gridUnload) {
 
  293         sLog.Green(
"   Grid Unloading",
"Enabled.  Grids will unload after %u seconds of inactivity.", 
sConfig.world.gridUnloadTime);
 
  295         sLog.Warning(
"   Grid Unloading",
"Disabled.");
 
  299     sLog.Blue(
"     ServerConfig", 
"Rate Modifiers");
 
  300     if (
sConfig.rates.secRate != 1.0) {
 
  301         sLog.Yellow(
"        SecStatus",
"Modified at %.0f%%.", (
sConfig.rates.secRate *100) );
 
  303         sLog.Green(
"        SecStatus",
"Normal.");
 
  305     if (
sConfig.rates.npcBountyMultiply != 1.0) {
 
  306         sLog.Yellow(
"          Bountys",
"Modified at %.0f%%.", (
sConfig.rates.npcBountyMultiply *100) );
 
  308         sLog.Green(
"          Bountys",
"Normal.");
 
  310     if (
sConfig.rates.DropItem != 1) {
 
  311         sLog.Yellow(
"       Item Drops",
"Modified at %ux.", 
sConfig.rates.DropItem );
 
  313         sLog.Green(
"       Item Drops",
"Normal.");
 
  315     if (
sConfig.rates.DropSalvage != 1) {
 
  316         sLog.Yellow(
"    Salvage Drops",
"Modified at %ux.", 
sConfig.rates.DropSalvage );
 
  318         sLog.Green(
"    Salvage Drops",
"Normal.");
 
  320     if (
sConfig.rates.DropMoney != 1.0) {
 
  321         sLog.Yellow(
"      Isk Rewards",
"Modified at %.0f%%.", (
sConfig.rates.DropMoney *100) );
 
  323         sLog.Green(
"      Isk Rewards",
"Normal.");
 
  325     if (
sConfig.rates.damageRate != 1.0) {
 
  326         sLog.Yellow(
"      All Damages",
"Modified at %.0f%%.", (
sConfig.rates.damageRate *100) );
 
  328         sLog.Green(
"      All Damages",
"Normal.");
 
  330     if (
sConfig.rates.turretDamage != 1.0) {
 
  331         sLog.Yellow(
"       Turret Dmg",
"Modified at %.0f%%.", (
sConfig.rates.turretDamage *100) );
 
  333         sLog.Green(
"       Turret Dmg",
"Normal.");
 
  335     if (
sConfig.rates.turretRoF != 1.0) {
 
  336         sLog.Yellow(
"       Turret ROF",
"Modified at %.0f%%.", (
sConfig.rates.turretRoF *100) );
 
  338         sLog.Green(
"       Turret ROF",
"Normal.");
 
  340     if (
sConfig.rates.missileDamage != 1.0) {
 
  341         sLog.Yellow(
"      Missile Dmg",
"Modified at %.0f%%.", (
sConfig.rates.missileDamage *100) );
 
  343         sLog.Green(
"      Missile Dmg",
"Normal.");
 
  345     if (
sConfig.rates.missileRoF != 1.0) {
 
  346         sLog.Yellow(
"      Missile ROF",
"Modified at %.0f%%.", (
sConfig.rates.missileRoF *100) );
 
  348         sLog.Green(
"      Missile ROF",
"Normal.");
 
  350     if (
sConfig.rates.missileTime != 1.0) {
 
  351         sLog.Yellow(
"     Missile Time",
"Modified at %.0f%%.", (
sConfig.rates.missileTime *100) );
 
  353         sLog.Green(
"     Missile Time",
"Normal.");
 
  356     sLog.Blue(
"     ServerConfig", 
"R.A.M. Rate Modifiers");
 
  357     if (
sConfig.ram.ResPE != 1.0) {
 
  358         sLog.Yellow(
" PE Research Time",
"Modified at %.0f%%.", (
sConfig.ram.ResPE *100) );
 
  360         sLog.Green(
" PE Research Time",
"Normal.");
 
  362     if (
sConfig.ram.ResME != 1.0) {
 
  363         sLog.Yellow(
" ME Research Time",
"Modified at %.0f%%.", (
sConfig.ram.ResME *100) );
 
  365         sLog.Green(
" ME Research Time",
"Normal.");
 
  367     if (
sConfig.ram.MatMod != 1.0) {
 
  368         sLog.Yellow(
"Material Modifier",
"Modified at %.0f%%.", (
sConfig.ram.MatMod *100) );
 
  370         sLog.Green(
"Material Modifier",
"Normal.");
 
  372     if (
sConfig.ram.CopyTime != 1.0) {
 
  373         sLog.Yellow(
"        Copy Time",
"Modified at %.0f%%.", (
sConfig.ram.CopyTime *100) );
 
  375         sLog.Green(
"        Copy Time",
"Normal.");
 
  377     if (
sConfig.ram.ProdTime != 1.0) {
 
  378         sLog.Yellow(
"  Production Time",
"Modified at %.0f%%.", (
sConfig.ram.ProdTime *100) );
 
  380         sLog.Green(
"  Production Time",
"Normal.");
 
  382     if (
sConfig.ram.InventTime != 1.0) {
 
  383         sLog.Yellow(
"   Invention Time",
"Modified at %.0f%%.", (
sConfig.ram.InventTime *100) );
 
  385         sLog.Green(
"   Invention Time",
"Normal.");
 
  387     if (
sConfig.ram.ReTime != 1.0) {
 
  388         sLog.Yellow(
"          RE Time",
"Modified at %.0f%%.", (
sConfig.ram.ReTime *100) );
 
  390         sLog.Green(
"          RE Time",
"Normal.");
 
  392     if (
sConfig.ram.WasteMod != 1.0) {
 
  393         sLog.Yellow(
"   Waste Modifier",
"Modified at %.0f%%.", (
sConfig.ram.WasteMod *100) );
 
  395         sLog.Green(
"   Waste Modifier",
"Normal.");
 
  399     sLog.Blue(
"     ServerConfig",
"Critical Hit Chances");
 
  400     if (
sConfig.rates.PlayerCritChance != 0.02f) {
 
  401         sLog.Yellow(
"           Player",
"Modified at %.1f%%.", (
sConfig.rates.PlayerCritChance *100) );
 
  403         sLog.Green(
"           Player",
"Normal at 2%%.");
 
  405     if (
sConfig.rates.NpcCritChance != 0.015f) {
 
  406         sLog.Yellow(
"              NPC",
"Modified at %.1f%%.", (
sConfig.rates.NpcCritChance *100) );
 
  408         sLog.Green(
"              NPC",
"Normal at 1.5%%.");
 
  410     if (
sConfig.rates.SentryCritChance != 0.02f) {
 
  411         sLog.Yellow(
"           Sentry",
"Modified at %.1f%%.", (
sConfig.rates.SentryCritChance *100) );
 
  413         sLog.Green(
"           Sentry",
"Normal at 2%%.");
 
  415     if (
sConfig.rates.DroneCritChance != 0.03f) {
 
  416         sLog.Yellow(
"            Drone",
"Modified at %.1f%%.", (
sConfig.rates.DroneCritChance *100) );
 
  418         sLog.Green(
"            Drone",
"Normal at 3%%.");
 
  420     if (
sConfig.rates.ConcordCritChance != 0.05f) {
 
  421         sLog.Yellow(
"          Concord",
"Modified at %.1f%%.", (
sConfig.rates.ConcordCritChance *100) );
 
  423         sLog.Green(
"          Concord",
"Normal at 5%%.");
 
  427     sLog.Blue(
"     ServerConfig", 
"Feature Switches");
 
  429         sLog.Green(
"    RAM AutoEvent",
"Enabled.");
 
  431         sLog.Warning(
"    RAM AutoEvent",
"Disabled.");
 
  433     if (
sConfig.server.ModuleAutoOff) {
 
  434         sLog.Green(
"  Module Auto-Off",
"Enabled.");
 
  436         sLog.Warning(
"  Module Auto-Off",
"Disabled.");
 
  438     if (
sConfig.server.AsteroidsOnDScan) {
 
  439         sLog.Green(
"  DScan Asteroids",
"Enabled.");
 
  441         sLog.Warning(
"  DScan Asteroids",
"Disabled.");
 
  443     if (
sConfig.server.CargoMassAdditive) {
 
  444         sLog.Green(
"       Cargo Mass",
"Enabled.");
 
  446         sLog.Warning(
"       Cargo Mass",
"Disabled.");
 
  448     if (
sConfig.cosmic.BumpEnabled) {
 
  449         sLog.Green(
"Bumping Mechanics",
"Enabled.");
 
  451         sLog.Warning(
"Bumping Mechanics",
"Disabled.");
 
  453     if (
sConfig.server.LoadOldMissions) {
 
  454         sLog.Green(
"Keep Old Missions",
"Enabled.");
 
  456         sLog.Warning(
"Keep Old Missions",
"Disabled.");
 
  458     if (
sConfig.testing.EnableDrones) {
 
  459         sLog.Green(
"    Player Drones",
"Enabled.");
 
  461         sLog.Warning(
"    Player Drones",
"Disabled.");
 
  463     if (
sConfig.testing.ShipHeat) {
 
  464         sLog.Green(
"        Ship Heat",
"Enabled.");
 
  466         sLog.Warning(
"        Ship Heat",
"Disabled.");
 
  468     if (
sConfig.cosmic.PIEnabled) {
 
  469         sLog.Green(
"        PI System",
"Enabled.");
 
  471         sLog.Warning(
"        PI System",
"Disabled.");
 
  473     if (
sConfig.cosmic.AnomalyEnabled) {
 
  474         sLog.Green(
"   Anomaly System",
"Enabled.");
 
  476         sLog.Warning(
"   Anomaly System",
"Disabled.");
 
  478     if (
sConfig.cosmic.DungeonEnabled) {
 
  479         sLog.Green(
"   Dungeon System",
"Enabled.");
 
  481         sLog.Warning(
"   Dungeon System",
"Disabled.");
 
  483     if (
sConfig.cosmic.BeltEnabled) {
 
  484         sLog.Green(
"   Asteroid Belts",
"Enabled.");
 
  486         sLog.Warning(
"   Asteroid Belts",
"Disabled.");
 
  488     if (
sConfig.npc.StaticSpawns) {
 
  489         sLog.Green(
"    Static Spawns",
"Enabled.  Checks every %u minutes", 
sConfig.npc.StaticTimer /60);
 
  491         sLog.Warning(
"    Static Spawns",
"Disabled.");
 
  493     if (
sConfig.npc.RoamingSpawns) {
 
  494         sLog.Green(
"   Roaming Spawns",
"Enabled.  Checks every %u minutes", 
sConfig.npc.RoamingTimer /60);
 
  496         sLog.Warning(
"   Roaming Spawns",
"Disabled.");
 
  499         sLog.Green(
"   Spawns Enabled",
"Respawn timer checks every %u minutes", 
sConfig.npc.RespawnTimer /60);
 
  500     if (
sConfig.server.BountyPayoutDelayed) {
 
  501         sLog.Green(
" Delayed Bounties",
"Delayed Bounties are Enabled.  Loop runs every %u minutes", 
sConfig.server.BountyPayoutTimer);
 
  502         if (
sConfig.server.FleetShareDelayed) {
 
  503             sLog.Green(
" Delayed Bounties",
"Delay for Fleet Bounty Sharing is Enabled.");
 
  505             sLog.Warning(
" Delayed Bounties",
"Delay for Fleet Bounty Sharing is Disabled.  Fleet Sharing of Bounties is immediate.");
 
  508         sLog.Warning(
" Delayed Bounties",
"Delayed Bounties are Disabled.  Bounty payouts are immediate.");
 
  509         if (
sConfig.server.FleetShareDelayed) {
 
  510             sLog.Warning(
" Delayed Bounties",
"Delayed Bounties are Disabled.  Fleet Sharing of Bounties is immediate.");
 
  512             sLog.Warning(
" Delayed Bounties",
"Delay for Fleet Bounty Sharing is Disabled.  Fleet Sharing of Bounties is immediate.");
 
  517     sLog.Blue(
"     ServerConfig", 
"Misc Switches");
 
  518     if (
sConfig.server.ModuleDamageChance) {
 
  519         sLog.Green(
"    Module Damage",
"Enabled.  Set to %i%% chance.", (
int8)(
sConfig.server.ModuleDamageChance *100));
 
  521         sLog.Warning(
"    Module Damage",
"Disabled.");
 
  523     if (
sConfig.rates.WorldDecay) {
 
  524         sLog.Green(
"      Decay Timer",
"Enabled.  Checks every %u minutes", 
sConfig.rates.WorldDecay);
 
  526         sLog.Warning(
"      Decay Timer",
"Disabled.");
 
  528     if (
sConfig.server.TraderJoe) {
 
  529         sLog.Green(
"   Market Bot Mgr", 
"TraderJoe is Enabled.");
 
  531         sLog.Green(
"       ServerInit", 
"Starting Market Bot Manager");
 
  534         sLog.Warning(
"   Market Bot Mgr", 
"TraderJoe is Disabled.");
 
  538     sLog.Blue(
"     ServerConfig", 
"Debug Switches");
 
  539     if (
sConfig.debug.IsTestServer) {
 
  540         sLog.Error(
"     ServerConfig", 
"Test Server Enabled");
 
  542         sLog.Error(
"     ServerConfig", 
"Live Server Enabled");
 
  544     if (
sConfig.debug.StackTrace) {
 
  545         sLog.Warning(
"       StackTrace", 
"Enabled");
 
  547         sLog.Warning(
"       StackTrace", 
"Disabled");
 
  549     if (
sConfig.debug.UseProfiling) {
 
  550         sLog.Green(
" Server Profiling",
"Enabled.");
 
  553         sLog.Warning(
" Server Profiling",
"Disabled.");
 
  556         sLog.Green(
"     BeanCounting",
"Enabled.");
 
  558         sLog.Warning(
"     BeanCounting",
"Disabled.");
 
  561         sLog.Warning(
"       Spawn Test",
"Enabled.");
 
  563         sLog.Warning(
"       Spawn Test",
"Disabled.");
 
  565     if (
sConfig.debug.BubbleTrack) {
 
  566         sLog.Warning(
"  Bubble Tracking",
"Enabled.");
 
  568         sLog.Warning(
"  Bubble Tracking",
"Disabled.");
 
  570     if (
sConfig.debug.UseShipTracking) {
 
  571         sLog.Warning(
"    Ship Tracking",
"Enabled.");
 
  573         sLog.Warning(
"    Ship Tracking",
"Disabled.");
 
  575     if (
sConfig.debug.PositionHack) {
 
  576         sLog.Warning(
"    Position Hack",
"Enabled.");
 
  578         sLog.Warning(
"    Position Hack",
"Disabled.");
 
  585     sLog.Green( 
"       ServerInit", 
"Starting TCP Server");
 
  587         sLog.Blue( 
"    BaseTCPServer", 
"TCP Server started on port %u.", 
sConfig.net.port );
 
  589         sLog.Error( 
"    BaseTCPServer", 
"Error starting TCP Server: %s.", errbuf );
 
  590         std::cout << std::endl << 
"press any key to exit...";  std::cin.get();
 
  597     sLog.Green(
"       ServerInit", 
"Connecting to DataBase");
 
  606                          sConfig.database.autoReconnect,
 
  611         std::cout << std::endl << 
"press any key to exit...";  std::cin.get();
 
  621     sLog.Green(
"       ServerInit", 
"Starting Image Server");
 
  627     sLog.Green( 
"        Threading", 
"Starting Main Loop thread with ID 0x%X", pthread_self() );
 
  632     sLog.Green(
"       ServerInit", 
"Loading server");
 
  636     sLog.Green(
"       ServerInit", 
"Starting Item Factory");
 
  639     sLog.Green(
"       ServerInit", 
"Starting Entity List");
 
  642     sLog.Green(
"       ServerInit", 
"Starting Service Manager");
 
  644     sLog.Blue(
"  Service Manager", 
"Service Manager Initialized.");
 
  646     sLog.Green(
"       ServerInit", 
"Starting Command Dispatch Manager");
 
  649     sLog.Blue(
" Command Dispatch", 
"Command Dispatcher Initialized.");
 
  651     sLog.Green(
"       ServerInit", 
"Starting Bubble Manager");
 
  654     sLog.Green(
"       ServerInit", 
"Starting Standings Manager");
 
  657     sLog.Green(
"       ServerInit", 
"Starting Fleet Services");
 
  658     sFltSvc.Initialize(&pyServMgr);
 
  660     sLog.Green(
"       ServerInit", 
"Starting Market Manager");
 
  661     sMktMgr.Initialize(&pyServMgr);
 
  662     sLog.Green(
"       ServerInit", 
"Starting Statistics Manager");
 
  665     sLog.Green(
"       ServerInit", 
"Starting Console Manager");
 
  666     sConsole.Initialize(&command_dispatcher);
 
  669     sLog.Blue(
"     ServerConfig", 
"Cosmic Manager Settings");
 
  670     if (
sConfig.cosmic.CiviliansEnabled) {
 
  671         sLog.Green(
" Civilian Manager", 
"Civilian Manager Enabled.");
 
  673         sLog.Green(
"       ServerInit", 
"Starting Civilian Manager");
 
  674         sCivMgr.Initialize(&pyServMgr);
 
  676         sLog.Warning(
" Civilian Manager", 
"Civilian Manager Disabled.");
 
  678     if (
sConfig.cosmic.WormHoleEnabled) {
 
  679         sLog.Green(
" Wormhole Manager", 
"Wormhole Manager Enabled.");
 
  681         sLog.Green(
"       ServerInit", 
"Starting Wormhole Manager");
 
  682         sWHMgr.Initialize(&pyServMgr);
 
  684         sLog.Warning(
" Wormhole Manager", 
"Wormhole Manager Disabled.");
 
  689     sLog.Green(
"       ServerInit", 
"Registering Service Managers."); 
 
  790     sLog.Yellow(
"       ServerInit", 
"Loading Static Database Table Objects...");
 
  795     sLog.Green(
"       ServerInit", 
"Initializing BulkData");
 
  796     if (
sConfig.server.BulkDataOD) {
 
  797         sLog.Yellow(
"      BulkDataMgr", 
"PreLoading Disabled. BulkData will load on first call.");
 
  803     sLog.Green(
"       ServerInit", 
"Loading Data Sets");
 
  825     sLog.Green(
"       ServerInit", 
"Dynamic System Data Reset.");
 
  870     if (
sConfig.debug.UseProfiling) {
 
  875         sLog.Green(
" Server Profiling",
"Profile Data Reset.");
 
  879     sLog.Blue(
"       ServerInit", 
"Server Initialized in %.3f Seconds.", (
GetTimeMSeconds() - profileStartTime) / 1000);
 
  880     sLog.Error(
"       ServerInit", 
"Main Loop Starting.");
 
  883     sLog.Green(
"       ServerInit", 
"EVEmu Server is Online.");
 
  912         if (m_sleepTime > start)
 
  913             std::this_thread::sleep_for(std::chrono::milliseconds(start));
 
  925     sLog.Warning(
"   ServerShutdown", 
"Main loop has stopped." );
 
  926     sLog.Error(
"   ServerShutdown", 
"EVEmu Server is Offline." );
 
  931     sLog.Warning(
"   ServerShutdown", 
"TCP listener stopped." );
 
  934     sLog.Warning(
"   ServerShutdown", 
"Image Server stopped." );
 
  949     sLog.Warning(
"   ServerShutdown", 
"Saving Items." );
 
  957     sLog.Warning(
"   ServerShutdown", 
"Shutting down Item Factory." );
 
  962     command_dispatcher.
Close();
 
  966     sLog.Warning(
"   ServerShutdown", 
"Closing DataBase Connection." );
 
  969     sLog.Warning(
"   ServerShutdown", 
"Shutting down Thread Manager." );
 
  972     sLog.Warning(
"   ServerShutdown", 
"EVEmu is Offline.");
 
  982     sa.sa_handler = SIG_IGN;
 
  983     sa.sa_flags = SA_NOCLDWAIT;
 
  984     if (sigemptyset(&sa.sa_mask) == -1 ) {  
 
  985         perror(
"SigEmptySet Failure");
 
  988     if (sigaction(SIGCHLD, &sa, 
nullptr) == -1) {  
 
  989         perror(
"SigAction Failure");
 
  992     if (sigaction(SIGPIPE, &sa, 
nullptr) == -1) {  
 
  994         perror(
"SigPipe Failure");
 
 1005     #ifdef SIGABRT_COMPAT 
 1020     sLog.Error( 
"    Signal System", 
"Caught signal: %d", sig_num );
 
 1029     sLog.Warning(
"   ServerShutdown", 
"Main loop has stopped." );
 
 1030     sLog.Error(
"   ServerShutdown", 
"EVEmu Server is Offline." );
 
 1035     sLog.Warning(
"   ServerShutdown", 
"TCP listener stopped." );
 
 1038     sLog.Warning(
"   ServerShutdown", 
"Image Server stopped." );
 
 1040     sLog.Warning(
"   ServerShutdown", 
"Shutting down Market Manager." );
 
 1043     sLog.Warning(
"   ServerShutdown", 
"Closing the BulkData Manager." );
 
 1046     sLog.Warning(
"   ServerShutdown", 
"Closing the StationData Manager." );
 
 1049     sLog.Warning(
"   ServerShutdown", 
"Closing the StaticData Manager." );
 
 1053     sLog.Warning(
"   ServerShutdown", 
"Saving Items." );
 
 1057     sLog.Warning(
"   ServerShutdown", 
"Closing the Entity List." );
 
 1060     sLog.Warning(
"   ServerShutdown", 
"Closing the Services Manager." );
 
 1063     sLog.Warning(
"   ServerShutdown", 
"Shutting down Item Factory." );
 
 1065     sLog.Warning(
"   ServerShutdown", 
"Closing the Bubble Manager." );
 
 1072     sLog.Warning(
"   ServerShutdown", 
"Closing DataBase Connection." );
 
 1075     sLog.Warning(
"   ServerShutdown", 
"Shutting down Thread Manager." );
 
 1078     sLog.Warning(
"   ServerShutdown", 
"EVEmu is Offline.");
 
static const float POS_AI_Version
 
#define sConfig
A macro for easier access to the singleton. 
 
static const float Config_Version
 
static const float Drone_AI_Version
 
static const float Sentry_AI_Version
 
static const float Scan_Version
 
static const void SetCurrentTime()
 
bool load_log_settings(const char *filename)
 
static const float Civilian_AI_Version
 
bool log_open_logfile(const char *filename)
 
static const uint16 MachoNetVersion
 
static const uint32 TCPCONN_ERRBUF_SIZE
 
#define sLog
Evaluates to a NewLog instance. 
 
static void SetupSignals()
 
static const float Mission_Version
 
static const float Log_Version
 
EVE derivation of TCP connection. 
 
static const char *const EVEProjectVersion
 
static void SystemStartup()
 
static const double EVEVersionNumber
 
const std::string currentDateTime()
 
static const int32 EVEBuildVersion
 
void Close()
Stops started listening. 
 
bool Open(uint16 port, char *errbuf=0)
Start listening on specified port. 
 
static volatile bool m_run
 
static const char *const SRV_CONFIG_FILE
 
void RegisterAllCommands(CommandDispatcher &into)
 
X * PopConnection()
Pops connection from queue. 
 
static const float Joe_Version
 
int main(int argc, char *argv[])
 
Deals with character image stuff. 
 
Handles everything related to creating, deleting and selecting a character. 
 
static const char *const EVEMU_REVISION
 
ObjCacheService * cache_service
 
static void SetServerOnlineStatus(bool online=false)
 
void RegisterService(const std::string &name, PyService *svc)
 
static const char *const EVEMU_BUILD_DATE
 
EVE derivation of TCP server. 
 
void Initalize(double startTime)
 
static const float NPC_AI_Version
 
static void CatchSignal(int sig_num)