mirror of
https://github.com/Znote/ZnoteAAC.git
synced 2025-05-11 00:29:19 +02:00

Move file to this location: data/scripts/znote_login.lua And restart OT server, it should auto load script. This script will help Znote AAC connect players to your game server.
69 lines
3.0 KiB
Lua
69 lines
3.0 KiB
Lua
-- Znote LoginWebService (version 1) for protocol 11, 12+
|
|
-- Move file to this location: data/scripts/znote_login.lua
|
|
-- And restart OT server, it should auto load script.
|
|
-- Requires updated version of Znote AAC. (18. June 2020)
|
|
-- This script will help Znote AAC connect players to this game server.
|
|
|
|
local znote_loginWebService = GlobalEvent("znote_loginWebService")
|
|
function znote_loginWebService.onStartup()
|
|
print(" ")
|
|
print("=============================")
|
|
print("= Znote AAC loginWebService =")
|
|
print("=============================")
|
|
local configLua = {
|
|
["SERVER_NAME"] = configManager.getString(configKeys.SERVER_NAME),
|
|
["IP"] = configManager.getString(configKeys.IP),
|
|
["GAME_PORT"] = configManager.getNumber(configKeys.GAME_PORT)
|
|
}
|
|
local configSQL = {
|
|
["SERVER_NAME"] = false,
|
|
["IP"] = false,
|
|
["GAME_PORT"] = false
|
|
}
|
|
local webStorage = db.storeQuery([[
|
|
SELECT
|
|
`key`,
|
|
`value`
|
|
FROM `znote_global_storage`
|
|
WHERE `key` IN('SERVER_NAME', 'IP', 'GAME_PORT')
|
|
]])
|
|
if webStorage ~= false then
|
|
repeat
|
|
local key = result.getString(webStorage, 'key')
|
|
local value = result.getString(webStorage, 'value')
|
|
configSQL[key] = value
|
|
until not result.next(webStorage)
|
|
result.free(webStorage)
|
|
end
|
|
local inserts = {}
|
|
if configSQL.SERVER_NAME == false then
|
|
table.insert(inserts, "('SERVER_NAME',".. db.escapeString(configLua.SERVER_NAME) ..")")
|
|
elseif configSQL.SERVER_NAME ~= configLua.SERVER_NAME then
|
|
db.query("UPDATE `znote_global_storage` SET `value`=".. db.escapeString(configLua.SERVER_NAME) .." WHERE `key`='SERVER_NAME';")
|
|
print("= Updated [SERVER_NAME] FROM [" .. configSQL.SERVER_NAME .. "] to [" .. configLua.SERVER_NAME .. "]")
|
|
end
|
|
if configSQL.IP == false then
|
|
table.insert(inserts, "('IP',".. db.escapeString(configLua.IP) ..")")
|
|
elseif configSQL.IP ~= configLua.IP then
|
|
db.query("UPDATE `znote_global_storage` SET `value`=".. db.escapeString(configLua.IP) .." WHERE `key`='IP';")
|
|
print("= Updated [IP] FROM [" .. configSQL.IP .. "] to [" .. configLua.IP .. "]")
|
|
end
|
|
if configSQL.GAME_PORT == false then
|
|
table.insert(inserts, "('GAME_PORT',".. db.escapeString(configLua.GAME_PORT) ..")")
|
|
elseif configSQL.GAME_PORT ~= tostring(configLua.GAME_PORT) then
|
|
db.query("UPDATE `znote_global_storage` SET `value`=".. db.escapeString(configLua.GAME_PORT) .." WHERE `key`='GAME_PORT';")
|
|
print("= Updated [GAME_PORT] FROM [" .. configSQL.GAME_PORT .. "] to [" .. configLua.GAME_PORT .. "]")
|
|
end
|
|
if #inserts > 0 then
|
|
db.query("INSERT INTO `znote_global_storage` (`key`,`value`) VALUES "..table.concat(inserts,',')..";")
|
|
print("= Fixed " .. #inserts .. " missing configurations.")
|
|
end
|
|
print("=============================")
|
|
print("= SERVER_NAME: " .. configLua.SERVER_NAME)
|
|
print("= IP: " .. configLua.IP)
|
|
print("= GAME_PORT: " .. configLua.GAME_PORT)
|
|
print("=============================")
|
|
print(" ")
|
|
end
|
|
znote_loginWebService:register()
|