Clean up common_defines

This commit is contained in:
Sky Johnson 2025-09-06 21:13:13 -05:00
parent 6ee4389b57
commit 101c1217b2
4 changed files with 96 additions and 96 deletions

View File

@ -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());
}
}
}
}

View File

@ -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 <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <algorithm>
#include <chrono>
#include <signal.h>
@ -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<EQStream*, int32> connecting_clients;
map<EQStream*, int32>::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<std::chrono::system_clock> 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
#endif

View File

@ -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

16
source/common/defines.h Normal file
View File

@ -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