Add ability to get a list of all servers
parent
7b8975ebd8
commit
19ea3bf7db
|
@ -86,7 +86,13 @@ Description: Bans a player, can only use name if the player is online
|
|||
target: Name or IP address to unban
|
||||
Description: Unbans a player
|
||||
```
|
||||
> `multiserver.send_msg = function(msg)`
|
||||
> `multiserver.get_servers(callback)`
|
||||
```
|
||||
callback: Callback function (params: srvs)
|
||||
Description: Returns an indexed table containing all server names
|
||||
to the callback function
|
||||
```
|
||||
> `multiserver.send_msg(msg)`
|
||||
```
|
||||
msg: Message to send
|
||||
Description: Sends a message to all other minetest servers
|
||||
|
|
|
@ -55,6 +55,10 @@ multiserver.unban = function(target)
|
|||
multiserver.do_rpc("<-UNBAN " .. target, nil)
|
||||
end
|
||||
|
||||
multiserver.get_servers = function(cb)
|
||||
multiserver.do_rpc("<-GETSRVS", cb)
|
||||
end
|
||||
|
||||
multiserver.send_msg = function(msg)
|
||||
multiserver.do_rpc("<-MT2MT " .. msg, nil)
|
||||
end
|
||||
|
|
6
rpc.lua
6
rpc.lua
|
@ -31,6 +31,12 @@ minetest.register_on_modchannel_message(function(channel_name, sender, msg)
|
|||
p = msg:split(" ")[3]
|
||||
elseif cmd == "->ISBANNED" then
|
||||
p = multiserver.tobool(msg:split(" ")[3])
|
||||
elseif cmd == "->SRVS" then
|
||||
p = {}
|
||||
local t = minetest.string_to_privs(msg:split(" ")[3] or "")
|
||||
for k in pairs(t) do
|
||||
table.insert(p, k)
|
||||
end
|
||||
elseif cmd == "->JOIN" then
|
||||
local name = msg:split(" ")[3]
|
||||
local srv = msg:split(" ")[4]
|
||||
|
|
Loading…
Reference in New Issue