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