|
|
| Author |
Message |
EqualSlashed_Brian Lurker

Joined: 29 Aug 2004 Posts: 222 Location: IRC
|
Posted: Apr 10, 2005 9:41am Post subject: |
|
|
| Although I am not too favorable of ChatSpike, they are actually contributing stuff that isn't complete crap to the forums, and for that, I admire and respect them. |
|
| Back to top |
|
 |
Cobi Lurker

Joined: 30 Dec 2003 Posts: 121 Location: IRC
|
Posted: Apr 10, 2005 12:08pm Post subject: |
|
|
| FrostyCoolSlug wrote: | Re: Park Module
Interesting idea, trying to decide the best way to code it..
Before Disconnect, a user issues /PARK <password>, the users nickname is then changed, and a form of Psudo 'takes its place', user quits. Later..
User returns, uses a different nick, the user returns, then /UNPARK <password> the users nick is then returned, and all previous info set? (Although inspircd can't make pseudos, it can manipulate /NICK and /WHOIS to make a 'virtual' pseudo :p
Messages could be logged untill /UNPARK is issued, then forwarded.. Pseudos would need to timeout after 12-24hrs, to help prevent abuse :/
|
I was thinking about this too, but i was thinking that when it got the /park command, it would set a flag on the user and when that user /QUIT then it would just mark it as parked, but not send anything to anyone (kinda like how a bnc does it) then when they log back on, during the logon, they would specify /pass to use that nick....
kinda like this:
there are 3 users...
User-A is registered and has voice on #blah
User-B isn't registered
User-C isn't registered
| User-A wrote: | /park testing
*** Your nick is Parked, It will expire in 24 hrs.
/amsg bye all
/quit bye
*** Later ***
/server test.network.com 6667 testing
(client sends USER USER-A\nNICK User-A\nPASS testing)
*** You have regained your Parked nickname
(to User-A only)
:User-A JOIN #blah,#blah2
:User-A MODE User-A +xyz
:PARKed MODE #blah +v User-A
:User-C PRIVMSG User-A :Where are you?
(/to User-A only)
/amsg I'm Back!
/unpark
*** Your nick is no longer parked |
| User-C wrote: | <User-A> bye all
/park testing
*** You must be registered to use /PARK
/amsg Ok, I'm gone too.
/quit bye
*** Later ***
/server test.network.com -j #blah
/amsg I'm Back
|
| User-B wrote: | <User-A> bye all
/whois User-A
* User-A is blah@blah.com (blah)
* User-A is on #blah #blah2
* User-A is a Parked Nick
* User-A using test.network.com (testing)
* User-A is a Registered Nick
* End of /WHOIS
<User-C> Ok, I'm gone too.
* User-C has Quit (Quit: test)
/msg User-A Where are you?
*** Later ***
<User-A> I'm Back!
* User-C has joined #blah
<User-C> I'm Back |
|
|
| Back to top |
|
 |
FrostyCoolSlug none

Joined: 03 Jul 2004 Posts: 29
|
Posted: Apr 10, 2005 3:21pm Post subject: |
|
|
| Cobi wrote: | I was thinking about this too, but i was thinking that when it got the /park command, it would set a flag on the user and when that user /QUIT then it would just mark it as parked, but not send anything to anyone (kinda like how a bnc does it) then when they log back on, during the logon, they would specify /pass to use that nick....
kinda like this:
there are 3 users...
User-A is registered and has voice on #blah
User-B isn't registered
User-C isn't registered
| User-A wrote: | /park testing
*** Your nick is Parked, It will expire in 24 hrs.
/amsg bye all
/quit bye
*** Later ***
/server test.network.com 6667 testing
(client sends USER USER-A\nNICK User-A\nPASS testing)
*** You have regained your Parked nickname
(to User-A only)
:User-A JOIN #blah,#blah2
:User-A MODE User-A +xyz
:PARKed MODE #blah +v User-A
:User-C PRIVMSG User-A :Where are you?
(/to User-A only)
/amsg I'm Back!
/unpark
*** Your nick is no longer parked |
| User-C wrote: | <User-A> bye all
/park testing
*** You must be registered to use /PARK
/amsg Ok, I'm gone too.
/quit bye
*** Later ***
/server test.network.com -j #blah
/amsg I'm Back
|
| User-B wrote: | <User-A> bye all
/whois User-A
* User-A is blah@blah.com (blah)
* User-A is on #blah #blah2
* User-A is a Parked Nick
* User-A using test.network.com (testing)
* User-A is a Registered Nick
* End of /WHOIS
<User-C> Ok, I'm gone too.
* User-C has Quit (Quit: test)
/msg User-A Where are you?
*** Later ***
<User-A> I'm Back!
* User-C has joined #blah
<User-C> I'm Back |
|
Interesting plot twist in that little story.. if it was a story... but anyway
Surprisingly enough, i like this idea.. it makes a lot of sense, and would probably be a step in the right direction. Obviously we can't promise a module of this magnetude overnight, but i'm sure it will appear (Also, i could note that its probably beyond the module API as it stands right now)
To EqualSlashed_Brian: I suppose the issue isn't about chatspike itself, its more the people, Contributing things that arn't crap is just what we do, when working with InspIRCd, we've been trying to keep ChatSpike seperate, especially seeing as it isn't running Insp at the moment (Too many users to change to a beta IRCd, i'm sure you can appreciate that), and on behalf of the ChatSpike staff that visit and use this forum, Thanks, we appreciate the comment  |
|
| Back to top |
|
 |
braindigitalis Idler

Joined: 22 Sep 2003 Posts: 443 Location: IRC
|
Posted: Apr 10, 2005 4:38pm Post subject: /PARK and /UNPARK |
|
|
Ok, ive come up with a way to implement /PARK and /UNPARK which does not require ANY modifications to clients at all. It all works on switching 'file descriptors' (socket numbers):
User A wants to park his nickname. User A issues /PARK (no parameters, just /PARK).
The IRCD replaces his file descriptor with a magic number. The magic number identifies him as a parked client, data i/o no longer occur to that socket.
The user may remain in this state for say an hour, long enough to go do whatever and come back to irc.
When the user issues /PARK the ircd forces that user's REAL connection to close, and gives it a quit, for example:
When the user returns to irc, they simply do the following:
This unparks the nick. The ircd, internally, takes the users fd, switches it with that of the parked client, then quits the user that issued the unpark. So basically, other users on irc will see:
| Code: |
<someuser is idle>
*** SomeUser2 has quit (Unparked to SomeUser)
<someuser returns from idle>
<SomeUser> Hi everyone im back!
|
whereas, the user themself, someuser, is sent a group of "localized" joins and a forced nickchange to make their client think it is now SomeUser again, and its away log spooled to it.
The user would therefore see:
| Code: |
SomeUser2 :Unparking to SomeUser
*** Your nick is now SomeUser
*** You have joined #one
*** You have joined #two
*** You have joined #three
SomeUser2 :Unpark successful
<away messages follow here possibly as snotices>
|
So, that about sums it up. Apart from the 'magic number' file descriptor which marks a user as idle, this is possible now in inspircd. I'll start work on it at some point this coming week.
Thanks for the idea  |
|
| Back to top |
|
 |
PingBad Guru

Joined: 05 Feb 2005 Posts: 2064 Location: New Zealand
|
Posted: Apr 10, 2005 6:41pm Post subject: |
|
|
the PARK idea is a good one, however I am concerned at the issue of lag/bandwidth.
If User-A's nick received a lot of data while they were parked, when they un, they are going to get a torrent of channel messages, nick changes, etc -- enough to probably lag them offline. Maybe there should be a data cap on how much data is stored while the nick is parked.
Just a theory |
|
| Back to top |
|
 |
braindigitalis Idler

Joined: 22 Sep 2003 Posts: 443 Location: IRC
|
Posted: Apr 10, 2005 6:56pm Post subject: |
|
|
| PingBad wrote: | the PARK idea is a good one, however I am concerned at the issue of lag/bandwidth.
If User-A's nick received a lot of data while they were parked, when they un, they are going to get a torrent of channel messages, nick changes, etc -- enough to probably lag them offline. Maybe there should be a data cap on how much data is stored while the nick is parked.
Just a theory |
yup we already considered it, such a limit would be in number of messages per parked user, configured in the config file, and only messages would be stored. |
|
| Back to top |
|
 |
GreyMouser Newbie

Joined: 04 Dec 2004 Posts: 74
|
Posted: Apr 11, 2005 7:50am Post subject: |
|
|
no offense but I think park is a stupid idea. I mean, what good comes from it other than wasting server resources? What significant difference is there between staying logged into an IRC Server and simply coming back later? Want to send a message to an absent user? .. try MemoServ or email. Want to keep a channel open, get a bot.
Next thing you know 5 real users will be chatting and 1020 will be "parked" and no one else can connect because the IRCd hit FD_MAX. What about the proplem of preventing one user from parking 100 nicks in his/her channel to "be cool"? the list can be infinate yet for very little gain.
Last edited by GreyMouser on Apr 11, 2005 7:56am; edited 1 time in total |
|
| Back to top |
|
 |
PingBad Guru

Joined: 05 Feb 2005 Posts: 2064 Location: New Zealand
|
Posted: Apr 11, 2005 7:55am Post subject: |
|
|
| braindigitalis wrote: | | PingBad wrote: | the PARK idea is a good one, however I am concerned at the issue of lag/bandwidth.
If User-A's nick received a lot of data while they were parked, when they un, they are going to get a torrent of channel messages, nick changes, etc -- enough to probably lag them offline. Maybe there should be a data cap on how much data is stored while the nick is parked.
Just a theory |
yup we already considered it, such a limit would be in number of messages per parked user, configured in the config file, and only messages would be stored. | How is the cap going to be coded? Keep going till its full and forget the rest, or delete the old messages as new ones arrive? |
|
| Back to top |
|
 |
PingBad Guru

Joined: 05 Feb 2005 Posts: 2064 Location: New Zealand
|
Posted: Apr 11, 2005 7:59am Post subject: |
|
|
| GreyMouser wrote: | no offense but I think park is a stupid idea. I mean, what good comes from it other than wasting server resources? What significant difference is there between staying logged into an IRC Server and simply coming back later? Want to send a message to an absent user? .. try MemoServ or email. Want to keep a channel open, get a bot.
Next thing you know 5 real users will be chatting and 1020 will be "parked" and no one else can connect because the IRCd hit FD_MAX. What about the proplem of preventing one user from parking 100 nicks in his/her channel to "be cool"? the list can be infinate yet for very little gain. | Say you had to restart your computer, but didn't want to leave the company of your chat mates, parking your nick while your computer reboots seems a logical idea -- it'll keep you in your chans and handle any messages you receive while you are absent. I imagine a time limit would be enforced on how long a nick can be parked (one hour seems reasonable, and this may be able to be customisable by way of config option) At least you're not breaking the flow of your online experience (in practice) |
|
| Back to top |
|
 |
GreyMouser Newbie

Joined: 04 Dec 2004 Posts: 74
|
Posted: Apr 11, 2005 8:05am Post subject: |
|
|
| Quote: |
Say you had to restart your computer, but didn't want to leave the company of your chat mates, parking your nick while your computer reboots seems a logical idea -- it'll keep you in your chans and handle any messages you receive while you are absent.
|
it seems logical to me to stop the conversation and pick back up in a few minutes instead of wasting resources. |
|
| Back to top |
|
 |
braindigitalis Idler

Joined: 22 Sep 2003 Posts: 443 Location: IRC
|
Posted: Apr 11, 2005 8:29am Post subject: |
|
|
| GreyMouser wrote: | | Quote: |
Say you had to restart your computer, but didn't want to leave the company of your chat mates, parking your nick while your computer reboots seems a logical idea -- it'll keep you in your chans and handle any messages you receive while you are absent.
|
it seems logical to me to stop the conversation and pick back up in a few minutes instead of wasting resources. |
thats why it's a module, if you dont see a use for it you dont have to load it  |
|
| Back to top |
|
 |
braindigitalis Idler

Joined: 22 Sep 2003 Posts: 443 Location: IRC
|
Posted: Apr 11, 2005 8:30am Post subject: |
|
|
| phrozen77 wrote: | i'd also _love_ to see an implementation of unreals /spamfilter with perl-regex's... (cant recall right now if it already has em )
|
This is now added as an 'extra' module, please read:
http://www.inspircd.org/wiki/PCRE_Filter_Module |
|
| Back to top |
|
 |
GreyMouser Newbie

Joined: 04 Dec 2004 Posts: 74
|
Posted: Apr 11, 2005 8:42am Post subject: |
|
|
| braindigitalis wrote: | | GreyMouser wrote: | | Quote: |
Say you had to restart your computer, but didn't want to leave the company of your chat mates, parking your nick while your computer reboots seems a logical idea -- it'll keep you in your chans and handle any messages you receive while you are absent.
|
it seems logical to me to stop the conversation and pick back up in a few minutes instead of wasting resources. |
thats why it's a module, if you dont see a use for it you dont have to load it  |
Good idea there. I have problems with bloated IRCd's that have core features that should be modules.
I'd like to see a IRCd that is nothing but bare bones, 100% RFC compliant (except use nick@server in PRIVMSG vs using user@host). Then all "features" as modules. I see no logic in a 2MB tarball for an IRCd when other modern IRCd's are several hundred kb.
Last edited by GreyMouser on Apr 11, 2005 8:46am; edited 1 time in total |
|
| Back to top |
|
 |
Ib3N Lurker

Joined: 10 Mar 2004 Posts: 157 Location: ChatSpike
|
Posted: Apr 11, 2005 8:46am Post subject: |
|
|
greymouse:
Read the top post on www.inspircd.org
 |
|
| Back to top |
|
 |
GreyMouser Newbie

Joined: 04 Dec 2004 Posts: 74
|
Posted: Apr 11, 2005 8:49am Post subject: |
|
|
I shall check it out. If I like it I may be able to donate some resources to help in testing/dev. |
|
| Back to top |
|
 |
|
|
| |