iamgreaser / iceball

Open-source rewrite of the VOXLAP version of Ace of Spades.
http://iceball.build
GNU General Public License v3.0
113 stars 32 forks source link

Server IRC client #87

Closed dany-on-demand closed 9 years ago

dany-on-demand commented 11 years ago

Pyspades had this functionality and it was very popular. Maybe somewhere down the line there could be a web admin panel - game server providers love that.

lua.sockets is enough to implement that, here's an implementation in Lua I found on the net: https://github.com/JakobOvrum/LuaIRC

I'm concerned a bit about RAM usage - as the IRC module took up a large part of pyspades usage after a long time and caused crashes.

asiekierka commented 11 years ago

The RAM usage should be fairly minimal if well-written.

rakiru commented 11 years ago

As asiekierka said, memory usage really shouldn't be an issue, and I'm surprised it was in pyspades, considering it used the Twisted library and it's always been fine for me. This should be fairly easy to implement provided there is async TCP or threading, which I don't think we currently have(?). As for a web admin panel, that should really be a separate issue, but perhaps some sort of API (RCON, JSON RPC, etc.) would be the best way to go about that, as it would allow other people to make web panels, apps, etc. to control their server(s).

iamgreaser commented 11 years ago

TCP is async for sending / receiving, but not for connecting AFAIK.

I don't know if I want to use that library - it has PARTIAL /mode support, but let's say someone decided to do /mode +lo 40 SomeUser... it'd try to mark the "user" with the name "40" as an oper, which isn't in the channel.

Plus we have servers with +q (channel owner) / +a ("admin" / protected from being kicked), and it doesn't compensate for that.

I'll need to look through the 005 message, which of course is this: http://www.irc.org/tech_docs/005.html This will be the only way to adequately support channel modes (through the CHANMODES parameter).

Iceball servers cannot bind raw TCP/UDP sockets, so to get a web interface, personally I'd connect to a seperate daemon via TCP.

iamgreaser commented 10 years ago

topo said he was working on this. Never heard back from him about it. What the fuck happened?

iamgreaser commented 9 years ago

Going to close this and point everyone to #101, just so I don't have to close this later.