aboutsummaryrefslogtreecommitdiff
path: root/src/server/authserver
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/authserver')
-rw-r--r--src/server/authserver/Main.cpp22
-rw-r--r--src/server/authserver/authserver.conf.dist38
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