by modifying the code or making a module, is it possible(easy/simple) for 1 irc network to provide 2 or more groups? as if there's many network
i currently implement it by hacking the code, prefixed all nicks/channels with magic "group number", non of them can interchange message between different group, nor see each other
1 network provide 2+ groups
have read rfc, it seems hard to do so
but i need your confirm.
i want to do this to provide service to customers(not selling the code)
1. they don't want their users mixed with other customers
2. because of 1, having the nick/chan conflict each other is nighmate
3. setting up separate ircd seems not managable, each of them have to be created manually and have to take 1 port
i'm looking for the most easy way.
for logon:
option 1. let client do "GO 123"(group id), "NICK mynick"
option 2. "NICK 123mynick"
both is ok, at least with mIRC's "on LOGON"
-----------
for implement:
(all below options will check the nick/chan prefix and limit PRIVMSGs/NOTICEs/JOINs/LIST)
option 1. have nicks in the form "mynick" and another groupid variable, modify find_client find_channel, have them find on separate hash table,
but NO, it's hard to modify, each find_** have to know which Group to find. and message between server can't recognize the group of the nick by the protocol(and the mistake will make server mess up)
option 2. have nicks in the form "123mynick" internally, but strip the 123 before sending to client(not server)
seems nice for all client, but i haven't check enough for this way. is it hard? (some mistake is ok)
option 3. ircd do nothing except limit by prefix, but client strip the prefix, this is easy for my own written client, but not for mIRC and others, so many nicks and channels in message
------
this seems i'm modifying the code and should have no support from unreal, but we're just discussing the idea and implement, not the problem implement by modifying the code
just suppose i'm writing a module, but i'll make more HOOKs myself
but i need your confirm.
i want to do this to provide service to customers(not selling the code)
1. they don't want their users mixed with other customers
2. because of 1, having the nick/chan conflict each other is nighmate
3. setting up separate ircd seems not managable, each of them have to be created manually and have to take 1 port
i'm looking for the most easy way.
for logon:
option 1. let client do "GO 123"(group id), "NICK mynick"
option 2. "NICK 123mynick"
both is ok, at least with mIRC's "on LOGON"
-----------
for implement:
(all below options will check the nick/chan prefix and limit PRIVMSGs/NOTICEs/JOINs/LIST)
option 1. have nicks in the form "mynick" and another groupid variable, modify find_client find_channel, have them find on separate hash table,
but NO, it's hard to modify, each find_** have to know which Group to find. and message between server can't recognize the group of the nick by the protocol(and the mistake will make server mess up)
option 2. have nicks in the form "123mynick" internally, but strip the 123 before sending to client(not server)
seems nice for all client, but i haven't check enough for this way. is it hard? (some mistake is ok)
option 3. ircd do nothing except limit by prefix, but client strip the prefix, this is easy for my own written client, but not for mIRC and others, so many nicks and channels in message
------
this seems i'm modifying the code and should have no support from unreal, but we're just discussing the idea and implement, not the problem implement by modifying the code
just suppose i'm writing a module, but i'll make more HOOKs myself
-
- Former UnrealIRCd head coder
- Posts: 811
- Joined: Sat Mar 06, 2004 8:47 pm
- Location: United States
- Contact:
Well this couldn't be done through a module. So that's out of the question. But regardless, the whole idea seems stupid to me. Why not just run 2 ircds? It doesn't make sense to try and make 1 IRCd into 2 networks. Just setup two IRCds on either two different IPs, or on 2 different ports and you're good to go. I don't see the problem with that. If you don't want to do that, the only alternative is modifying Unreal which will not be supported.
-- codemastr
ok if you want one ircd then maybe try a java client .
Set up a webpage for each customer/network ie http://www.cust1.com http://www.cust2.com etc
Set each java client on each page to connect to #cust1 #cust2 etc . You could even go as far as passwording each channel so the groups cant mix .
Just an idea but its the simplest I can think of .
Set up a webpage for each customer/network ie http://www.cust1.com http://www.cust2.com etc
Set each java client on each page to connect to #cust1 #cust2 etc . You could even go as far as passwording each channel so the groups cant mix .
Just an idea but its the simplest I can think of .