Add more priv control

master
HimbeerserverDE 2021-02-28 16:33:39 +01:00
parent 8cc05956a4
commit b0343cc824
No known key found for this signature in database
GPG Key ID: 1A651504791E6A8B
3 changed files with 22 additions and 0 deletions

View File

@ -37,6 +37,18 @@ callback: Callback function (params: has_privs)
Description: Reports to the callback function if a player has the
specified privileges
```
> `multiserver.get_privs(name, callback)`
```
name: Player name to use for check
callback: Callback function (params: privs)
Description: Gets the proxy-level privileges of a player and passes it
to the callback function
```
> `multiserver.set_privs(name, privs)`
```
name: Player name to set privileges for
Description: Sets the proxy-level privileges of a player
```
> `multiserver.get_server_name(name, callback)`
```
name: Player name to perform lookup on

View File

@ -23,6 +23,14 @@ multiserver.check_privs = function(name, privs, cb)
multiserver.do_rpc("<-CHECKPRIVS " .. name .. " " .. minetest.privs_to_string(privs):gsub(",", "|"), cb)
end
multiserver.get_privs = function(name, cb)
multiserver.do_rpc("<-GETPRIVS " .. name, cb)
end
multiserver.set_privs = function(name, privs)
multiserver.do_rpc("<-SETPRIVS " .. name .. " " .. minetest.privs_to_string(privs):gsub(",", "|"), nil)
end
multiserver.get_server_name = function(name, cb)
multiserver.do_rpc("<-GETSRV " .. name, cb)
end

View File

@ -21,6 +21,8 @@ minetest.register_on_modchannel_message(function(channel_name, sender, msg)
p = multiserver.tobool(msg:split(" ")[3])
elseif cmd == "->HASPRIVS" then
p = multiserver.tobool(msg:split(" ")[3])
elseif cmd == "->PRIVS" then
p = minetest.string_to_privs(msg:split(" ")[3] or "")
elseif cmd == "->SRV" then
p = msg:split(" ")[3]
elseif cmd == "->ADDR" then