Closed dany-on-demand closed 9 years ago
The RAM usage should be fairly minimal if well-written.
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).
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.
topo said he was working on this. Never heard back from him about it. What the fuck happened?
Going to close this and point everyone to #101, just so I don't have to close this later.
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.