From: Elias Fleckenstein Date: Mon, 11 May 2020 09:31:35 +0000 (+0200) Subject: Added /getip X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=21d59ed89895e2509c8436812847cdc755ad8298;p=coronaserver.git Added /getip --- diff --git a/advprivs.lua b/advprivs.lua deleted file mode 100644 index cc4d547..0000000 --- a/advprivs.lua +++ /dev/null @@ -1,76 +0,0 @@ -coronaserver.savedata.grantall = coronaserver.savedata.grantall or {} -coronaserver.savedata.revokeall = coronaserver.savedata.revokeall or {} - -function coronaserver.update_privs(player) - local name = player:get_player_name() - local privs = minetest.get_player_privs(name) - for _, priv in pairs(coronaserver.savedata.grantall) do - privs[priv] = true - end - for _, priv in pairs(coronaserver.savedata.revokeall) do - privs[priv] = nil - end - minetest.set_player_privs(name, privs) -end - -function coronaserver.update_privs_all() - local players = minetest.get_connected_players() - for _, player in pairs(players) do - coronaserver.update_privs(player) - end -end - -minetest.register_on_joinplayer(coronaserver.update_privs) - -minetest.register_chatcommand("grantall", { - description = "Grant a privilegue to players when they join", - param = "", - privs = {privs = true}, - func = function(name, param) - table.insert(coronaserver.savedata.grantall, param) - coronaserver.update_privs_all() - coronaserver.save() - end -}) - -minetest.register_chatcommand("revokeall", { - description = "Revoke a privilegue from players when they join", - param = "", - privs = {privs = true}, - func = function(name, param) - table.insert(coronaserver.savedata.revokeall, param) - coronaserver.update_privs_all() - coronaserver.save() - end -}) - - -minetest.register_chatcommand("remove_from_allprivs", { - description = "Remove a priv from /grantall or /revokeall", - param = "", - privs = {privs = true}, - func = function(name, param) - local function rmpriv(tab) - for i, priv in pairs(tab) do - if priv == param then - table.remove(tab, i) - return rmpriv(tab) - end - end - end - rmpriv(coronaserver.savedata.revokeall) - rmpriv(coronaserver.savedata.grantall) - coronaserver.save() - end -}) - -minetest.register_chatcommand("show_allprivs", { - description = "Show list of /grantall and /revokall ", - param = "", - privs = {privs = true}, - func = function(name, param) - minetest.chat_send_player(name, "/grantall: " .. table.concat(coronaserver.savedata.grantall, ", ")) - minetest.chat_send_player(name, "/revokeall: " .. table.concat(coronaserver.savedata.revokeall, ", ")) - end -}) - diff --git a/commands.lua b/commands.lua new file mode 100644 index 0000000..fddb0d8 --- /dev/null +++ b/commands.lua @@ -0,0 +1,13 @@ +minetest.register_chatcommand("getip", { + description = "Get the IP of a player", + params = "", + privs = {server = true}, + func = function(name, param) + if minetest.get_player_by_name(param) then + minetest.chat_send_player(name, "IP of " .. param .. ": " .. minetest.get_player_information(param).address) + else + minetest.chat_send_player(name, "Player is not online.") + end + end +}) + diff --git a/init.lua b/init.lua index 06667e2..e04d66a 100755 --- a/init.lua +++ b/init.lua @@ -1,6 +1,6 @@ coronaserver = {} -local modules = {"save", "advprivs", "ranks", "playerlist"} +local modules = {"save", "privs", "ranks", "playerlist", "commands"} for _, m in pairs(modules) do dofile(minetest.get_modpath("coronaserver") .. "/" .. m .. ".lua") diff --git a/privs.lua b/privs.lua new file mode 100644 index 0000000..cc4d547 --- /dev/null +++ b/privs.lua @@ -0,0 +1,76 @@ +coronaserver.savedata.grantall = coronaserver.savedata.grantall or {} +coronaserver.savedata.revokeall = coronaserver.savedata.revokeall or {} + +function coronaserver.update_privs(player) + local name = player:get_player_name() + local privs = minetest.get_player_privs(name) + for _, priv in pairs(coronaserver.savedata.grantall) do + privs[priv] = true + end + for _, priv in pairs(coronaserver.savedata.revokeall) do + privs[priv] = nil + end + minetest.set_player_privs(name, privs) +end + +function coronaserver.update_privs_all() + local players = minetest.get_connected_players() + for _, player in pairs(players) do + coronaserver.update_privs(player) + end +end + +minetest.register_on_joinplayer(coronaserver.update_privs) + +minetest.register_chatcommand("grantall", { + description = "Grant a privilegue to players when they join", + param = "", + privs = {privs = true}, + func = function(name, param) + table.insert(coronaserver.savedata.grantall, param) + coronaserver.update_privs_all() + coronaserver.save() + end +}) + +minetest.register_chatcommand("revokeall", { + description = "Revoke a privilegue from players when they join", + param = "", + privs = {privs = true}, + func = function(name, param) + table.insert(coronaserver.savedata.revokeall, param) + coronaserver.update_privs_all() + coronaserver.save() + end +}) + + +minetest.register_chatcommand("remove_from_allprivs", { + description = "Remove a priv from /grantall or /revokeall", + param = "", + privs = {privs = true}, + func = function(name, param) + local function rmpriv(tab) + for i, priv in pairs(tab) do + if priv == param then + table.remove(tab, i) + return rmpriv(tab) + end + end + end + rmpriv(coronaserver.savedata.revokeall) + rmpriv(coronaserver.savedata.grantall) + coronaserver.save() + end +}) + +minetest.register_chatcommand("show_allprivs", { + description = "Show list of /grantall and /revokall ", + param = "", + privs = {privs = true}, + func = function(name, param) + minetest.chat_send_player(name, "/grantall: " .. table.concat(coronaserver.savedata.grantall, ", ")) + minetest.chat_send_player(name, "/revokeall: " .. table.concat(coronaserver.savedata.revokeall, ", ")) + end +}) +