From 7256e01c24eede798f63912d2e43604596658b93 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Fri, 23 Mar 2018 15:54:50 -0400 Subject: Added more debugging Added more debugs statements for debuging player loading. --- gamemode/core/database/sv_setup.lua | 60 +++++++++++++++++++++++++++++++++---- 1 file changed, 55 insertions(+), 5 deletions(-) diff --git a/gamemode/core/database/sv_setup.lua b/gamemode/core/database/sv_setup.lua index b35e6f8..0db0a9d 100644 --- a/gamemode/core/database/sv_setup.lua +++ b/gamemode/core/database/sv_setup.lua @@ -3,18 +3,32 @@ --@server sv_setup.lua --@alias sql +--Config for mysql must be in before mysql +local config = nrequire("config/sv_sql.lua") --Adds the MySQLite global nrequire("sv_mysqlite.lua") -local config = nrequire("config/sv_sql.lua") local data = nrequire("config/sv_newplayer.lua") local col = nrequire("config/colortheme.lua") local q = nrequire("core/database/sv_queries.lua") +local log = nrequire("shared/log.lua") local sql = {} --Setup the database if it's not already local setup_db = [[ CREATE TABLE IF NOT EXISTS playerdata(SteamID bigint primary key, PlayerData TEXT, MetaData TEXT)]] +local setup_mapstich = [[ +CREATE TABLE IF NOT EXISTS maps(Server TEXT, Image BINARY, Connectors TEXT); +]] + +local insert_server = [[ +INSERT INTO maps(`Server`,`Connectors`) VALUES('%s','%s'); +]] + +local update_server = [[ +UPDATE maps SET Connectors='%s' WHERE Server='%s'; +]] + --Create a new player local create_player_query = [[ INSERT INTO playerdata (`SteamID`,`PlayerData`,`MetaData`) VALUES(%.0f,'%s','%s')]] @@ -29,22 +43,49 @@ UPDATE playerdata SET MetaData='%s' PlayerData='%s' WHERE SteamID=%.0f ]] local function q_fai(err,query) - MsgC(col.console.red,string.format("Error executing %s, error:%s",query,err)) + log.error(string.format("Error executing %s, error:%s",query,err)) end - - local function connect() --print("Connecting to the database...") MySQLite.initialize(config) + local omq = MySQLite.query + MySQLite.query = function(...) + local varargs = {...} + log.debug(string.format(">>%s",varargs[1])) + omq(unpack(varargs)) + end end hook.Add("DatabaseInitialized","setup_table",function() assert(MySQLite.isMySQL(),"Database wasn't mysqloo, something is probably wrong!") local setup_success = function(res,li) + log.info("Set up playerdata table") --print("Set up connection to db") end --print("Setup query:",setup_db) MySQLite.query(setup_db,setup_success,q_fai) + local q_suc = function(res,li) + log.info("Sucessfully created maps table") + local zall = {} + for k,v in pairs(zones.List) do + if v.class == "artery_serverchange" then + zall[#zall + 1] = v + end + end + local iinsert_suc = function(res,li) + log.info("Successfully inserted new server to maps") + end + local iinsert_fai = function(sql,err) + local qn = q.s_fmt(update_server,game.GetIPAddress(),util.TableToJSON(zall)) + local justprint = function(res,li) + print("Successfully updated server pos and stuff") + end + MySQLite.query(qn,justprin,q_fai) + end + local q_s = q.s_fmt(insert_server,game.GetIPAddress(),util.TableToJSON(zall)) + MySQLite.query(q_s,iinsert_suc,q_fai) + end + MySQLite.query(setup_mapstich,q_suc,q_fai) end) hook.Add("Initialize","initalizedbconnection",function() @@ -59,7 +100,9 @@ function sql.GetPlayerData(ply) local s64 = ply:SteamID64() local q_str = q.s_fmt(fetch_player_query,s64) local q_suc = function(res,li) + log.debug("Loading player, res is" .. tostring(res)) if res == nil then + log.debug("Creating new player") sql.CreatePlayerTable(ply) else assert(#res == 1,"Not unique!") @@ -97,18 +140,25 @@ end) --@see sv_newplayer.lua --@tparam player ply The player to create the new row for function sql.CreatePlayerTable(ply) + log.debug(string.format("Creating new player data for %q", ply:Nick())) --print("Createing player table....") local s64 = ply:SteamID64() + log.debug("got steam id it was " .. tostring(s64)) --print("steamid was", s64) local plytbl = data.newdata() + log.deubg("about to ask for new meta") local plymet = data.newmeta() - local plydata =util.TableToJSON(plytbl) + log.debug("About to get plydata and plymeta") + local plydata = util.TableToJSON(plytbl) local metdata = util.TableToJSON(plymet) local q_str = q.s_fmt(create_player_query,s64,plydata,metdata) + log.debug("built q_str it is" .. q_str) local q_suc = function(res,li) + log.debug("Inserted new player") --print("Inserted new player",ply) sql.GetPlayerData(ply) end + log.debug("About to do query") --print("doing query", q_str) MySQLite.query(q_str,q_suc,q_fai) end -- cgit v1.2.3-70-g09d2