• SQL Problems, making to many connections
    0 replies, posted
Well yes here I am again, this log mod works fine, but then I noticed an error, "To many connections" to my database, so I got someone to check it out and he said that it had made over 250 seperate connections, can someone help me make sure it doesn't do that again!. [lua]/*-------------------------------------------------------------------------- Start Config */-------------------------------------------------------------------------- local Host = "MEH" -- Host local User = "MEH" -- Username local Password = "MEH" -- Password local Database = "MEH" -- Database /*-------------------------------------------------------------------------- End Config - Do not edit below this unless you know what you're doing! */------------------------------------------------ ------------------------- require("mysql") local log_connect = CreateClientConVar("log_connect", 1, true, false) local log_spawn = CreateClientConVar("log_spawn", 1, true, false) local log_death = CreateClientConVar("log_death", 1, true, false) local log_disconnect = CreateClientConVar("log_disconnect", 1, true, false) local log_propspawn = CreateClientConVar("log_propspawn", 1, true, false) local log_weapon = CreateClientConVar("log_weapon", 1, true, false) local log_team = CreateClientConVar("log_team", 1, true, false) local log_spray = CreateClientConVar("log_spray", 1, true, false) local log_plyuse = CreateClientConVar("log_plyuse", 1, true, false) local log_noclip = CreateClientConVar("log_noclip", 1, true, false) local log_chat = CreateClientConVar("log_chat", 1, true, false) local db, error = mysql.connect(Host, User, Password, Database); if (db == 0) then Msg(error .. "\n") end -- MySql error logging timer.Create( "KeepAlive", 60, 0, function() local db, error = mysql.connect(Host, User, Password, Database); if (db == 0) then Msg(error .. "\n") end -- MySql error logging mysql.query(db, "SELECT 1 FROM logs"); mysql.disconnect(sql int) end ) /*-------------------------------------------------------------------------- Log: Player Connected */------------------------------------------------ ------------------------- local function LogSqlConnect( name, ip ) if log_connect:GetInt() == 1 then local PlyNickConnect = name local ConnectInfo = mysql.escape(db, "[LOG] " .. PlyNickConnect .. " joined the server ( " .. ip .. " )" ) mysql.query(db, "INSERT INTO logs (id, log, entered_time) VALUES(0, '" .. ConnectInfo .. "' , NOW())"); end end hook.Add("PlayerConnect", "LogSqlConnect", LogSqlConnect) /*-------------------------------------------------------------------------- Log: Player Spawned */------------------------------------------------ ------------------------- local function LogSqlInitialSpawn( ply ) if log_spawn:GetInt() == 1 then local PlyNickInitialSpawn = ply:Nick() local PlySteamId = ply:SteamID() local InitialSpawnInfo = mysql.escape(db, "[LOG] " .. PlyNickInitialSpawn .. " [" .. PlySteamId .. "] has spawned in the server." ) mysql.query(db, "INSERT INTO logs (id, log, entered_time) VALUES(0, '" .. InitialSpawnInfo .. "' , NOW())"); end end hook.Add("PlayerInitialSpawn", "LogSqlInitialSpawn", LogSqlInitialSpawn) /*-------------------------------------------------------------------------- Log: Player Died */------------------------------------------------ ------------------------- local function LogSqlDeath( ply, attacker, dmginfo ) if log_death:GetInt() == 1 then if attacker:IsValid() and attacker:IsPlayer() then local PlyNick = ply:Nick() local AttackPly = attacker:Nick() local PlySteamId = ply:SteamID() local AttackerSteamId = attacker:SteamID() local PlyDeath = mysql.escape(db, "[LOG] " .. PlyNick .. " [" .. PlySteamId .. "] has died. He was killed by " .. AttackPly .. " [" .. AttackerSteamId .. "]") mysql.query(db, "INSERT INTO logs (id, log, entered_time) VALUES(0, '" .. PlyDeath .. "' , NOW())"); end end end hook.Add("DoPlayerDeath", "LogSqlDeath", LogSqlDeath) /*-------------------------------------------------------------------------- Log: Player Disconnected */------------------------------------------------ ------------------------- local function LogSqlLeave( ply ) if log_disconnect:GetInt() == 1 then local PlyNick = ply:Nick() local PlySteamId = ply:SteamID() local PlyLeave = mysql.escape(db, "[LOG] " .. PlyNick .. " [" .. PlySteamId .. "] has left the server.") mysql.query(db, "INSERT INTO logs (id, log, entered_time) VALUES(0, '" .. PlyLeave .. "' , NOW())" ); end end hook.Add("PlayerDisconnected", "LogSqlLeave", LogSqlLeave) /*-------------------------------------------------------------------------- Log: Player Spawned A Prop */------------------------------------------------ ------------------------- local function LogSqlSpawnProp( ply, model, ent ) if log_propspawn:GetInt() == 1 then local PlyNick = ply:Nick() local PlySteamId = ply:SteamID() local PlyPropSpawn = mysql.escape(db, "[LOG] " .. PlyNick .. " [" .. PlySteamId .. "] has spawned " .. model ) mysql.query(db, "INSERT INTO logs (id, log, entered_time) VALUES(0, '" .. PlyPropSpawn .. "' , NOW())" ); end end hook.Add("PlayerSpawnedProp", "LogSqlSpawnProp", LogSqlSpawnProp) /*-------------------------------------------------------------------------- Log: Player Picked Up Weapon */------------------------------------------------ ------------------------- local DontLog = { "weapon_crowbar", "weapon_pistol", "weapon_smg1", "weapon_frag", "weapon_physcannon", "weapon_crossbow", "weapon_shotgun", "weapon_357", "weapon_rpg", "weapon_ar2", "gmod_tool", "gmod_camera", "weapon_physgun", } local function LogSqlWeapon( ply, weapon ) if log_weapon:GetInt() == 1 then if !table.HasValue(DontLog , weapon:GetClass()) then local PlyName = ply:Nick() local Weapon = weapon:GetClass() local PlySteamId = ply:SteamID() local PlyPickUpweapon = mysql.escape(db, "[LOG] " .. PlyName .. " [" .. PlySteamId .. "] picked up " .. Weapon ) mysql.query(db, "INSERT INTO logs (id, log, entered_time) VALUES(0, '" .. PlyPickUpweapon .. "' , NOW())" ); end end end hook.Add( "PlayerCanPickupWeapon", "LogSqlWeapon", LogSqlWeapon ) /*-------------------------------------------------------------------------- Log: Player Joined Team */------------------------------------------------ ------------------------- local function LogSqlJoinTeam( ply, teamid ) if log_team:GetInt() == 1 then local PlyNick = ply:Nick() local PlyTeam = team.GetName(teamid) local PlySteamId = ply:SteamID() local PlyJoinTeam = mysql.escape(db, "[LOG] " .. PlyNick .. " [" .. PlySteamId .. "] joined team " .. PlyTeam ) mysql.query(db, "INSERT INTO logs (id, log, entered_time) VALUES(0, '" .. PlyJoinTeam .. "' , NOW())" ); end end hook.Add( "PlayerJoinTeam", "LogSqlJoinTeam", LogSqlJoinTeam ) /*-------------------------------------------------------------------------- Log: Player Sprayed Spray */------------------------------------------------ ------------------------- local function LogSqlSprayed( ply ) if log_spray:GetInt() == 1 then local PlyNick = ply:Nick() local PlySteamId = ply:SteamID() local PlySprayed = mysql.escape(db, "[LOG] " .. PlyNick .. " [" .. PlySteamId .. "] sprayed a spray.") mysql.query(db, "INSERT INTO logs (id, log, entered_time) VALUES(0, '" .. PlySprayed .. "' , NOW())" ); end end hook.Add( "PlayerSpray", "LogSqlSprayed", LogSqlSprayed ) /*-------------------------------------------------------------------------- Log: Player Used Entity */------------------------------------------------ ------------------------- local function LogSqlPlayerUse( ply, ent ) if log_plyuse:GetInt() == 1 then local PlyNick = ply:Nick() local PlySteamId = ply:SteamID() local PlyUsed = mysql.escape(db, "[LOG] " .. PlyNick .. " [" .. PlySteamId .. "] used " .. ent:GetClass() ) mysql.query(db, "INSERT INTO logs (id, log, entered_time) VALUES(0, '" .. PlyUsed .. "' , NOW())" ); end end hook.Add( "PlayerUse", "LogSqlPlayerUse", LogSqlPlayerUse )
Sorry, you need to Log In to post a reply to this thread.