aboutsummaryrefslogtreecommitdiff
path: root/src/querymanager.cc
diff options
context:
space:
mode:
authorfusion32 <marcopuzziello@gmail.com>2025-08-05 03:39:51 -0300
committerfusion32 <marcopuzziello@gmail.com>2025-08-08 12:11:36 -0300
commit20ca1cf66123c110cc14aa452a840e5f62cd74ff (patch)
tree5ce43bf569d54e04b5d0fab3dc9ec0708d061529 /src/querymanager.cc
parent634554a0df8dfd35630f17b5fee44c54b7af73a5 (diff)
downloadquerymanager-20ca1cf66123c110cc14aa452a840e5f62cd74ff.tar.gz
querymanager-20ca1cf66123c110cc14aa452a840e5f62cd74ff.zip
store world hostname and resolve at runtime
Diffstat (limited to 'src/querymanager.cc')
-rw-r--r--src/querymanager.cc19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/querymanager.cc b/src/querymanager.cc
index 1ed818e..6f4cfc9 100644
--- a/src/querymanager.cc
+++ b/src/querymanager.cc
@@ -15,14 +15,20 @@ int g_ShutdownSignal = 0;
// Time
int g_MonotonicTimeMS = 0;
-// Config
+// Database Config
char g_DatabaseFile[1024] = "tibia.db";
int g_MaxCachedStatements = 100;
+
+// HostCache Config
+int g_MaxCachedHostNames = 100;
+int g_HostNameExpireTime = 30 * 60 * 1000; // milliseconds
+
+// Connection Config
int g_UpdateRate = 20;
int g_QueryManagerPort = 7174;
char g_QueryManagerPassword[30] = "";
int g_MaxConnections = 50;
-int g_MaxConnectionIdleTime = 60000;
+int g_MaxConnectionIdleTime = 60 * 1000; // milliseconds
int g_MaxConnectionPacketSize = (int)MB(1);
void LogAdd(const char *Prefix, const char *Format, ...){
@@ -370,6 +376,10 @@ bool ReadConfig(const char *FileName){
ReadStringConfig(g_DatabaseFile, (int)sizeof(g_DatabaseFile), Val);
}else if(StringEqCI(Key, "MaxCachedStatements")){
ReadIntegerConfig(&g_MaxCachedStatements, Val);
+ }else if(StringEqCI(Key, "MaxCachedHostNames")){
+ ReadIntegerConfig(&g_MaxCachedHostNames, Val);
+ }else if(StringEqCI(Key, "HostNameExpireTime")){
+ ReadDurationConfig(&g_HostNameExpireTime, Val);
}else if(StringEqCI(Key, "UpdateRate")){
ReadIntegerConfig(&g_UpdateRate, Val);
}else if(StringEqCI(Key, "QueryManagerPort")){
@@ -430,9 +440,12 @@ int main(int argc, const char **argv){
return EXIT_FAILURE;
}
+ atexit(ExitHostCache);
atexit(ExitDatabase);
atexit(ExitConnections);
- if(!InitDatabase() || !InitConnections()){
+ if(!InitHostCache()
+ || !InitDatabase()
+ || !InitConnections()){
return EXIT_FAILURE;
}