iteration
This commit is contained in:
71
auth.lua
Normal file
71
auth.lua
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
args = { ... }
|
||||||
|
|
||||||
|
if args[1] == nil then
|
||||||
|
io.write("Usage: auth <action>\n")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local action = args[1]
|
||||||
|
local server = "auth.layla.mc"
|
||||||
|
|
||||||
|
function lns_lookup(hostname)
|
||||||
|
local data = {
|
||||||
|
["action"] = "lookup",
|
||||||
|
["hostname"] = hostname
|
||||||
|
}
|
||||||
|
|
||||||
|
rednet.send(lns_server_id, data)
|
||||||
|
|
||||||
|
while true do
|
||||||
|
id, msg = rednet.receive()
|
||||||
|
if id == lns_server_id then
|
||||||
|
if msg == nil then
|
||||||
|
return nil
|
||||||
|
else
|
||||||
|
return msg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
auth_server_id = lns_lookup(server)
|
||||||
|
|
||||||
|
if action == "login" then
|
||||||
|
io.write("Username: ")
|
||||||
|
local username = io.read()
|
||||||
|
io.write("Password: ")
|
||||||
|
local password = io.read("*")
|
||||||
|
|
||||||
|
local data = {
|
||||||
|
["action"] = "login",
|
||||||
|
["username"] = username,
|
||||||
|
["password"] = password
|
||||||
|
}
|
||||||
|
|
||||||
|
rednet.send(auth_server_id, data)
|
||||||
|
|
||||||
|
while true do
|
||||||
|
id, msg = rednet.receive()
|
||||||
|
if id == auth_server_id then
|
||||||
|
if msg == "invalid request" then
|
||||||
|
io.write("Invalid request\n")
|
||||||
|
return
|
||||||
|
elseif msg == "user not found" then
|
||||||
|
io.write("User not found\n")
|
||||||
|
return
|
||||||
|
elseif msg == "invalid password" then
|
||||||
|
io.write("Invalid password\n")
|
||||||
|
return
|
||||||
|
else
|
||||||
|
token = msg
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
io.write("Logged in as " .. username .. "\n")
|
||||||
|
io.write("Token: " .. token .. "\n")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
Reference in New Issue
Block a user