From 3b700453651e7119c2c48c62d009ed2edf336c93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Mart=C3=ADnez?= Date: Tue, 12 Feb 2019 16:36:06 -0300 Subject: Update to 5.0 auth. --- gui.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui.lua b/gui.lua index d3306e2..66fc89a 100644 --- a/gui.lua +++ b/gui.lua @@ -9,7 +9,7 @@ local ESC = minetest.formspec_escape local function make_list(filter) filter = filter or "" local list, n, dropped = { }, 0, false - for k in pairs(minetest.auth_table) do + for k in minetest.get_auth_handler().iterate() do if strfind(k, filter, 1, true) then if n >= MAXLISTSIZE then dropped = true -- cgit v1.2.3 From e937f5ff67eaf1dc87f8d9b0502dd0825ed9b5bd Mon Sep 17 00:00:00 2001 From: Thomas Rudin Date: Thu, 6 Jun 2019 18:54:46 +0200 Subject: Add /xban_cleanup command to purge unbanned entries (#20) Add documentation for /xban_cleanup --- README.md | 6 ++++++ init.lua | 25 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/README.md b/README.md index 90eed0d..75f8e88 100644 --- a/README.md +++ b/README.md @@ -104,3 +104,9 @@ the supported import plugins at the time of writing: * `v2`: Old format used by xban (`players.iplist.v2`). **Example:** `/xban_dbi minetest` + +### `xban_cleanup` + +Removes all non-banned entries from the xban db. + +**Usage:** `/xban_cleanup` diff --git a/init.lua b/init.lua index 6f15f14..68a3508 100644 --- a/init.lua +++ b/init.lua @@ -314,6 +314,7 @@ minetest.register_chatcommand("xban_wl", { end, }) + local function check_temp_bans() minetest.after(60, check_temp_bans) local to_rm = { } @@ -374,6 +375,30 @@ local function load_db() end end +minetest.register_chatcommand("xban_cleanup", { + description = "Removes all non-banned entries from the xban db", + privs = { server=true }, + func = function(name, params) + local old_count = #db + + local i = 1 + while i <= #db do + if not db[i].banned then + -- not banned, remove from db + table.remove(db, i) + else + -- banned, hold entry back + i = i + 1 + end + end + + -- save immediately + save_db() + + return true, "Removed " .. (old_count - #db) .. " entries, new db entry-count: " .. #db + end, +}) + minetest.register_on_shutdown(save_db) minetest.after(SAVE_INTERVAL, save_db) load_db() -- cgit v1.2.3