diff options
author | lhofhansl <lhofhansl@yahoo.com> | 2017-10-07 06:12:09 -0700 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-10-07 15:12:09 +0200 |
commit | d38658620192a61bbb67c3978a107ff4cc8ed89b (patch) | |
tree | ad2ae94b702272659f1aa701d724c66ddd88db17 /builtin | |
parent | 3c93a56e16f03893f97b7d28b0a8a0e302cb55ca (diff) | |
download | minetest-d38658620192a61bbb67c3978a107ff4cc8ed89b.tar.gz minetest-d38658620192a61bbb67c3978a107ff4cc8ed89b.tar.bz2 minetest-d38658620192a61bbb67c3978a107ff4cc8ed89b.zip |
Do not grant all privs to the admin - changes game behavior (#6460)
* Do not grant all privs to admins.
* Default give_to_admin to give_to_singleplayer
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/game/auth.lua | 4 | ||||
-rw-r--r-- | builtin/game/privileges.lua | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/builtin/game/auth.lua b/builtin/game/auth.lua index 4d5178ba7..bf5bd19a8 100644 --- a/builtin/game/auth.lua +++ b/builtin/game/auth.lua @@ -83,7 +83,9 @@ core.builtin_auth_handler = { -- For the admin, give everything elseif name == core.settings:get("name") then for priv, def in pairs(core.registered_privileges) do - privileges[priv] = true + if def.give_to_admin then + privileges[priv] = true + end end end -- All done diff --git a/builtin/game/privileges.lua b/builtin/game/privileges.lua index e9b2df54c..325340fd2 100644 --- a/builtin/game/privileges.lua +++ b/builtin/game/privileges.lua @@ -11,6 +11,9 @@ function core.register_privilege(name, param) if def.give_to_singleplayer == nil then def.give_to_singleplayer = true end + if def.give_to_admin == nil then + def.give_to_admin = def.give_to_singleplayer + end if def.description == nil then def.description = "(no description)" end @@ -45,6 +48,7 @@ core.register_privilege("settime", { core.register_privilege("server", { description = "Can do server maintenance stuff", give_to_singleplayer = false, + give_to_admin = true, }) core.register_privilege("protection_bypass", { description = "Can bypass node protection in the world", @@ -53,10 +57,12 @@ core.register_privilege("protection_bypass", { core.register_privilege("ban", { description = "Can ban and unban players", give_to_singleplayer = false, + give_to_admin = true, }) core.register_privilege("kick", { description = "Can kick players", give_to_singleplayer = false, + give_to_admin = true, }) core.register_privilege("give", { description = "Can use /give and /giveme", @@ -65,6 +71,7 @@ core.register_privilege("give", { core.register_privilege("password", { description = "Can use /setpassword and /clearpassword", give_to_singleplayer = false, + give_to_admin = true, }) core.register_privilege("fly", { description = "Can fly using the free_move mode", @@ -85,6 +92,7 @@ core.register_privilege("rollback", { core.register_privilege("debug", { description = "Allows enabling various debug options that may affect gameplay", give_to_singleplayer = false, + give_to_admin = true, }) core.register_can_bypass_userlimit(function(name, ip) |