diff options
author | David McMackins II <contact@mcmackins.org> | 2017-02-18 11:17:10 -0600 |
---|---|---|
committer | David McMackins II <contact@mcmackins.org> | 2017-02-18 11:17:10 -0600 |
commit | 80ad39aa94838a096ca79259ab6f6b2f1a0a52aa (patch) | |
tree | ac150d868e4f1a6d7fd816303fd6a8ad636c581c | |
parent | 522633e68acfafc551e5b8f286133d6c5eb87437 (diff) |
Add GETROOMS request
-rw-r--r-- | client.lua | 6 | ||||
-rw-r--r-- | serverthread.lua | 13 |
2 files changed, 16 insertions, 3 deletions
@@ -93,8 +93,10 @@ function Client:getrooms() local rooms = {} for _,line in ipairs(r) do - line = line:split(' ') - table.insert(rooms, line[2]) + local split = line:split('"') + local name = split[2] + split = line:split(' ') + table.insert(rooms, { split[1], name, split[#split] }) end return rooms diff --git a/serverthread.lua b/serverthread.lua index 816c71f..21f8da2 100644 --- a/serverthread.lua +++ b/serverthread.lua @@ -32,6 +32,7 @@ function Server:__init(server, socks, comm) self._srv = server self._socks = socks self._names = { 'Player 1', 'Player 2' } + self._rooms = { 1, 0 } self._queue = { {}, {} } self._comm = comm self._done = false @@ -105,11 +106,21 @@ function Server:_process() if name == self._names[other] then self._socks[this]:send('ERR NAMETAKEN\nEND\n') elseif #name > 16 then - self._socks[this:send('ERR NAMELEN\nEND\n') + self._socks[this]:send('ERR NAMELEN\nEND\n') + elseif name:find('"') then + self._socks[this]:send('ERR NAMECHAR\nEND\n') else self._names[this] = name self._socks[this]:send(AFFIRMATIVE) end + elseif line == 'GETROOMS' then + local players = 1 + if self._rooms[2] == 1 then + players = 2 + end + + self._socks[this]:send('1 "' .. self._names[1] .. '" ' + .. players .. '\nEND\n') else self._socks[this]:send('ERR COMMAND\nEND\n') end |