Standalone IRC Controller

Moderators: Xymph, NADEO

Post Reply
poisinivy
Posts: 9
Joined: 16 Jun 2010, 11:16

Standalone IRC Controller

Post by poisinivy »

Hey all,

First of all, sorry, I have no idea where to post this, so if any moderator / admin thinks this post is in the wrong forum section, feel free to move it.

IRC

We've all seen them, IRC plugins for different server controllers:

Xaseco (made by w1lla and nWo|tK)
ManiaLive (one by myself which was used in house by the lynx servers and another by TheM).

At first I wanted to start writing one for FoxControl as well, but then it struck me.

Why do we write IRC plugins for all the different controllers, when the idea behind them is all the same, having the possibility to administrate and moderate your channel from an IRC channel.

For this reason I've started to develop an IRC Controller and the first version of this (although written badly and in a hurry) has been tested on my own private server.

IRC - What is it?

IRC stands for Internet Relay Chat, and is basically nothing more than multi player notepad.
Multiple users can join the same channel and hold conversations with each other.
It is also used by several bots and admins to keep an eye on the chat in the server or to keep track of scores.

IRC - The idea

The idea is for the IRC Controller to run independently. You don't need Xaseco, ManiaLive, FoxControl of any other server controller, you run it side by side.

This comes with advantages:
  • No need to update the IRC code whenever your server controller changes the code.
  • If (unlikely) the server controller crashes, the IRC controller will keep running.
But likewise there are disadvantages as well.
  • Startup scripts will need to be adjusted to start the IRC controller aswell.
IRC - Implementation so far

Right now I'm working on the startup scripts (a .bat file, a .php file and working on a .sh file).
Furthermore there is a config (.ini) file that can be used to set all the configuration, no need to change anything in the code (or.. so is the idea).

Right now the controller keeps track of:
  • Players joining the server
  • Players leaving the server
  • Players chatting in the server
  • Relaying the irc chat to the server
  • Displaying the end rankings after a challenge has ended.
IRC - What still has to be done
  • Support for different game modes (preferably smart).
  • Admin commands (kick / ban / skip etc)
  • ...
and this is where I need the help of others, writing the program is no problem, but thinking off what it should do..
that's a problem.

So my question to you all is.

If you were to use an IRC Controller,

what features should it have?
what settings should be configurable?

basically, what would you like to see in an IRC controller.
[LYNX]Poisinivy

Currently working on an Standalone IRC Controller
svens
Posts: 97
Joined: 15 Jun 2010, 11:06
Location: Bern, CH
Contact:

Re: Standalone IRC Controller

Post by svens »

poisinivy wrote:Why do we write IRC plugins for all the different controllers, when the idea behind them is all the same, having the possibility to administrate and moderate your channel from an IRC channel.

For this reason I've started to develop an IRC Controller and the first version of this (although written badly and in a hurry) has been tested on my own private server.
I don't think it's good to have a lot of different controllers. For that reason, my recommendation is to only use a very minimal standalone controller and put your IRC functionality in a class which receives the server callbacks. The advantage of this approach is, that you (or others) can easily write wrappers for other server controllers (which kind of solves your initial problem).

But if you'd like to create and maintain your own server controller go ahead :). I've written a small standalone controller for my stuff too, if you don't want to create one yourself just say it ;). Good Luck :thumbsup:
poisinivy
Posts: 9
Joined: 16 Jun 2010, 11:16

Re: Standalone IRC Controller

Post by poisinivy »

svens wrote:
poisinivy wrote:Why do we write IRC plugins for all the different controllers, when the idea behind them is all the same, having the possibility to administrate and moderate your channel from an IRC channel.

For this reason I've started to develop an IRC Controller and the first version of this (although written badly and in a hurry) has been tested on my own private server.
I don't think it's good to have a lot of different controllers. For that reason, my recommendation is to only use a very minimal standalone controller and put your IRC functionality in a class which receives the server callbacks. The advantage of this approach is, that you (or others) can easily write wrappers for other server controllers (which kind of solves your initial problem).

But if you'd like to create and maintain your own server controller go ahead :). I've written a small standalone controller for my stuff too, if you don't want to create one yourself just say it ;). Good Luck :thumbsup:
Right now that's exactly what i have, I have a minimal startup / loop script that reads the xml-rpc data, this data is then send towards the irc code, calling the appropriate function.

It won't be a full controller like xAseco or anything, as it will not record local records, it will be more something like RCP, but then for IRC, it will allow people to moderate their server, see the chat, and through commands get / set data or kick people (for example).

It all started as an experiment anyway while trying to understand how xml-rpc works, after realising how easy it was i had ported my ManiaLive plugin into this.

Your suggestion about wrappers might need a bit of code tweaking but could certainly be done.. then again I'm not extremely experienced with this all yet and I'll look forward to all the fun (and errors) i'll have while writing it ^^.
[LYNX]Poisinivy

Currently working on an Standalone IRC Controller
reaby
Posts: 956
Joined: 29 Dec 2010, 23:26
Location: Eastern Finland
Contact:

Re: Standalone IRC Controller

Post by reaby »

my suggestion for wrappers would be to make own api througt dedicated echo. with this you could also implement cross server chat using irc bot private chat as gateway. like you send private messages to the bot.. or another temp channel.

for the wrapper idea would be to pass either objects or arrays in serialized or json format thought dediacted echo to server and then the other server contollers can send and recieve and process that...

i would use public part of echo to say that its the irc and what version of api is in use
then the internal to pass encoded data...
poisinivy
Posts: 9
Joined: 16 Jun 2010, 11:16

Re: Standalone IRC Controller

Post by poisinivy »

reaby wrote:my suggestion for wrappers would be to make own api througt dedicated echo. with this you could also implement cross server chat using irc bot private chat as gateway. like you send private messages to the bot.. or another temp channel.

for the wrapper idea would be to pass either objects or arrays in serialized or json format thought dediacted echo to server and then the other server contollers can send and recieve and process that...

i would use public part of echo to say that its the irc and what version of api is in use
then the internal to pass encoded data...

Cross server chat, as in.. Bot A sends a private message to Bot B, and then bot B send it to the server again?
I've had a similar system like that before, but this ended up in a bit too much spam *especially if you had the rankings displayed aswell... then again.. in a config file you could probably enable and disable what you would like to send through cross server chat.

I'm not too experienced with PHP's serialization, but JSON shouldn't be a problem, although I got to admit, I don't have a single clue what you mean with dedicated echo.
[LYNX]Poisinivy

Currently working on an Standalone IRC Controller
sidekix
Posts: 10
Joined: 27 Sep 2011, 07:41

Re: Standalone IRC Controller

Post by sidekix »

First :1010 :thumbsup:

Goggle translate :oops:

Hello,
if I did not misunderstand - the controller can anything he can do?
Join / Part, player chat( IRC --> Server & Server --> IRC ) and final result.

Is there a possibility to test your controller? :thx: :pop:


[German]
Hallo,
wenn ich das nicht falsch verstanden habe - kann der Kontroller alles was er können muß ?
Join / Part, Spieler Chat ( IRC --> Server & Server --> IRC ) und Ergebnisse anzeigen.

Gibt es eine Moeglichkeit deinen Kontroller zu testen ?
sidekix
Posts: 10
Joined: 27 Sep 2011, 07:41

Re: Standalone IRC Controller

Post by sidekix »

Any update, or placed on ice ? :( :(
Post Reply

Return to “General Tools”

Who is online

Users browsing this forum: No registered users and 1 guest