From 101c1217b2ca1959b7a6a12dbb377256fed964de Mon Sep 17 00:00:00 2001 From: Sky Johnson Date: Sat, 6 Sep 2025 21:13:13 -0500 Subject: [PATCH] Clean up common_defines --- source/LoginServer/net.cpp | 38 +++++----- source/WorldServer/net.cpp | 123 ++++++++++++++++----------------- source/common/Common_Defines.h | 15 ---- source/common/defines.h | 16 +++++ 4 files changed, 96 insertions(+), 96 deletions(-) delete mode 100644 source/common/Common_Defines.h create mode 100644 source/common/defines.h diff --git a/source/LoginServer/net.cpp b/source/LoginServer/net.cpp index 81976a4..97571bf 100644 --- a/source/LoginServer/net.cpp +++ b/source/LoginServer/net.cpp @@ -1,4 +1,4 @@ -/* +/* EQ2Emulator: Everquest II Server Emulator Copyright (C) 2007 EQ2EMulator Development Team (http://www.eq2emulator.net) @@ -35,7 +35,7 @@ #include "../common/ConfigReader.h" #include "../common/Log.h" #include "../common/JsonParser.h" -#include "../common/Common_Defines.h" +#include "../common/defines.h" #ifdef WIN32 #define snprintf _snprintf @@ -74,7 +74,7 @@ int main(int argc, char** argv){ _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif LogWrite(LOGIN__DEBUG, 0, "Login", "[DEBUG] Entering main() method - net.cpp:72"); - + if (signal(SIGINT, CatchSignal) == SIG_ERR) { cerr << "Could not set signal handler" << endl; } @@ -91,7 +91,7 @@ int main(int argc, char** argv){ return 1; net.InitWebServer(net.GetWebLoginAddress(), net.GetWebLoginPort(), net.GetWebCertFile(), net.GetWebKeyFile(), net.GetWebKeyPassword(), net.GetWebHardcodeUser(), net.GetWebHardcodePassword()); - + const char* structList[] = { "CommonStructs.xml", "LoginStructs.xml" }; for (int s = 0; s < sizeof(structList) / sizeof(const char*); s++) @@ -105,11 +105,11 @@ int main(int argc, char** argv){ return 1; } } - + LogWrite(INIT__INFO, 0, "Init", "Initialize World List.."); world_list.Init(); - + if(eqsf.listen_ip_address) LogWrite(INIT__INFO, 0, "Init", "Login server listening on %s port %i", eqsf.listen_ip_address, net.GetPort()); else @@ -125,7 +125,7 @@ int main(int argc, char** argv){ } net.login_running = true; net.login_uptime = getCurrentTimestamp(); - + net.UpdateWindowTitle(); EQStream* eqs; Timer* TimeoutTimer = new Timer(5000); @@ -204,7 +204,7 @@ void NetConnection::HitKey(int keyhit) } } #endif - + void CatchSignal(int sig_num) { cout << "Got signal " << sig_num << endl; RunLoops = false; @@ -219,12 +219,12 @@ bool NetConnection::ReadLoginConfig() { } std::string serverport = parser.getValue("loginconfig.serverport"); std::string serverip = parser.getValue("loginconfig.serverip"); - + if (!parser.convertStringToUnsignedShort(serverport, port)) { LogWrite(INIT__ERROR, 0, "Init", "Failed to translate loginconfig.serverport.."); return false; } - + if(serverip.size() > 0) { eqsf.listen_ip_address = new char[serverip.size() + 1]; strcpy(eqsf.listen_ip_address, serverip.c_str()); @@ -233,31 +233,31 @@ bool NetConnection::ReadLoginConfig() { safe_delete(eqsf.listen_ip_address); eqsf.listen_ip_address = nullptr; } - + std::string acctcreate_str = parser.getValue("loginconfig.accountcreation"); int16 allow_acct = 0; parser.convertStringToUnsignedShort(acctcreate_str, allow_acct); allowAccountCreation = allow_acct > 0 ? true : false; - + std::string expflag_str = parser.getValue("loginconfig.expansionflag"); parser.convertStringToUnsignedInt(expflag_str, expansionFlag); - + std::string citiesflag_str = parser.getValue("loginconfig.citiesflag"); parser.convertStringToUnsignedChar(citiesflag_str, citiesFlag); - + std::string defaultsublevel_str = parser.getValue("loginconfig.defaultsubscriptionlevel"); parser.convertStringToUnsignedInt(defaultsublevel_str, defaultSubscriptionLevel); - + std::string enableraces_str = parser.getValue("loginconfig.enabledraces"); parser.convertStringToUnsignedInt(enableraces_str, enabledRaces); - + web_loginaddress = parser.getValue("loginconfig.webloginaddress"); web_certfile = parser.getValue("loginconfig.webcertfile"); web_keyfile = parser.getValue("loginconfig.webkeyfile"); web_keypassword = parser.getValue("loginconfig.webkeypassword"); web_hardcodeuser = parser.getValue("loginconfig.webhardcodeuser"); web_hardcodepassword = parser.getValue("loginconfig.webhardcodepassword"); - + std::string webloginport_str = parser.getValue("loginconfig.webloginport"); parser.convertStringToUnsignedShort(webloginport_str, web_loginport); @@ -355,7 +355,7 @@ void NetConnection::InitWebServer(std::string web_ipaddr, int16 web_port, std::s if(web_ipaddr.size() > 0 && web_port > 0) { try { login_webserver = new WebServer(web_ipaddr, web_port, cert_file, key_file, key_password, hardcode_user, hardcode_password); - + login_webserver->register_route("/status", NetConnection::Web_loginhandle_status); login_webserver->register_route("/worlds", NetConnection::Web_loginhandle_worlds); login_webserver->run(); @@ -365,4 +365,4 @@ void NetConnection::InitWebServer(std::string web_ipaddr, int16 web_port, std::s LogWrite(INIT__ERROR, 0, "Init", "Login Web Server failed to listen on %s:%u due to reason %s", web_ipaddr.c_str(), web_port, e.what()); } } -} \ No newline at end of file +} diff --git a/source/WorldServer/net.cpp b/source/WorldServer/net.cpp index afbfdd2..a680515 100644 --- a/source/WorldServer/net.cpp +++ b/source/WorldServer/net.cpp @@ -1,4 +1,4 @@ -/* +/* EQ2Emulator: Everquest II Server Emulator Copyright (C) 2005 - 2026 EQ2EMulator Development Team (http://www.eq2emu.com formerly http://www.eq2emulator.net) @@ -27,7 +27,7 @@ using namespace std; #include #include #include -#include +#include #include #include @@ -44,9 +44,8 @@ using namespace std; #include "../common/version.h" #include "../common/EQEMuError.h" #include "../common/opcodemgr.h" -#include "../common/Common_Defines.h" +#include "../common/defines.h" #include "../common/JsonParser.h" -#include "../common/Common_Defines.h" #include "LoginServer.h" #include "Commands/Commands.h" @@ -169,7 +168,7 @@ int main(int argc, char** argv) { #ifdef _DEBUG _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif - + if (signal(SIGINT, CatchSignal) == SIG_ERR) { LogWrite(INIT__ERROR, 0, "Init", "Could not set signal handler"); return 0; @@ -188,12 +187,12 @@ int main(int argc, char** argv) { return 0; } #endif - + LogWrite(WORLD__DEBUG, 0, "World", "Randomizing World..."); srand(time(NULL)); net.ReadLoginINI(argc, argv); - + // JA: Grouping all System (core) data loads together for timing purposes LogWrite(WORLD__INFO, 0, "World", "Loading System Data..."); int32 t_now = Timer::GetUnixTimeStamp(); @@ -214,10 +213,10 @@ int main(int argc, char** argv) { LogWrite(INIT__ERROR, 0, "Init", "Loading opcodes failed. Make sure you have sourced the opcodes.sql file!"); return false; } - + if(version1 == 0) // we don't need to display version 0 continue; - + if(prevString.size() > 0) { if(prevString == missingOpcodesList) { builtString += ", " + std::to_string(version1); @@ -275,26 +274,26 @@ int main(int argc, char** argv) { #endif #endif } - + if (!threadedLoad) { LogWrite(ITEM__INFO, 0, "Items", "Loading Items..."); database.LoadItemList(); - + LogWrite(SPELL__INFO, 0, "Spells", "Loading Spells..."); database.LoadSpells(); LogWrite(SPELL__INFO, 0, "Spells", "Loading Spell Errors..."); database.LoadSpellErrors(); - + LogWrite(WORLD__INFO, 0, "Traits", "Loading Traits..."); database.LoadTraits(); - + LogWrite(QUEST__INFO, 0, "Quests", "Loading Quests..."); database.LoadQuests(); - + LogWrite(COLLECTION__INFO, 0, "Collect", "Loading Collections..."); database.LoadCollections(); - + LogWrite(MERCHANT__INFO, 0, "Merchants", "Loading Merchants..."); database.LoadMerchantInformation(); } @@ -305,7 +304,7 @@ int main(int argc, char** argv) { database.LoadRecipes(); LogWrite(TRADESKILL__INFO, 0, "Tradeskills", "Loading Tradeskill Events..."); database.LoadTradeskillEvents(); - + LogWrite(SPELL__INFO, 0, "AA", "Loading Alternate Advancements..."); database.LoadAltAdvancements(); LogWrite(SPELL__INFO, 0, "AA", "Loading AA Tree Nodes..."); @@ -326,7 +325,7 @@ int main(int argc, char** argv) { LogWrite(LUA__INFO, 0, "LUA", "Loading Player Scripts..."); world.LoadPlayerScripts(); - + LogWrite(WORLD__INFO, 0, "World", "Loading House Zone Data..."); database.LoadHouseZones(); @@ -345,17 +344,17 @@ int main(int argc, char** argv) { LogWrite(WORLD__INFO, 0, "World", "Loading NPC Spells..."); database.LoadNPCSpells(); - + if (threadedLoad) { LogWrite(WORLD__INFO, 0, "World", "Waiting for load threads to finish."); while (!world.items_loaded || !world.spells_loaded) Sleep(10); LogWrite(WORLD__INFO, 0, "World", "Load threads finished."); } - + LogWrite(GUILD__INFO, 0, "Guilds", "Loading Guilds..."); database.LoadGuilds(); - + LogWrite(WORLD__INFO, 0, "World", "Loading Player House Data..."); database.LoadPlayerHouses(); @@ -363,10 +362,10 @@ int main(int argc, char** argv) { int ret_code = 0; if (eqsf.Open(net.GetWorldPort())) { world.world_loaded = true; // need this set ahead so peering starts sending data also - + LogWrite(WORLD__INFO, 0, "World", "Loading Broker Data..."); database.LoadBrokerData(broker); - + if (strlen(net.GetWorldAddress()) == 0) LogWrite(NET__INFO, 0, "Net", "World server listening on port %i", net.GetWorldPort()); else @@ -374,7 +373,7 @@ int main(int argc, char** argv) { if(strlen(net.GetInternalWorldAddress())>0) LogWrite(NET__INFO, 0, "Net", "World server listening on: %s:%i", net.GetInternalWorldAddress(), net.GetWorldPort()); - + world.world_uptime = getCurrentTimestamp(); #ifdef WIN32 _beginthread(StartPeerPoll, 0, NULL); @@ -396,14 +395,14 @@ int main(int argc, char** argv) { TimeoutTimer->Start(); EQStream* eqs = 0; UpdateWindowTitle(0); - + if(net.is_primary) { database.LoadSpecialZones(); } - + map connecting_clients; map::iterator cc_itr; - + LogWrite(WORLD__DEBUG, 0, "Thread", "Starting console command thread..."); #ifdef WIN32 _beginthread(EQ2ConsoleListener, 0, NULL); @@ -415,9 +414,9 @@ int main(int argc, char** argv) { // // just before starting loops, announce how to get console help (only to windows) -#ifdef WIN32 +#ifdef WIN32 LogWrite(WORLD__INFO, 0, "Console", "Type 'help' or '?' and press enter for menu options."); -#endif +#endif std::chrono::time_point frame_prev = std::chrono::system_clock::now(); @@ -511,7 +510,7 @@ int main(int argc, char** argv) { LogWrite(WORLD__DEBUG, 0, "World", "The world is ending!"); peer_https_pool.stopPolling(); - + LogWrite(WORLD__DEBUG, 0, "World", "Shutting down zones..."); zone_list.ShutDownZones(); @@ -549,11 +548,11 @@ ThreadReturnType ItemLoad (void* tmp) WorldDatabase db; db.Init(); db.ConnectNewDatabase(); - + LogWrite(ITEM__INFO, 0, "Items", "Loading Items..."); db.LoadItemList(); db.ResetNextUniqueItemID(); - + // Relies on the item list so needs to be in the item thread LogWrite(COLLECTION__INFO, 0, "Collect", "Loading Collections..."); db.LoadCollections(); @@ -624,7 +623,7 @@ ThreadReturnType AchievmentLoad (void* tmp) world->achievments_loaded = true; LogWrite(WORLD__WARNING, 0, "Thread", "Achievement Loading Thread completed."); - + mysql_thread_end(); THREAD_RETURN(NULL); } @@ -649,14 +648,14 @@ ThreadReturnType StartPeerPoll (void* tmp) ThreadReturnType EQ2ConsoleListener(void* tmp) { - char cmd[300]; + char cmd[300]; size_t i = 0; size_t len; while( RunLoops ) { // Read in single line from "stdin" - memset( cmd, 0, sizeof( cmd ) ); + memset( cmd, 0, sizeof( cmd ) ); if( fgets( cmd, 300, stdin ) == NULL ) continue; @@ -709,34 +708,34 @@ bool NetConnection::ReadLoginINI(int argc, char** argv) { LogWrite(INIT__ERROR, 0, "Init", "loginserver.worldname was invalid or less than 4 characters.."); return false; } - + std::string worldaccount_str = parser.getValue("loginserver.account"); std::string worldpassword_str = parser.getValue("loginserver.password"); std::string worldaddress_str = parser.getValue("loginserver.worldaddress"); - + snprintf(worldname, sizeof(worldname), "%s", worldname_str.c_str()); snprintf(worldaccount, sizeof(worldaccount), "%s", worldaccount_str.c_str()); snprintf(worldpassword, sizeof(worldpassword), "%s", worldpassword_str.c_str()); snprintf(worldaddress, sizeof(worldaddress), "%s", worldaddress_str.c_str()); - + std::string logstats_str = parser.getValue("loginserver.logstats"); int16 logstats = 0; parser.convertStringToUnsignedShort(logstats_str, logstats); net.UpdateStats = logstats > 0 ? true : false; - + std::string locked_str = parser.getValue("loginserver.locked"); int16 locked = 0; parser.convertStringToUnsignedShort(locked_str, locked); world_locked = locked > 0 ? true : false; - + std::string worldport_str = parser.getValue("loginserver.worldport"); parser.convertStringToUnsignedShort(worldport_str, worldport); - + for(int i=-1;i<=3;i++) { - + std::string loginport_str = ""; std::string loginaddress_str = ""; - + if(i==-1) { loginport_str = parser.getValue("loginserver.loginport"); loginaddress_str = parser.getValue("loginserver.loginserver"); @@ -745,20 +744,20 @@ bool NetConnection::ReadLoginINI(int argc, char** argv) { loginport_str = parser.getValue("loginserver.loginport" + std::to_string(i)); loginaddress_str = parser.getValue("loginserver.loginserver" + std::to_string(i)); } - + if(loginport_str.size() < 1 || loginaddress_str.size() < 1) continue; - + parser.convertStringToUnsignedShort(loginport_str, loginport[i+1]); snprintf(loginaddress[i+1], sizeof(loginaddress[i+1]), "%s", loginaddress_str.c_str()); LogWrite(INIT__INFO, 0, "Init", "Login Server %s:%u...", loginaddress[i+1], loginport[i+1]); } - + if(!loginaddress[0][0]) { LogWrite(INIT__ERROR, 0, "Init", "loginserver.loginserver was missing.."); return false; } - + web_worldaddress = parser.getValue("worldserver.webaddress"); web_certfile = parser.getValue("worldserver.webcertfile"); web_keyfile = parser.getValue("worldserver.webkeyfile"); @@ -797,19 +796,19 @@ bool NetConnection::ReadLoginINI(int argc, char** argv) { break; } } - + std::string webpeerpriority_str = parser.getValue("worldserver.peerpriority"); parser.convertStringToUnsignedShort(webpeerpriority_str, web_peerpriority); - + peer_https_pool.init(web_certfile, web_keyfile); - + std::string webloginport_str = parser.getValue("worldserver.webport"); parser.convertStringToUnsignedShort(webloginport_str, web_worldport); - + std::string defaultstatus_str = parser.getValue("worldserver.defaultstatus"); parser.convertStringToUnsignedChar(defaultstatus_str, DEFAULTSTATUS); - - + + // Define namespace for ease of use namespace po = boost::program_options; @@ -847,16 +846,16 @@ bool NetConnection::ReadLoginINI(int argc, char** argv) { web_worldport = webWorldPort; if(worldPort) worldport = worldPort; - + if(worldAddress.size() > 0) snprintf(worldaddress, sizeof(worldaddress), "%s", worldAddress.c_str()); - + if(internalWorldAddress.size() > 0) snprintf(internalworldaddress, sizeof(internalworldaddress), "%s", internalWorldAddress.c_str()); - + if(webWorldAddress.size() > 0) web_worldaddress = webWorldAddress; - + LogWrite(INIT__DEBUG, 0, "Init", "%s read...", MAIN_CONFIG_FILE); LoginServerInfo=1; return true; @@ -898,7 +897,7 @@ void UpdateWindowTitle(char* iNewTitle) { string servername = net.GetWorldName(); snprintf(tmp, sizeof(tmp), "%s (%s), Version: %s: %i Clients(s) in %i Zones(s)", EQ2EMU_MODULE, servername.c_str(), CURRENT_VERSION, numclients, numzones); } - // Zero terminate ([max - 1] = 0) the string to prevent a warning + // Zero terminate ([max - 1] = 0) the string to prevent a warning tmp[499] = 0; #ifdef WIN32 SetConsoleTitle(tmp); @@ -1030,7 +1029,7 @@ ThreadReturnType StartDiscord(void* tmp) #endif bool enablediscord = rule_manager.GetGlobalRule(R_Discord, DiscordEnabled)->GetBool(); - + if(enablediscord == false) { LogWrite(INIT__INFO, 0,"Discord","Bot Disabled By Rule..."); THREAD_RETURN(NULL); @@ -1045,14 +1044,14 @@ ThreadReturnType StartDiscord(void* tmp) } dpp::cluster bot(bottoken, dpp::i_default_intents | dpp::i_message_content); - + //if we have debug on, go ahead and show DPP logs. #ifdef DEBUG bot.on_log([&bot](const dpp::log_t & event) { std::cout << "[" << dpp::utility::loglevel(event.severity) << "] " << event.message << "\n"; }); #endif - + bot.on_message_create([&bot](const dpp::message_create_t& event) { if (event.msg.author.is_bot() == false) { std::string chanid = event.msg.channel_id.str(); @@ -1071,7 +1070,7 @@ ThreadReturnType StartDiscord(void* tmp) //wait 30s for reconnect. prevents hammering discord and a potential ban. std::this_thread::sleep_for(std::chrono::milliseconds(30000)); } - + THREAD_RETURN(NULL); } -#endif \ No newline at end of file +#endif diff --git a/source/common/Common_Defines.h b/source/common/Common_Defines.h deleted file mode 100644 index 843f4e0..0000000 --- a/source/common/Common_Defines.h +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (C) 2007-2025 EQ2EMulator -// Licensed under GPL v3 -#define BASEDIR "./" - -#ifndef DB_INI_FILE - #ifdef LOGIN - #define DB_INI_FILE BASEDIR "login_db.ini" - #else - #define DB_INI_FILE BASEDIR "world_db.ini" - #endif -#endif - -#ifndef MAIN_CONFIG_FILE - #define MAIN_CONFIG_FILE BASEDIR "server_config.json" -#endif \ No newline at end of file diff --git a/source/common/defines.h b/source/common/defines.h new file mode 100644 index 0000000..adc2819 --- /dev/null +++ b/source/common/defines.h @@ -0,0 +1,16 @@ +// Copyright (C) 2007-2025 EQ2EMulator +// Licensed under GPL v3 + +#define BASEDIR "./" + +#ifndef DB_INI_FILE + #ifdef LOGIN + #define DB_INI_FILE BASEDIR "login_db.ini" + #else + #define DB_INI_FILE BASEDIR "world_db.ini" + #endif +#endif + +#ifndef MAIN_CONFIG_FILE + #define MAIN_CONFIG_FILE BASEDIR "server_config.json" +#endif