From daba00b6a2edd57b2674168f05194c4ff80280e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20P=C3=A9rez-Cerezo?= Date: Tue, 16 Jul 2019 17:26:53 +0200 Subject: Various small fixes - Also do atomic operations on nodedb - no longer require Worldedit for at_sync_ndb - "overrun LZB 0 restriction" should now show where it happened. --- advtrains/nodedb.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'advtrains/nodedb.lua') diff --git a/advtrains/nodedb.lua b/advtrains/nodedb.lua index d38a9d8..b17841c 100644 --- a/advtrains/nodedb.lua +++ b/advtrains/nodedb.lua @@ -81,7 +81,8 @@ end --save function ndb.save_data() - local file, err = io.open(path, "wb") + local tmppath = path.."~" + local file, err = io.open(tmppath, "wb") if not file then atwarn("Couldn't save the node database: ", err or "Unknown Error") else @@ -97,6 +98,7 @@ function ndb.save_data() end file:close() end + os.rename(tmppath, path) return {nodeids = ndb_nodeids} end @@ -288,7 +290,7 @@ minetest.register_chatcommand("at_sync_ndb", { params = "", -- Short parameter description description = "Write node db back to map and find ghost nodes", -- Full description - privs = {train_operator=true, worldedit=true}, -- Require the "privs" privilege to run + privs = {train_operator=true}, func = function(name, param) return advtrains.pcall(function() if not minetest.check_player_privs(name, {server=true}) and os.time() < ptime+30 then -- cgit v1.2.3