aboutsummaryrefslogtreecommitdiff
path: root/gamemode/core/database
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2018-03-23 15:54:50 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2018-03-23 15:54:50 -0400
commit7256e01c24eede798f63912d2e43604596658b93 (patch)
treea656967515581dc3fe80269fd09da77ab32bf574 /gamemode/core/database
parent30ca838a3700623dd445df7ceb13d84341dbef64 (diff)
downloadartery-7256e01c24eede798f63912d2e43604596658b93.tar.gz
artery-7256e01c24eede798f63912d2e43604596658b93.tar.bz2
artery-7256e01c24eede798f63912d2e43604596658b93.zip
Added more debugging
Added more debugs statements for debuging player loading.
Diffstat (limited to 'gamemode/core/database')
-rw-r--r--gamemode/core/database/sv_setup.lua60
1 files 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