diff options
Diffstat (limited to 'src/server/authserver')
| -rw-r--r-- | src/server/authserver/Main.cpp | 22 | ||||
| -rw-r--r-- | src/server/authserver/authserver.conf.dist | 38 |
2 files changed, 38 insertions, 22 deletions
diff --git a/src/server/authserver/Main.cpp b/src/server/authserver/Main.cpp index 88a98cd6cdb..849e1f71248 100644 --- a/src/server/authserver/Main.cpp +++ b/src/server/authserver/Main.cpp @@ -24,7 +24,6 @@ #include "Common.h" #include "Database/DatabaseEnv.h" -#include "Database/PreparedStatements.h" #include "Configuration/Config.h" #include "Log.h" @@ -315,7 +314,7 @@ extern int main(int argc, char **argv) { loopCounter = 0; sLog.outDetail("Ping MySQL to keep connection alive"); - sPreparedStatement.Query(&LoginDatabase, "auth_ping"); + LoginDatabase.Query("SELECT 1 FROM realmlist"); } #ifdef _WIN32 if (m_ServiceStatus == 0) stopEvent = true; @@ -323,9 +322,8 @@ extern int main(int argc, char **argv) #endif } - ///- Wait for the delay thread to exit - LoginDatabase.ThreadEnd(); - LoginDatabase.HaltDelayThread(); + ///- Close the Database Pool + LoginDatabase.Close(); sLog.outString("Halting process..."); return 0; @@ -341,16 +339,18 @@ bool StartDB() return false; } - if (!LoginDatabase.Initialize(dbstring.c_str())) + uint8 num_threads = sConfig.GetIntDefault("LoginDatabase.WorkerThreads", 1); + if (num_threads < 1 || num_threads > 32) + { + sLog.outError("Improper value specified for LoginDatabase.WorkerThreads, defaulting to 1."); + num_threads = 1; + } + + if (!LoginDatabase.Open(dbstring.c_str(), num_threads)) { sLog.outError("Cannot connect to database"); return false; } - LoginDatabase.ThreadStart(); - - uint32 count = 0; - sPreparedStatement.LoadAuthserver(&LoginDatabase, count); - sLog.outString("Loaded %u prepared MySQL statements for auth DB.", count); return true; } diff --git a/src/server/authserver/authserver.conf.dist b/src/server/authserver/authserver.conf.dist index 0ecb58bf14b..56788381af8 100644 --- a/src/server/authserver/authserver.conf.dist +++ b/src/server/authserver/authserver.conf.dist @@ -7,17 +7,6 @@ ############################################################################### # AUTH SERVER SETTINGS # -# LoginDatabaseInfo -# Database connection settings for the realm server. -# Default: -# hostname;port;username;password;database -# .;somenumber;username;password;database -# - use named pipes in Windows -# Named pipes: mySQL required adding -# "enable-named-pipe" to [mysqld] section my.ini -# .;/path/to/unix_socket;username;password;database -# - use Unix sockets in Unix/Linux -# # LogsDir # Logs directory setting. # Important: Logs dir must exists, or all logs need to be disabled @@ -146,3 +135,30 @@ RealmsStateUpdateDelay = 20 WrongPass.MaxCount = 0 WrongPass.BanTime = 600 WrongPass.BanType = 0 + +############################################################################### +# MYSQL SETTINGS +# +# LoginDatabaseInfo +# Database connection settings for the realm server. +# Default: +# hostname;port;username;password;database +# .;somenumber;username;password;database +# - use named pipes in Windows +# Named pipes: mySQL required adding +# "enable-named-pipe" to [mysqld] section my.ini +# .;/path/to/unix_socket;username;password;database +# - use Unix sockets in Unix/Linux +# +# LoginDatabase.WorkerThreads +# The amount of worker threads spawned to handle +# asynchroneous MySQL statements +# Each worker thread is mirrored with its own +# connection to the MySQL server and their own +# thread on the MySQL server. +# Default: 1 +# +############################################################################### + +LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth" +LoginDatabase.WorkerThreads = 1 |
