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.