poppy-server/unpriviliged_commands/init.lua

39 lines
1.2 KiB
Lua

local constants = require("constants")
local util = require("utils")
local rpc = require("rpc")
local clientCount = 0
local world = {
x = 3000,
y = 3000,
id = "NYAAA"
}
return function(commands)
function commands.init(args, ip, port)
clientCount = clientCount +1
local nickname, avatar = util.nextStringRecord(args)
clients[clientCount] = { ip = ip, port = port, name = nickname, avatar = avatar }
print("New client connected. Granting id: [" .. clientCount .. "] IP: " .. ip .. " Port:" .. port)
for i, client in pairs(clients) do
if i ~= clientCount then
print("Introducing client[" .. i .. "] and client[" .. clientCount .. "]")
-- to Existing client
local payload = util.unit(protocolVersion, clientCount, "playerJoin", nickname, avatar)
print("<= " .. util.pprint(payload))
server:sendto(payload, client.ip, client.port)
-- to New client
local payload = util.unit(protocolVersion, i, "playerJoin", client.name, client.avatar)
print("<= " .. util.pprint(payload))
server:sendto(payload, ip, port)
end
end
-- Client response
local response = util.unit(protocolVersion, clientCount, "init", nickname, avatar, world.id, world.x, world.y)
server:sendto(response, ip, port)
end
end