Auto updater is not working and is ginvinf me this error when i go to updater.php file
maybe could be because i have not given permission chmod 777 in this folder. in spite that im the adminsitrator in this session and whole pc.
there exists an equivalent of chmod 777 for windows 10? i have given updater.php folder and file full control is there another way?
my ports are open
my init.lua
updater.php
Lua:
Warning: Attempt to read property "version" on null in C:\xampp\htdocs\updater-windows\updater.php on line 32
Warning: Attempt to read property "build" on null in C:\xampp\htdocs\updater-windows\updater.php on line 33
Warning: Attempt to read property "os" on null in C:\xampp\htdocs\updater-windows\updater.php on line 34
Warning: Attempt to read property "platform" on null in C:\xampp\htdocs\updater-windows\updater.php on line 35
Warning: Attempt to read property "args" on null in C:\xampp\htdocs\updater-windows\updater.php on line 36
Warning: Undefined array key "" in C:\xampp\htdocs\updater-windows\updater.php on line 37
Fatal error: Uncaught ValueError: RecursiveDirectoryIterator::__construct(): Argument #1 ($directory) cannot be empty in C:\xampp\htdocs\updater-windows\updater.php:46 Stack trace: #0 C:\xampp\htdocs\updater-windows\updater.php(46): RecursiveDirectoryIterator->__construct('') #1 {main} thrown in C:\xampp\htdocs\updater-windows\updater.php on line 46
maybe could be because i have not given permission chmod 777 in this folder. in spite that im the adminsitrator in this session and whole pc.
there exists an equivalent of chmod 777 for windows 10? i have given updater.php folder and file full control is there another way?
my ports are open
my init.lua
Lua:
-- CONFIG -- https://github.com/GalaxyCLDev/TFS-1.3/blob/main/shopwithoutfit.lua#L1 shop file working mounts y otros thread https://otland.net/threads/storage-outfit.285556/page-2#post-2729258
--APP_NAME = "otclientv8"
APP_NAME = "ForgottenNot" -- important, change it, it's name for config dir and files in appdata
APP_VERSION = 860 -- client version for updater and login to identify outdated client
DEFAULT_LAYOUT = "black" -- on android it's forced to "mobile", check code bellow
-- If you don't use updater or other service, set it to updater = ""
--Services = {
--website = "http://************", -- currently not used
--updater = "http://xxxx.online/updater/updater.php",
--stats = "",
--crash = "http://************/api/crash.php",
--feedback = "http://************/api/feedback.php",
-- status = "http://************/api/status.php"
--}
-- If you don't use updater or other service, set it to updater = ""
Services = {
website = "http://************", -- currently not used
updater = "http://xxxx.ddns.net/updater-windows/updater.php",
updater = "",
stats = "",
crash = "",
feedback = "",
status = ""
}
-- Servers accept http login url, websocket login url or ip:port:version
Servers = {
meuserver= "xxxxx.ddns.net:7171:860"
}
--Server = "ws://************:3000/"
--Server = "ws://127.0.0.1:88/"
--USE_NEW_ENERGAME = true -- uses entergamev2 based on websockets instead of entergame
ALLOW_CUSTOM_SERVERS = false -- if true it shows option ANOTHER on server list
g_app.setName("ForgottenNot")
--g_app.setName("OTCv8")
-- CONFIG END
-- print first terminal message
g_logger.info(os.date("== application started at %b %d %Y %X"))
g_logger.info(g_app.getName() .. ' ' .. g_app.getVersion() .. ' rev ' .. g_app.getBuildRevision() .. ' (' .. g_app.getBuildCommit() .. ') made by ' .. g_app.getAuthor() .. ' built on ' .. g_app.getBuildDate() .. ' for arch ' .. g_app.getBuildArch())
if not g_resources.directoryExists("/data") then
g_logger.fatal("Data dir doesn't exist.")
end
if not g_resources.directoryExists("/modules") then
g_logger.fatal("Modules dir doesn't exist.")
end
-- settings
g_configs.loadSettings("/config.otml")
-- set layout
local settings = g_configs.getSettings()
local layout = DEFAULT_LAYOUT
if g_app.isMobile() then
layout = "mobile"
elseif settings:exists('layout') then
layout = settings:getValue('layout')
end
g_resources.setLayout(layout)
-- load mods
g_modules.discoverModules()
g_modules.ensureModuleLoaded("corelib")
local function loadModules()
-- libraries modules 0-99
g_modules.autoLoadModules(99)
g_modules.ensureModuleLoaded("gamelib")
-- client modules 100-499
g_modules.autoLoadModules(499)
g_modules.ensureModuleLoaded("client")
-- game modules 500-999
g_modules.autoLoadModules(999)
g_modules.ensureModuleLoaded("game_interface")
-- mods 1000-9999
g_modules.autoLoadModules(9999)
end
-- report crash
if type(Services.crash) == 'string' and Services.crash:len() > 4 and g_modules.getModule("crash_reporter") then
g_modules.ensureModuleLoaded("crash_reporter")
end
-- run updater, must use data.zip
if type(Services.updater) == 'string' and Services.updater:len() > 4
and g_resources.isLoadedFromArchive() and g_modules.getModule("updater") then
g_modules.ensureModuleLoaded("updater")
return Updater.init(loadModules)
end
loadModules()
Code:
-- CONFIG -- https://github.com/GalaxyCLDev/TFS-1.3/blob/main/shopwithoutfit.lua#L1 shop file working mounts y otros thread https://otland.net/threads/storage-outfit.285556/page-2#post-2729258
--APP_NAME = "otclientv8"
APP_NAME = "ForgottenNot" -- important, change it, it's name for config dir and files in appdata
APP_VERSION = 860 -- client version for updater and login to identify outdated client
DEFAULT_LAYOUT = "black" -- on android it's forced to "mobile", check code bellow
-- If you don't use updater or other service, set it to updater = ""
--Services = {
--website = "http://************", -- currently not used
--updater = "http://xxxxxx/updater/updater.php",
--stats = "",
--crash = "http://************/api/crash.php",
--feedback = "http://************/api/feedback.php",
-- status = "http://************/api/status.php"
--}
-- If you don't use updater or other service, set it to updater = ""
Services = {
website = "http://************", -- currently not used
updater = "http://xxxx.ddns.net/updater-windows/updater.php",
updater = "",
stats = "",
crash = "",
feedback = "",
status = ""
}
-- Servers accept http login url, websocket login url or ip:port:version
Servers = {
meuserver= "xxxxx.ddns.net:7171:860"
}
--Server = "ws://************:3000/"
--Server = "ws://127.0.0.1:88/"
--USE_NEW_ENERGAME = true -- uses entergamev2 based on websockets instead of entergame
ALLOW_CUSTOM_SERVERS = false -- if true it shows option ANOTHER on server list
g_app.setName("ForgottenNot")
--g_app.setName("OTCv8")
-- CONFIG END
-- print first terminal message
g_logger.info(os.date("== application started at %b %d %Y %X"))
g_logger.info(g_app.getName() .. ' ' .. g_app.getVersion() .. ' rev ' .. g_app.getBuildRevision() .. ' (' .. g_app.getBuildCommit() .. ') made by ' .. g_app.getAuthor() .. ' built on ' .. g_app.getBuildDate() .. ' for arch ' .. g_app.getBuildArch())
if not g_resources.directoryExists("/data") then
g_logger.fatal("Data dir doesn't exist.")
end
if not g_resources.directoryExists("/modules") then
g_logger.fatal("Modules dir doesn't exist.")
end
-- settings
g_configs.loadSettings("/config.otml")
-- set layout
local settings = g_configs.getSettings()
local layout = DEFAULT_LAYOUT
if g_app.isMobile() then
layout = "mobile"
elseif settings:exists('layout') then
layout = settings:getValue('layout')
end
g_resources.setLayout(layout)
-- load mods
g_modules.discoverModules()
g_modules.ensureModuleLoaded("corelib")
local function loadModules()
-- libraries modules 0-99
g_modules.autoLoadModules(99)
g_modules.ensureModuleLoaded("gamelib")
-- client modules 100-499
g_modules.autoLoadModules(499)
g_modules.ensureModuleLoaded("client")
-- game modules 500-999
g_modules.autoLoadModules(999)
g_modules.ensureModuleLoaded("game_interface")
-- mods 1000-9999
g_modules.autoLoadModules(9999)
end
-- report crash
if type(Services.crash) == 'string' and Services.crash:len() > 4 and g_modules.getModule("crash_reporter") then
g_modules.ensureModuleLoaded("crash_reporter")
end
-- run updater, must use data.zip
if type(Services.updater) == 'string' and Services.updater:len() > 4
and g_resources.isLoadedFromArchive() and g_modules.getModule("updater") then
g_modules.ensureModuleLoaded("updater")
return Updater.init(loadModules)
end
loadModules()
Last edited: