Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 15 additions & 12 deletions configs/core.ini
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
; Configuration file for AMX Mod X
amxx_logs addons/amxmodx/logs
amxx_configsdir addons/amxmodx/configs
amxx_datadir addons/amxmodx/data
amxx_modules addons/amxmodx/configs/modules.ini
amxx_plugins addons/amxmodx/configs/plugins.ini
amxx_pluginsdir addons/amxmodx/plugins
amxx_modulesdir addons/amxmodx/modules
amxx_vault addons/amxmodx/data/vault.ini
amxx_logs addons/amxmodx/logs
amxx_configsdir addons/amxmodx/configs
amxx_datadir addons/amxmodx/data
amxx_modules addons/amxmodx/configs/modules.ini
amxx_plugins addons/amxmodx/configs/plugins.ini
amxx_pluginsdir addons/amxmodx/plugins
amxx_modulesdir addons/amxmodx/modules
amxx_vault addons/amxmodx/data/vault.ini

; Logging mode
; 0 - no logging
; 1 - one logfile / day
; 2 - one logfile / map
; 3 - HL Logs
amxx_logging 1
amxx_logging 1

; MySQL default timeout
mysql_timeout 60

; Binary logging level
; add these up to get what you want
Expand All @@ -24,10 +27,10 @@ amxx_logging 1
; 8 - log all native params
; 16 - log internal function calls (only in debug mode)
; 32 - log line number accesses (only in debug mode)
bin_logging 49
bin_logging 49

; Maximum binary log size, in megs
max_binlog_size 20
max_binlog_size 20

; Plugin optimization flags - add these up to get what you want
; lowering these may stop crashes on very old CPUs
Expand All @@ -36,4 +39,4 @@ max_binlog_size 20
; 1 - float arithmetic
; 2 - float comparisons
; 4 - float rounding
optimizer 7
optimizer 7
13 changes: 7 additions & 6 deletions configs/sql.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@

// *NOTE* amx_sql_type specifies the DEFAULT database type which admin.sma will use.

amx_sql_host "127.0.0.1"
amx_sql_user "root"
amx_sql_pass ""
amx_sql_db "amx"
amx_sql_table "admins"
amx_sql_type "mysql"
amx_sql_host "127.0.0.1"
amx_sql_user "root"
amx_sql_pass ""
amx_sql_db "amx"
amx_sql_table "admins"
amx_sql_type "mysql"
amx_sql_timeout "60"
15 changes: 13 additions & 2 deletions dlls/mysqlx/mysql/MysqlDriver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,22 @@ IDatabase *MysqlDriver::_Connect(DatabaseInfo *info, int *errcode, char *error,
return NULL;
}

if (do_timeout && info->max_timeout)
decltype(info->max_timeout) timeout = atoi(LOCALINFO("mysql_timeout"));

if (timeout <= 0)
{
mysql_options(mysql, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&(info->max_timeout));
timeout = 60;
}

if (do_timeout && info->max_timeout > 0)
{
timeout = info->max_timeout;
}

mysql_options(mysql, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&timeout);
mysql_options(mysql, MYSQL_OPT_READ_TIMEOUT, (const char *)&timeout);
mysql_options(mysql, MYSQL_OPT_WRITE_TIMEOUT, (const char *)&timeout);

/** Have MySQL automatically reconnect if it times out or loses connection.
* This will prevent "MySQL server has gone away" errors after a while.
*/
Expand Down
1 change: 1 addition & 0 deletions plugins/admin.sma
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ public plugin_init()
register_cvar("amx_sql_pass", "", FCVAR_PROTECTED)
register_cvar("amx_sql_db", "amx", FCVAR_PROTECTED)
register_cvar("amx_sql_type", "mysql", FCVAR_PROTECTED)
register_cvar("amx_sql_timeout", "60", FCVAR_PROTECTED)

register_concmd("amx_reloadadmins", "cmdReload", ADMIN_CFG)
register_concmd("amx_addadmin", "addadminfn", ADMIN_RCON, "<playername|auth> <accessflags> [password] [authtype] - add specified player as an admin to users.ini")
Expand Down
5 changes: 5 additions & 0 deletions plugins/include/sqlx.inc
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,11 @@ stock Handle:SQL_MakeStdTuple(timeout = 0)
get_cvar_string("amx_sql_pass", pass, 31);
get_cvar_string("amx_sql_type", set_type, 11);
get_cvar_string("amx_sql_db", db, 127);

if (timeout <= 0)
{
timeout = get_cvar_num("amx_sql_timeout");
}

SQL_GetAffinity(get_type, 12);

Expand Down