Synchronet v3.18b-Win32 (install) has been released (Sept-2020).

Synchronet is switching to Git

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
service:ircd [2010/02/26 09:38]
cyan Further changes
service:ircd [2020/03/04 11:57] (current)
nelgin
Line 4: Line 4:
  
 The Synchronet IRCd (IRC daemon) service is a static service written in 100% Javascript. ​ It's currently the largest (and perhaps The Synchronet IRCd (IRC daemon) service is a static service written in 100% Javascript. ​ It's currently the largest (and perhaps
-the most complex) service available for Synchronet. ​ The IRCd service aims tobe a '​communications bridge'​ of sorts which will allows multiple BBS's to link together in a network so that users may talk to one another from the comfort of their home BBS or IRC client. ​ The Synchronet IRCd is a fully-functional IRC daemon that rivals the bigger, legacy UNIX IRC daemons in terms of features. ​ This way, everyone who wishes to chat on a common network will be able to use the local BBS, or a standard IRC client (if they wish.)+the most complex) service available for Synchronet. ​ The IRCd service aims to be a '​communications bridge'​ of sorts which will allows multiple BBS's to link together in a network so that users may talk to one another from the comfort of their home BBS or IRC client. ​ The Synchronet IRCd is a fully-functional IRC daemon that rivals the bigger, legacy UNIX IRC daemons in terms of features. ​ This way, everyone who wishes to chat on a common network will be able to use the local BBS, or a standard IRC client (if they wish.)
  
 ====== About this document ====== ====== About this document ======
Line 31: Line 31:
 By default, the Synchronet IRCd is installed as a service. ​ It should already be present in your "​services.ini"​ file inside the BBS '​ctrl'​ directory. ​ The IRCd will automatically start when you start your BBS.  The default entry for the IRCd inside of services.ini looks like this: By default, the Synchronet IRCd is installed as a service. ​ It should already be present in your "​services.ini"​ file inside the BBS '​ctrl'​ directory. ​ The IRCd will automatically start when you start your BBS.  The default entry for the IRCd inside of services.ini looks like this:
  
 +<​code>​
 [IRC] [IRC]
 Port=6667 Port=6667
 Options=STATIC | LOOP Options=STATIC | LOOP
 Command=ircd.js Command=ircd.js
 +</​code>​
  
 The '​maximum clients'​ value used inside of the services configuration is *ignored* by Synchronet Services since that value is managed by the IRCd itself. ​ The maximum number of IRC clients can be changed on a Y:Line in your ircd.conf, and is set to 100 by default (more on the ircd.conf later.) The '​maximum clients'​ value used inside of the services configuration is *ignored* by Synchronet Services since that value is managed by the IRCd itself. ​ The maximum number of IRC clients can be changed on a Y:Line in your ircd.conf, and is set to 100 by default (more on the ircd.conf later.)
Line 44: Line 46:
 You will know if the IRCd has started successfully if you see entries like this in your BBS log: You will know if the IRCd has started successfully if you see entries like this in your BBS log:
  
 +<​code>​
 srvc 0007 IRC SynchronetIRCd-1.1b(1.102) started. srvc 0007 IRC SynchronetIRCd-1.1b(1.102) started.
 srvc 0007 IRC Reading Config: /​sbbs/​ctrl/​ircd.conf srvc 0007 IRC Reading Config: /​sbbs/​ctrl/​ircd.conf
 +</​code>​
  
 You may have to scroll up to see the message. ​ Any errors should be self-explanatory (and usually involve not being able to read the configuration file.) ​ If you get an error about not being able to bind to a socket, or that a socket is already in use, then you already have something running on the port you defined in your services configuration. ​ Could it be another IRC server running? ​ Try disabling any other IRC servers or proxies and restart the BBS.  If you recently restarted Synchronet with users connected to an already operating IRCd, then it's likely that some of your sockets are in a '​TIME_WAIT'​ state. ​ Wait a minute or two for the condition to clear up, then try again. ​ Repeat this process of elimination until your IRCd starts successfully. You may have to scroll up to see the message. ​ Any errors should be self-explanatory (and usually involve not being able to read the configuration file.) ​ If you get an error about not being able to bind to a socket, or that a socket is already in use, then you already have something running on the port you defined in your services configuration. ​ Could it be another IRC server running? ​ Try disabling any other IRC servers or proxies and restart the BBS.  If you recently restarted Synchronet with users connected to an already operating IRCd, then it's likely that some of your sockets are in a '​TIME_WAIT'​ state. ​ Wait a minute or two for the condition to clear up, then try again. ​ Repeat this process of elimination until your IRCd starts successfully.
Line 51: Line 55:
 Test your new IRCd by connecting to it with an IRC client. At the very least, using '​telnet'​ to connect to the IRCd port (port 6667 by default) should give you something similar to the following line: Test your new IRCd by connecting to it with an IRC client. At the very least, using '​telnet'​ to connect to the IRCd port (port 6667 by default) should give you something similar to the following line:
  
 +<​code>​
 :​rrx.synchro.net NOTICE * :*** SynchronetIRCd-1.1b(1.102) (RoadRunner X) Ready. :​rrx.synchro.net NOTICE * :*** SynchronetIRCd-1.1b(1.102) (RoadRunner X) Ready.
 +</​code>​
  
 This is the standard Synchronet IRCd banner, informing you that the IRCd is accepting new connections correctly. This is the standard Synchronet IRCd banner, informing you that the IRCd is accepting new connections correctly.
Line 75: Line 81:
 (3) Edit your ircd.conf and include a C/N line pair for connecting to '​vert.synchro.net'​. ​ These should be commented out in the stock ircd.conf, and will look like this: (3) Edit your ircd.conf and include a C/N line pair for connecting to '​vert.synchro.net'​. ​ These should be commented out in the stock ircd.conf, and will look like this:
  
 +<​code>​
 #​C:​vert.synchro.net:​QWK_PASSWORD:​*.synchro.net:​6667:​30 #​C:​vert.synchro.net:​QWK_PASSWORD:​*.synchro.net:​6667:​30
 #​N:​vert.synchro.net:​*:​*.synchro.net::​30 #​N:​vert.synchro.net:​*:​*.synchro.net::​30
 +</​code>​
  
 Remove the '#'​ from each line, and replace '​QWK_PASSWORD'​ with the password you were assigned (or selected) when registering for a QWK-ID. ​ The ircd.conf contains a description of what each of the lines (and fields) mean. It is very important that you leave the asterisks as they are, especially on the N:​Line. ​ This is because the server you're connecting to may be randomly Remove the '#'​ from each line, and replace '​QWK_PASSWORD'​ with the password you were assigned (or selected) when registering for a QWK-ID. ​ The ircd.conf contains a description of what each of the lines (and fields) mean. It is very important that you leave the asterisks as they are, especially on the N:​Line. ​ This is because the server you're connecting to may be randomly
Line 83: Line 91:
 (4) Restart your BBS (or, if you know how to become an IRC operator, simply use the /REHASH command), and you should see a message similar to the following in your Synchronet console: (4) Restart your BBS (or, if you know how to become an IRC operator, simply use the /REHASH command), and you should see a message similar to the following in your Synchronet console:
  
 +<​code>​
 srvc 0008 IRC Routing: Auto-connecting to rrx.synchro.net srvc 0008 IRC Routing: Auto-connecting to rrx.synchro.net
 srvc 0008 IRC Routing: Connected! ​ Sending info... srvc 0008 IRC Routing: Connected! ​ Sending info...
 srvc 0008 IRC 0018 Accepted new connection: 154.5.119.21 port 6667 srvc 0008 IRC 0018 Accepted new connection: 154.5.119.21 port 6667
 srvc 0008 IRC Routing: Link with rrx.synchro.net established,​ states: TS srvc 0008 IRC Routing: Link with rrx.synchro.net established,​ states: TS
 +</​code>​
  
 If you see any messages in regards to "​Server not configured"​ or "​Connection reset by peer", it's highly likely that you've mistyped your QWK password into the C:Line in your ircd.conf. ​ Double-check to make sure that the password is correct, and that you haven'​t otherwise malformed the C/N line pair.  In particular, make sure all the asterisks (as per the default) are where they should be. If you see any messages in regards to "​Server not configured"​ or "​Connection reset by peer", it's highly likely that you've mistyped your QWK password into the C:Line in your ircd.conf. ​ Double-check to make sure that the password is correct, and that you haven'​t otherwise malformed the C/N line pair.  In particular, make sure all the asterisks (as per the default) are where they should be.
Line 148: Line 158:
 - Private/​Secret channels are not revealed to the leaf unless a user on the leaf explicitly joins the channel. - Private/​Secret channels are not revealed to the leaf unless a user on the leaf explicitly joins the channel.
  
-[5.3] - Compatibility with other IRCd's+====== ​Compatibility with other IRCd'​s ​======
  
- The Synchronet IRCd has only been tested to be link compatible with:+The Synchronet IRCd has been tested to be link compatible with:
  
  * Bahamut 1.4.35, 1.4.36 http://​bahamut.dal.net  * Bahamut 1.4.35, 1.4.36 http://​bahamut.dal.net
Line 159: Line 169:
 ====== The Future ====== ====== The Future ======
  
- Although the original intention of the IRCd was to allow users to +Although the original intention of the IRCd was to allow users to interact between one another from the BBS multi-node chat area, that has yet to occur. ​ Eventually, users will be able to talk to one another from various BBS's and not even be aware that they'​re using IRC as the transport protocol for their chat sessions. ​ For the time being, one can use the Synchronet IRC client (irc.js) to connect to their local IRC server.
-interact between one another from the BBS multi-node chat area, that has yet +
-to occur. ​ Eventually, users will be able to talk to one another from various +
-BBS's and not even be aware that they'​re using IRC as the transport protocol +
-for their chat sessions. ​ For the time being, one can use the Synchronet IRC +
-client (irc.js) to connect to their local IRC server.+
  
- Further compatibility with the later Bahamut daemons is planned, +Further compatibility with the later Bahamut daemons is planned, including the server-to-server "​RESYNCH"​ command. ​ Also, more umodes will be supported, in addition to the possibility of gaining some of the Bahamut channel modes (i.e. +c)  Exception modes (+e, etc) and exception lines (to circumvent K:Lines) may be implemented.
-including the server-to-server "​RESYNCH"​ command, user-accessible "​WATCH",​ and +
-"​SILENCE." ​ Also, more umodes will be supported, in addition to the possibility +
-of gaining some of the Bahamut channel modes (i.e. +c)  Exception modes (+e, +
-etc) and exception lines (to circumvent K:Lines) may be implemented.+
  
- Some sort of mechanism will be implemented to allow individual BBS's +Some sort of mechanism will be implemented to allow individual BBS's to share their message and file areas over IRC.  This means that you'll be able to DCC send/​receive files from a BBS, QWK packets, messages, and that sort of thing.
-to share their message and file areas over IRC.  This means that you'll be +
-able to DCC send/​receive files from a BBS, QWK packets, messages, and that +
-sort of thing. +
- +
- I'm sure DigitalMan has a ton of cool ideas, too ;)+
  
 ====== Frequently Asked Questions ====== ====== Frequently Asked Questions ======
- 
-[7.1] - Installation Questions 
  
  Q: After setting up my IRCd, and trying to connect, it gives me an  Q: After setting up my IRCd, and trying to connect, it gives me an
Line 250: Line 244:
     would execute the command like this: '/OPER Sysop <​syspass>'​.     would execute the command like this: '/OPER Sysop <​syspass>'​.
     Also check out the O:Line section in ircd.conf.     Also check out the O:Line section in ircd.conf.
 +
 + Q: My ipv6 O:Line isn't working even if I surround the address with
 +    ​square brackets.
 +        ​
 + A: You need to enclose the whole netmask within the square brackets. Do
 +    ​include leading zeros in the netmask. It should match your /whois netmask.
 +    For example:
 +    ​[~jsmith@2001:​440:​1fff:​b0:​99d2:​3cde:​43e7:​c96]
 +
 + Q: I've been forced off of the server with a "​Terminated."​ message.
 +    What does this message mean?
 +
 + A: This message is an indication that the Sysop of your BBS/IRCd has
 +    shut down the BBS, and the IRCd is terminated as a result of that.
 +    It is an indication of explicit termination (i.e., the IRCd was
 +    ​instructed to shut down by a human being).
  
  Q: My question isn't answered in this document, where can I go?  Q: My question isn't answered in this document, where can I go?
Line 296: Line 306:
     ​theory (especially as it relates to IRC3 proposals,) or general     ​theory (especially as it relates to IRC3 proposals,) or general
     ​banter among long-standing IRC users.     ​banter among long-standing IRC users.
 +
 +
  
 ===== See Also ===== ===== See Also =====

In Other Languages