diff options
| author | fusion32 <marcopuzziello@gmail.com> | 2025-08-05 03:39:51 -0300 |
|---|---|---|
| committer | fusion32 <marcopuzziello@gmail.com> | 2025-08-08 12:11:36 -0300 |
| commit | 20ca1cf66123c110cc14aa452a840e5f62cd74ff (patch) | |
| tree | 5ce43bf569d54e04b5d0fab3dc9ec0708d061529 /src/querymanager.cc | |
| parent | 634554a0df8dfd35630f17b5fee44c54b7af73a5 (diff) | |
| download | querymanager-20ca1cf66123c110cc14aa452a840e5f62cd74ff.tar.gz querymanager-20ca1cf66123c110cc14aa452a840e5f62cd74ff.zip | |
store world hostname and resolve at runtime
Diffstat (limited to 'src/querymanager.cc')
| -rw-r--r-- | src/querymanager.cc | 19 |
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; } |
