IRCd Server Configuration This is the main configuration menu for the ircd. 11.. SSeerrvveerr IInnffoorrmmaattiioonn Information about your server. 11..11.. SSeerrvveerr NNaammee There is a diference between the "hostname" and the "server name" of the machine on which the server is running on. For example, the host can have "veer.cs.vu.nl" as FQDN, and "Amsterdan.NL.EU.UnderNet.org" as server name. A "server mask" is something like "*.EU.UnderNet.org", which is matched by "Amsterdan.NL.EU.UnderNet.org" but not by "Manhattan.KS.US.UnderNet.org" 11..22.. DDeessccrriippttiioonn A little description about the server. 11..33.. SSeerrvveerr NNuummbbeerr Note that the server number has to be unique on the network which your server is running on, it must be between 1 and 64, and it is not updated on a rehash. 11..44.. LLeeaaff SSeerrvveerrss Select "Leaf server" if you don't want to hub for any server. It is very recommended to set this on for leaf servers. 11..55.. AAddmmiinniissttrraattiivvee IInnffoorrmmaattiioonn This sets information that can be retrieved with the /ADMIN command. It should have at least an admin Email contact address. 22.. OOppeerraattoorrss Inevitably, you have reached the part about "IRC Operators". Oper status grants some special privileges to a user, like the power to make the server break or (try to) establish a connection with another server, and to "kill" users off IRC. I could write many pages about this; I will restrict myself to say that if you want to point somebody as IRC Operator on your server, that person will be aware of his/her responsibilities, and that you, as the admin, will be held accountable for their actions. There are two sorts of IRC Operators: "local" and "global". Local opers can squit, connect and kill - but only locally: their +o user mode is not not passed along to other servers. On Undernet, this prevents them from using Uworld as well. Depending on some defines in include/config.h, local operators are also not allowed to /DIE and /RESTART the server. 22..11.. NNiicckkNNaammee The operator's nickname. 22..22.. HHoosstt//IIPP mmaasskk The host or IP mask that will be autorized to use the Oper status. 22..33.. PPaasssswwoorrdd The password is encrypted so it can't be retrieved by viewing the configuration file. 22..33..11.. CChhaannggiinngg PPaasssswwoorrdd To change the password you only need to rewrite it and the password confirmation, if you don't want to change the password but only some register of the operator, do not write anything in the password field. 22..44.. GGlloobbaall aanndd LLooccaall ooppeerraattoorrss Leaving Global checkbox unchecked will only give local operator to the current operator. 22..55.. CCoonnnneeccttiioonn CCllaassss Notice that the connection class is optional, but leaving it away puts the O: lines in class 0, which usually only accepts one connection at a time. If you want users to Oper up more then once per O: line, then use a connection class that allows more then one connection, for example using class 10. 33.. RReesseerrvveedd NNiicckknnaammeess You can lock some nicknames using this. Ex: If you have an eggdrop to control the nickserv you can lock the nickname "nickserv". Only the specified server will be allowed to use the nickname. 33..11.. HHoosstt//IIPP mmaasskk The server host. 33..22.. NNiicckkNNaammeess The nicknames you want to lock separated by colon. 44.. SSeerrvveerr PPoorrttss When your server gets full, you will note delays when trying to connect to your server's primary listening port. Via the Port lines it is possible to specify additional ports (both AF_UNIX and AF_INET) for ircd to listen to. De facto ports are: 6667 - standard; 6660-6669 - additional client ports; These are just hints, they are in no way official IANA or IETF policies. On a side note, the /UPING command uses port 7007/udp. If your server is located behind a firewall, you may want to make another hole in it for this port. 44..11.. HHoossttmmaasskk The hostmask that is allowed to connected to the port. Leave empty to allow everybody to connect. 44..22.. PPoorrtt It is the port number. 44..33.. UUsseerrss For what kind of connection the port will listen to. 44..33..11.. CClliieenntt Normal users will use the port. 44..33..22.. SSeerrvveerr The port will be used for the links with others servers. 44..44.. HHiiddddeenn PPoorrtt The port is not listed in a /stat on the server. 55.. MMeessssaaggeess ooff tthhee ddaayy It is possible to show a different Message of the Day to a connected client depending on its origin. 55..11.. DDeeffaauulltt MMOOTTDD There is a default MOTD. You can edit this path in linuxconf paths. 55..22.. WWhheerree lliinnuuxxccoonnff ssaavveess mmoottdd ffiilleess?? All motd files are saved in /etc/ircd directory as hostmask.motd. 55..33.. AAddddiinngg // CChhaannggiinngg aa MMOOTTDD When you create a motd, the file is created automaticaly and is not possible to modify it path after it. When you remove the motd, the motd file is removed from disk. In this way, you don't need to work with paths. 66.. KKiillll LLiinneess ((KK--LLiinneess)) While running your server, you will probably find individuals or groups of persons that you do not wish to have access to your server. For this purpose, the ircd understands "kill lines". 66..11.. HHoosstt//IIPP mmaasskk The killed host or IP mask. 66..22.. UUsseerr mmaasskk The user ident. Ex: root@localhost.localdomain where "root" is the user mask. 66..33.. KKiillll MMeessssaaggee It MUST be !filepath or "Message". Otherwise it will not work. Just leave empty for use ircd default: "You are banned from this server" 77.. PPeerrmmiittiioonnss ((II--LLiinneess)) To allow clients to connect, they need authorization. This can be done based on hostmask, address mask, and/or with a password. With intelligent use of classes and the maxconnections field in the connection classes, you can let in a specific domain, but get rid of all other domains in the same toplevel, thus setting up some sort of 'reverse K: line'. Technical description (for examples, see below): For every connecting client, the IP-number is known. A reverse lookup on this IP-number is done to get the (/all) hostname(s). Each hostname that belongs to this IP-number is matched to hostmask, and the I: line is used when any matches; the client will then show with this particular hostname. If none of the hostnames matches, then the IP- number is matched against the IP mask field, if this matches then the I: line is used nevertheless and the client will show with the first (main) hostname if any; if the IP-number did not resolve then the client will show with the dot notation of the IP-number. There is a special case for the UNIX domain sockets and localhost connections though; in this case the IP mask field is compared with the name of the server (thus not with any IP-number representation). The name of the server is the one returned in the numeric 002 reply, for example: 002 Your host is 2.undernet.org[jolan.ppro], running version ... Then the "jolan.ppro" is the name used for matching. Therefore, unix domain sockets, and connections to localhost would match this I: line: IP or crap = jolan.ppro Hostmask = foobar Connection Class = 1 Finally, I: lines with empty IP mask or hostmask fields are skipped. This is the 'fallback' entry. All .uk, .nl, and all unresolved are in these two lines. By using two different lines, multiple connections from a single IP are only allowed from hostnames which have both valid forward and reverse DNS mappings. IP or crap = *@* Password = 1 Hostmask = Unresolved Connection Class = 1 IP or crap = Resolved Hostmask = *@* Connection Class = 1 If you don't want unresolved dudes to be able to connect to your server, use just: IP or crap = NotMatchingCrap Hostmask = *@* Connection Class = 1 You can request a more complete listing, including the "list of standard K-lines" from the Routing Committee; it will also be sent to you if you apply for a server and get accepted. Ourselves - this makes sure that we can get in, no matter how full the server is (hopefully). IP or crap = *@* Hostmask = *@*.localdomain Connection Class = 10 77..11.. PPaasssswwoorrdd You can put a digit (0..9) in the password field, which will make ircd only accept a client when the total number of connections to the network from the same IP number doesn't exceed this number. The following example would accept at most two connections from dial up accounts that have "dial??.*" as host mask: IP or crap = Resolved PASSOWORD = 2 Hostmask = *@dial??.* Connection Class = 1 88.. LLiinnkk MMaanneeggeerr Creates a link with other servers. 88..11.. HHoossttnnaammee oorr IIPP aanndd SSeerrvveerr NNaammee There is a diference between the "hostname" and the "server name" of the machine that the server is run on. For example, the host can have "veer.cs.vu.nl" as FQDN, and "Amsterdan.NL.EU.UnderNet.org" as server name. 88..22.. PPaasssswwoorrdd A password to connect to the server. 88..33.. SSeerrvveerr PPoorrtt The port on REMOTE server. 88..44.. CCoonnnneeccttiioonn CCllaassss Use the defaults connection classes for servers. See Connection Classes for more information. 99.. CCoonnnneeccttiioonn CCllaasssseess All connections to the server are associated with a certain "connection class", being them income or outgo (initiated by the server), being them clients, servers or Martians. (Notice that ircd doesn't have direct support for Martians); they will have to register as normal users. 99..11.. SSeerrvveerr ccllaasssseess 99..11..11.. 9900 all your uplinks for who you do not wish to hub; same in classes 99..11..22.. 8800 aanndd//oorr 7700.. 99..11..33.. 5500 leaf servers (only used if your server is a hub) 99..22.. CClliieenntt ccllaasssseess 99..22..11.. 1100 locals. 99..22..22.. 22 for all .net and .com that are not in Europe. 99..22..33.. 11 for everybody. 99..33.. PPiinngg FFrreeqquueennccee The frequency that the server ping this connection. 99..44.. CCoonnnneeccttiioonn FFrreeqquueennccyy I don't know what it really does. I think it is the frequency that this class can connect to the server. Prevents users to flood connections. 99..55.. MMaaxxiimmuunn nnuummbbeerr ooff lliinnkkss The maximum of connections by the same IP. 99..66.. SSeenndd QQuuoottaa SSiizzee No description.