aboutsummaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorlhofhansl <lhofhansl@yahoo.com>2017-10-07 06:12:09 -0700
committerLoïc Blot <nerzhul@users.noreply.github.com>2017-10-07 15:12:09 +0200
commitd38658620192a61bbb67c3978a107ff4cc8ed89b (patch)
treead2ae94b702272659f1aa701d724c66ddd88db17 /builtin
parent3c93a56e16f03893f97b7d28b0a8a0e302cb55ca (diff)
downloadminetest-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.lua4
-rw-r--r--builtin/game/privileges.lua8
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)