aboutsummaryrefslogtreecommitdiff
path: root/advtrains/nodedb.lua
diff options
context:
space:
mode:
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>2019-07-16 17:26:53 +0200
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>2019-07-16 17:26:53 +0200
commitdaba00b6a2edd57b2674168f05194c4ff80280e1 (patch)
treee61d8586952abda2e5c7b156271964acff93ab7e /advtrains/nodedb.lua
parent7a6740eb8c8e6902d1379273ba9dc7c4c2c14cdf (diff)
downloadadvtrains-daba00b6a2edd57b2674168f05194c4ff80280e1.tar.gz
advtrains-daba00b6a2edd57b2674168f05194c4ff80280e1.tar.bz2
advtrains-daba00b6a2edd57b2674168f05194c4ff80280e1.zip
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.
Diffstat (limited to 'advtrains/nodedb.lua')
-rw-r--r--advtrains/nodedb.lua6
1 files changed, 4 insertions, 2 deletions
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