I always get the Error:
Code: Select all
2018-03-21 17:11:27: ERROR[CurlFetch]: servers.minetest.net/announce not found (HTTP response code said error) (response code 400)
My Code I tried to use is:
Code: Select all
local httpapi = minetest.request_http_api()
local started = false
local function sendAnnounce(action, clients_names)
local aa_names = {"start", "update", "delete"}
local server = {}
server["action"] = aa_names[action]
server["port"] = tonumber(minetest.setting_get("port"))
server["address"] = minetest.setting_get("server_address")
if (action ~= 3) then
server["name"] = minetest.setting_get("server_name")
server["description"] = minetest.setting_get("server_description")
server["version"] = minetest.get_version().string
server["url"] = minetest.setting_get("server_url")
server["creative"] = minetest.setting_getbool("creative_mode")
server["damage"] = minetest.setting_getbool("enable_damage")
server["password"] = minetest.setting_getbool("disallow_empty_password")
server["pvp"] = minetest.setting_getbool("enable_pvp")
server["uptime"] = minetest.get_server_uptime()
server["game_time"] = minetest.get_gametime()
server["clients"] = #clients_names
server["clients_max"] = tonumber(minetest.setting_get("max_users"))
--server["clients_list"] = ""
for _, name in pairs(clients_names) do
if server["clients_list"] == "" then
server["clients_list"] = name
else server["clients_list"] = server["clients_list"].." "..name
end
end
server["gameid"] = "minetest"
end
if (action == 1) then
server["privs"] = minetest.setting_get("default_privs")
end
local fetch_request = {}
local json = minetest.write_json(server)
fetch_request.url = minetest.setting_get("serverlist_url").."/announce"
fetch_request.post_fields = {}
fetch_request.post_fields["json"] = json
fetch_request.multipart = true
httpapi.fetch_async(fetch_request)
end
local function update_serverlist()
local names = {}
for _, player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
table.insert(names, name)
end
if started == true then
sendAnnounce(2, names)
minetest.after(180, function() update_serverlist() end)
else started = true
sendAnnounce(1, namens)
minetest.after(180, function() update_serverlist() end)
end
end
update_serverlist()
Can anyone help me?