/script/command/admin.lua

http://hopmod.googlecode.com/ · Lua · 37 lines · 23 code · 11 blank · 3 comment · 8 complexity · 745a6efdb7477e709fdf81dde02d2a7d MD5 · raw file

  1. --[[
  2. A player command to raise privilege to admin
  3. ]]
  4. local domains = {}
  5. local function init()
  6. domains = table_unique(server.parse_list(server["admin_domains"]))
  7. end
  8. local function unload() end
  9. local function run(cn)
  10. if not domains or #domains == 0 then
  11. server.player_msg(cn, red("Cannot execute admin command: no domains set"))
  12. return
  13. end
  14. local sid = server.player_sessionid(cn)
  15. for _, domain in pairs(domains) do
  16. auth.send_request(cn, domain, function(cn, user_id, domain, status)
  17. if not (sid == server.player_sessionid(cn)) or not (status == auth.request_status.SUCCESS) then
  18. return
  19. end
  20. server.setadmin(cn)
  21. server.msg(server.player_displayname(cn) .. " claimed admin as '" .. magenta(user_id) .. "'")
  22. server.log(string.format("%s playing as %s(%i) used auth to claim admin.", user_id, server.player_name(cn), cn))
  23. end)
  24. end
  25. end
  26. return {init = init, run = run, unload = unload}