Internet Relay Chat

Monday, July 30, 2007

How to reset psybnc password via shell?

To reset password of your psybnc follow the steps mentioned below:

1) login to your shell
2) type cd psybnc
3) type pico psybnc.conf
4) Now you have to edit link "USER1.USER.PASS==`L'`0Q`@0l'q`f`q`n"
e.g USER1.USER.PASS=yourpassword
5) press ctrl and x key together to exit and save edited part.

Hope this helps you :)

Friday, July 20, 2007

How to add Gseen and Stats Modules?

What is a module?

Modules are pieces of code programmed in C and can provide extra functions for your eggdrops, stats, seen, functions etc. Your eggdrop will come with some preinstalled modules that you will be able to see in the config are loaded by the command loadmodule ModuleName. Modules will generally run quicker then tcl scripts as they are already compiled but they are harder to install as your bot will most likely need to be recompiled for each module, wheras you can load a tcl on the fly and just rehash/restart the bot.

How to load a module?We assume that you have already downloaded the source for your eggdrop (eggdrop1.6.17.tar.gz etc..) and unzipped it on your shell. If not do this before you continue


wget www.geteggdrop.com
tar -zxvf eggdrop1.6.18.tar.gz

Download a module - one from below or another from the internet.

Stats Module -http://www.kreativrauschen.de/stats.mod/download/stats.mod.1.3.3.dev1.tar.gz

Gseen Module -
http://www.kreativrauschen.de/gseen.mod/gseen.mod.1.1.1.dev3.tar.gz

Use wget from your shell url or an ftp client like FileZilla to upload these files to your shell.

For the purpose of this help snippet we will concentrate mainly on the stats module and assume your eggdrop source directory is eggdrop1.6.18

Upload or move your module stats.mod.1.3.3.dev1.tar.gz /gseen.mod.1.1.1.dev3.tar.gz to the directory ~/eggdrop1.6.18/src/mod/ in your shell.

Move to the directory eggdrop1.6.18/src/mod/ on your shell and unzip the stats module.

tar -zxvf stats.mod.1.3.3.dev1.tar.gz (tar -zxvf gseen.mod.1.1.0.tar.gz)

Move back to the eggdrop1.6.18 and compile your bot as usual:

./configure

make iconfig

make

make install

Important: With the stats module you must remember to copy the language files from ~/eggdrop1.6.18/src/mod/stats.mod/ to ~/eggdrop/language/ !

Go to :
cd /eggdrop1.6.18/src/mod/stats.mod/
cp stats.conf /home/yourshellusername/eggdrop/
cp stats.lang /home/yourshellusername/eggdrop/language/

Important: With the stats module you must remember to copy the language files from ~/eggdrop1.6.18/src/mod/gseen.mod/ to ~/eggdrop/language/ !

Go to:
cd /eggdrop1.6.18/src/mod/gseen.mod/
cp gseen.conf /home/yourshellusername/eggdrop/
cp gseen.de.lang /home/yourshellusername/eggdrop/language/
cp gseen.en.lang /home/yourshellusername/eggdrop/language/

This completes the installation of a new module.

You now need to add a line to your eggdrop.conf

source stats.conf
source gseen.conf

Following these measures you can start your bot ./eggdrop eggdrop.conf

You should also note that not all modules come with a .conf file and therefore you will need to load the module from your eggdrop.conf file by including the following line. Both stats and gseen have this line in their respective stats.conf and gseen.conf file which you will have loaded.

loadmodule ModuleName

All the best.

DCC commands for eggdrop bot

Here You can find all the dcc commands for eggdrop bot.

Admin commands for BNC

BWHO
This command will list the login time, nick, and the File descripter number for all current fully logged on users. (meaning the user has to of used the CONN command and be on IRC.)

BKILL [FD]
This command will kill the user who's FD matches the argument.

DIE
This command is not fully functional, but will kill all users and end the daemons running process.

BDIE
This command is more friend version of DIE.

BMSG
Experimental inter-bnc chat.

User commands for BNC

PASS PASSWORD[:SERVER:PORT:SERVERPASS]
Some clients such as mIRC allow you to type /server servername password This is a feature that allows you to autoconnect to a real server without using CONN inside the pass command.

CONN [server address] [port] [pass]
This will initialize a connection to the real irc server and begin the two-way communication between you and the real irc server, ending the bnc command session.

KEEPALIVE
Turns on the keepalive function, instead of killing your connection when irc dies it resumes to BNC server mode.

VIP [new virtual host]
Issuing VIP alone will list all the V lines included in the configuration file. These lines are not required to use an address and are only there for reference.VIP with an argument will change the address that BNC will attempt to connect to irc with.

VDF
Issuing this command will restore the vhost to the address specified on the X line of the connfiguration file, or if that line is absent, restore it to the system default.

VN
This command will change the vhost to the system default, bypassing the X line of that configuration file.

MAIN [Supervisor password]
Sucessful usage of this command will allow one to use the Admin level commands

List of Psybnc commands.

BWHO - Lists all Users on the Bouncer
PASSWORD - Sets your or another Users Password(Admin)
BVHOST - Sets your vhost to connect thru
PROXY - Sets your proxy to connect thru
SETUSERNAME - Sets your User Name
SETAWAY - Sets your away-Text when you leave
SETLEAVEMSG - Sets your Leave-MSG when you leave
LEAVEQUIT - If set to 1, parts all channels on quit
SETAWAYNICK - Sets your nick when you are offline
JUMP - Jumps to the next IRC-Server
BQUIT - Quits your current Server Connection
BCONNECT - Reconnects a bquitted Connection
AIDLE - Enables/Disables Antiidle
AUTOREJOIN - Enables/Disables Auto-Rejoin
ADDSERVER - Adds an IRC-Server to your Serverlist
DELSERVER - Deletes an IRC-Server by number
LISTSERVERS - Lists all IRC-Servers added
ADDNETWORK - Adds a seperate Network to your client
DELNETWORK - Deletes a Network from your client
SWITCHNET - Switches to a given Network
ADDOP - Adds a User who may get Op from you
DELOP - Deletes an added User who got Op
LISTOPS - Lists all added Ops
ADDAUTOOP - Adds a User who gets Auto-Op from you
DELAUTOOP - Deletes an added User who got Op
LISTAUTOOPS - Lists all added Auto-Ops
ADDBAN - Adds a ban (global or to a channel)
DELBAN - Deletes a ban by Number
LISTBANS - Lists all bans
ADDASK - Adds a host/bot to ask Op from
DELASK - Deletes a host/bot to ask Op by Number
LISTASK - Lists the hosts/bots to ask Op from
ADDIGNORE - Adds a hostmask/contentfilter to the ignores
DELIGNORE - Deletes a hostmask/contentfilter from the ignores
LISTIGNORES - Lists the currently added ignores
PLAYPRIVATELOG - Plays your Message Log
ERASEPRIVATELOG - Erases your Message Log
ADDLOG - Adds a Log source / filter
DELLOG - Deletes a Log source by number
LISTLOGS - Lists all added Log sources/filters
PLAYTRAFFICLOG - Plays the Traffic Log
ERASETRAFFICLOG - Erases the Traffic Log
ENCRYPT - Encrypts talk to a given channel/user
DELENCRYPT - Deletes an encryption entry by number
LISTENCRYPT - Shows a List of encrypted talks
* BREHASH - Rehashes the proxy and resets all Connections
* MADMIN - Gives a User an Admin flag
* UNADMIN - Removes the Admin flag from a User
* BKILL - Kills a User from the proxy
* SOCKSTAT - Shows/Logs the current Connections
* ADDUSER - Adds a new User to the Bouncer
* DELUSER - Deletes a User from the Bouncer
* NAMEBOUNCER - Names your bouncer (needed for linking)
* LINKTO - Adds a bouncer Link to the Host/Port
* LINKFROM - Adds a bouncer Link from your Bouncer
* RELAYLINK - Allows or disables a relayable Link
* DELLINK - Deletes a Link to a bouncer
LISTLINKS - Lists all Links to/from the Bouncer
* RELINK - Resets a link to a bouncer by number
* PLAYMAINLOG - Plays the Connection Log
* ERASEMAINLOG - Erases the Connection Log
* ADDALLOW - Adds a host allow to connect
* DELALLOW - Deletes a host allow
* LISTALLOW - Lists the host allows on your proxy
SRELOAD - Reloads the Script for the User
LISTTASKS - Lists the current running tasks
* SETLANG - Sets the language (global)
BHELP - Lists this help or help on a topic
BHELP Use /QUOTE bhelp for details.

No buffer space available. (Error 10055)

An operation on a socket or pipe was not performed because the system lacked sufficient buffer space or because a queue was full.

This error indicates a shortage of resources on your system. It can occur if you're trying to run too many applications (of any kind) simultaneously on your machine. If this tends to occur after running certain applications for a while, it might be a symptom of an application that doesn't return system resources (like memory) properly. It may also indicate you are not closing the applications properly. If it persists, exit Windows or reboot your machine to remedy the problem. You can monitor available memory with Program Manager's "Help/About..." command.

Network dropped connection on reset. (Error 10052)

The host you were connected to crashed and rebooted. Try reconnecting at a later time.

Network is unreachable. (Error 10051)

A socket operation was attempted to an unreachable network.

TCP/IP scenario: The local network system can generate this error if there is no a default route configured. Typically though, Winsock generates this error when it receives a "host unreachable" ICMP message from a router. The ICMP message means that a router cannot forward the IP datagram, possibly because it did not get a response to an ARP request (which might mean the destination host is down). Note: this error may also result if you try to send a multicast packet and the default gateway does not support multicast (check your interface configuration).

how to connect mirc in ssl mode with vista ?

the solution is :

1 - install mirc
2 - install http://www.slproweb.com/products/Win32OpenSSL.html)
3 - put "libeay32.dll", "ssleay32.dll", "msvcr71.dll",
"stuntour.dll" in your mirc folder, aswell in "system"
and "system32" and windows too if you want...
4 - reboot
5 - should work (works great for me)

then use as usual /server etc......

No route to host.

socket operation was attempted to an unreachable host.

TCP/IP scenario: In BSD-compatible implementations, the local network system generates this error if there isn't a default route configured. Typically, though, Winsock generates WSAENETUNREACH when it receives a "host unreachable" ICMP message from a router instead of WSAEHOSTUNREACH. The ICMP message means that the router can't forward the IP datagram, possibly because it didn't get a response to the ARP request (which might mean the destination host is down).

Connection timed out.

A connect or send request failed because the connected party did not properly respond after a period of time. (The timeout period is dependent on the communication protocol.)

Check the obvious first: check that the destination address is a valid IP address. If you used a hostname, did it resolve to the correct address? If the hostname resolution uses a local host table, it is possible you resolved to an obsolete address. Can you ping that hostname?

Do you have a router configured? Is the router up and running? (You can check by pinging it, and then ping an address on the other side of it.) Try a traceroute to the destination address to check that all the routers are functioning.

Check your subnet mask. If you don't have the proper subnet mask, your network system may treat a local address as a remote address (so it forwards addresses on the local subnet to the router, rather than broadcasting an ARP request locally), or vice versa.

Connection reset by peer (Error 10054)

A connection was forcibly closed by a peer. This normally results from a loss of the connection on the remote socket due to a timeout or a reboot.

(10053) Software caused connection abort.

Solution: A connection abort was caused internal to your host machine. The software caused a connection abort because there is no space on the socket's queue and the socket cannot receive further connections.

WinSock description: The error can occur when the local network system aborts a connection. This would occur if WinSock aborts an established connection after data retransmission fails (receiver never acknowledges data sent on a datastream socket).

TCP/IP scenario: A connection will timeout if the local system doesn't receive an (ACK)nowledgement for data sent. It would also timeout if a (FIN)ish TCP packet is not ACK'd (and even if the FIN is ACK'd, it will eventually timeout if a FIN is not returned).

Tuesday, July 17, 2007

Services/Network Admin Commands

# ADDLINE: /ADDLINE line
Allows you to add lines to the unrealircd.conf.

# CLIST: /cs clist nick
Lists channels the given nickname is founder of. Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark.

# FORBID: /cs forbid #channel/nick reason
Disallows anyone from registering or using the given channel/nick. May be canceled by dropping the channel/nick. Reason may be required on certain networks..

# GETPASS: /cs getpass #channel/nick
Returns the password for the given channel/nick. Note that whenever this command is used, a message including the person who issued the command and the channel it was used on will be logged and sent out as a WALLOPS/GLOBOPS.

# JUMPSERVER: /jumpserver server[:port] NEW/ALL reason
This module adds the ability to 'redirect' users to another server. Note however, that this is only supported by a few clients (mIRC). If 'NEW' is chosen then only new (incoming) clients will be redirected/rejected. If 'ALL' is chosen then ALL clients (except opers) are redirected immediately (+incoming).

# MKPASSWD: /mkpasswd password
Will encrypt a clear text password to add it to the unrealircd.conf

# NACHAT: /nachat message
Similar to CHATOPS (and TECHAT), but only Network Admins are able to send/receive messages.

# OPER: /oper userid password
Attempts to give a user IRCOp status.

# REHASH: /rehash
Prompts the server to reread its configuration file (ircd.conf). Will also remove any temporarily lines (i.e. g:line).

# RESTART: /RESTART password
Kills and restarts the irc daemon, disconnecting all users currently on that server.

# SAJOIN: /sajoin nick #chan,#chan2,#chan3
Forces a user to join a channel.

# SAMODE: /samode #channel mode
Change the mode on a channel, without having operator status.

# SAPART: /sapart nick #chan,#chan2,#chan3
Forces a user to leave a channel.

# SDESC: /sdesc new description
Allows server admins to change the description line of their server without restarting.

# SQUIT: /squit server
Disconnects an IRC Server from the network

# STATUS: /cs status channel nick
Returns the current access level of the given nick on the given channel. The reply is of the form:
STATUS channel nickname access-level
If an error occurs, the reply will be in the form:
STATUS ERROR error-message

# TECHAT: /techat message
Similar to CHATOPS, but only Technical Admins are able to send/receive messages on this "channel".

Botserv commands

BotServ allows you to have a bot on your own channel. It has been created for users that can't host or configure an eggdrop or other type of bot. Available commands are listed below; to use them, type /msg botserv command. For more information on a specific command, type /msg botserv help command.

* ACT: /msg botserv act #channel text
Makes the bot do the equivalent of a "/me" command

* ASSIGN: /msg botserv assign #channel botnick
Assigns a bot to a channel

* BADWORDS: Maintains bad words list. (The bad words list determines which words are to be kicked when the bad words kicker is enabled.)
o ADD: /msg botserv badwords #channel add word {SINGLE|START}
Adds the given word to the badword list. If SINGLE is specified, a kick will be done only if an user says the entire word. If START is specified, a kick will be done if an user says a word that starts with word. If END is specified, a kick will be done if an user says a word that ends with word. If you don't specify anything, a kick will be issued every time word is said by an user.
o DEL: /msg botserv badwords #channel del {word|entry-number|list}
Removes the given word from the bad words list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
o LIST: /msg botserv badwords #channel list
Displays the bad words list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: BADWORDS #channel LIST 2-5,7-9 Lists bad words entries numbered 2 through 5 and 7 through 9.
o CLEAR: /msg botserv badwords #channel clear
The BADWORDS CLEAR command clears all entries of the bad words list.


* BOTLIST: /msg botserv botlist
Lists available bots

* INFO: /msg botserv info #channel/nick
Allows you to see BotServ information about a channel or a bot. If the parameter is a channel, then you'll get information such as enabled kickers. If the parameter is a nick, you'll get information about a bot, such as creation time or number of channels it is on.

* KICK: Configures bot kickers. Options available are:
o BOLDS: /msg botserv kick #channel bolds {on|off} [ttb]
Sets the bolds kicker on or off. When enabled, this option tells the bot to kick users who use bolds. ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated. We strongly recommend you don't enable this feature, use /mode #channel +U instead.
o BADWORDS: /msg botserv kick #channel badwords {on|off} [ttb]
Sets if the bot kicks bad words. When enabled, this option tells the bot to kick users who say certain words on the channels. You can define bad words for your channel using the BADWORDS command. Type /msg botserv help badwords for more information. ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated. We strongly recommend you don't enable this feature, use /mode #channel +G instead.
o CAPS: /msg botserv kick #channel caps {on|off} [ttb [min [percent]]]
Sets the caps kicker on or off. When enabled, this option tells the bot to kick users who are talking in CAPS. The bot kicks only if there are at least min caps and they constitute at least percent% of the total text line (if not given, it defaults to 10 characters and 25%). ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated.
o COLORS: /msg botserv kick #channel colors {on|off} [ttb]
Sets the colors kicker on or off. When enabled, this option tells the bot to kick users who use colors. ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated.We strongly recommend you don't enable this feature, use /mode #channel +U instead.
o FLOOD: /msg botserv kick #channel flood {on|off} [ttb [ln [secs]]]
Sets the flood kicker on or off. When enabled, this option tells the bot to kick users who are flooding the channel using at least ln lines in secs seconds (if not given, it defaults to 6 lines in 10 seconds). ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated. We strongly recommend you don't enable this feature, instead use our much improved Flood Protection. Please see the FAQ topic, How do I enabled Flood Protection for more information.
o REPEAT: /msg botserv kick #channel repeat {on|off} [ttb [num]]
Sets the repeat kicker on or off. When enabled, this option tells the bot to kick users who are repeating themselves num times (if num is not given, it defaults to 3). ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated.
o REVERSES: /msg botserv kick #channel reverses {on|off} [ttb]
Sets the reverses kicker on or off. When enabled, this option tells the bot to kick users who use reverses. ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated. We strongly recommend you don't enable this feature, use /mode #channel +U instead.
o UNDERLINES: /msg botserv kick #channel underlines {on|off} [ttb]
Sets the underlines kicker on or off. When enabled, this option tells the bot to kick users who use underlines. ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated. We strongly recommend you don't enable this feature, use /mode #channel +U instead.


* SAY: /msg botserv say #channel text
Makes the bot say the given text on the given channel.

* SET: Configures bot options. Option available are:
o DONTKICKOPS: /msg botserv set #channel dontkickops {on|off}
Enables or disables ops protection mode on a channel. When it is enabled, ops won't be kicked by the bot even if they don't match the NOKICK level. On by default, off not recommended.
o DONTKICKVOICES: /msg botserv set #channel dontkickvoices {on|off}
Enables or disables voices protection mode on a channel. When it is enabled, voices won't be kicked by the bot even if they don't match the NOKICK level. On by default, off not recommended.
o GREET: /msg botserv set #channel greet {on|off}
Enables or disables greet mode on a channel. When it is enabled, the bot will display greet messages of users joining the channel, provided they have enough access to the channel. Off by default.
o FANTASY: /msg botserv set #channel fantasy {on|off}
Enables or disables fantasy mode on a channel. When it is enabled, users will be able to use commands !op, !deop, !voice, !devoice, !kick, !kb, !unban, !seen on a channel (find how to use them; try with or without nick for each, and with a reason for some?). Note that users wanting to use fantasist commands MUST have enough level for both the FANTASIA and another level depending of the command if required (for example, to use !op, user must have enough access for the OPDEOP level.) On by default, off not recommended.
o SYMBIOSIS: /msg botserv set #channel symbiosis {on|off}
Enables or disables symbiosis mode on a channel. When it is enabled, the bot will do everything normally done by ChanServ on channels, such as MODEs, KICKs, and even the entry message. On by default, off not recommended.


* UNASSIGN: /msg botserv unassign #channel
Unassigns a bot from a channel. When you use this command, the bot won't join the channel anymore. However, bot configuration for the channel is kept, so you will always be able to reassign a bot later without have to reconfigure it entirely.




The following commands are only available to Services Admins:

* NOBOT: /msg botserv set #channel nobot {on|off}
This option makes a channel be unassignable. If a bot is already assigned to the channel, it is unassigned automatically when you enable the option.
* PRIVATE: /msg botserv set bot-nick private {on|off}
This option prevents a bot from being assigned to a channel by users that aren't IRC operators.
* BOT: Allows Services admins to create, modify, and delete bots that users will be able to use on their own channels. Note: if you create a bot that has a nick that is registered, it will be dropped. Also, if an user is currently using the nick, it will be killed.
o ADD: /msg botserv bot add nick username hostname realname
Bot add adds a bot with the given nickname, username, hostname and realname. Since no integrity checks are done for these settings, be really careful.
o CHANGE: /msg botserv bot change oldnick newnick username hostname realname
Bot change allows to change nickname, username, hostname or realname of a bot without actually delete it (and all the data associated with it).
o DEL: /msg botserv bot del nick
Bot del removes the given bot from the bot list.
o LIST: /msg botserv bot list
Bot list is an alias of BOTLIST and just lists all bots available on the network.

IRCOp Commands

* ADCHAT: /adchat message
Sends a message to all Admins.

* ADDMOTD: /addmotd message
Will add the given text to the end of the Motd.

* ADDOMOTD: /addomotd message
Will add the given text to the end of the OperMotd.

* CHATOPS: /chatops message
GLOBOPS is usually reserved for important network information. Therefore, for Oper Chat,CHATOPS was invented. IRCOps with the +c flag enabled will be able to send/receive CHATOPS messages.

* CHGHOST: /chghost nick host
Changes the hostname of a user currently on the IRC network.

* CHGIDENT: /chgident nick ident
Changes the ident of a user currently on the IRC network.

* CHGNAME: /chgname nick name
Changes the "IRC Name" (or "Real Name") of a user currently on the IRC network.

* CONNECT: /connect server port server
If only one server is given, it will attempt to connect the server you are ON to the given server. If 2 servers are given, it will attempt to connect the 2 servers together. Put the leaf server as the first, and the hub server as the second.

* DCCDENY /dccdeny filemask reason
Adds a DCCDENY for that filemask. Preventing that file from being sent. To remove a deny use /undccdeny filemask

* DIE: /die password
Kills the irc daemon, disconnecting all users currently on that server.

* GETINFO: /getinfo user/channel/server
Used on channels, users, or servers to get a dump of their aClient struct.

* GLINE: /gline user@host time to ban reason or /GLINE nick time to ban reason
"Bans" a hostmask from connection to the IRC server. Time to ban is either: a) a value in seconds, b) a time value, like '1d' is 1 day or c) '0' for permanent. Time and reason are optional, if unspecified set::default-bantime (default: 0/permanent) and 'no reason' are used. To remove a gline use /gline -user@host

* GZLINE: /gzline user@host time to ban reason or /GZLINE nick time to ban reason
Adds a global zline. Time to ban is either: a) a value in seconds, b) a time value, like '1d' is 1 day or c) '0' for permanent. Time and reason are optional, if unspecified set::default-bantime (default: 0/permanent) and 'no reason' are used. To remove a gzline use /gzline -user@host

* GLOBOPS: /globops message
Sends a global "message" to all IRCOps. Only viewable by IRCOps (unlike WallOps, which can be viewed by normal users).

* HOSTSERV: Allows the setting up of vHosts. NOTE: vHosts are only to be given out to VERY SPECIAL VIPs and are to be used VERY sparingly. Under no circumstances should vhosts using .mil, .gov, or any other official domains be assigned. Over use or abuse of the vhost system will result in removal of your oline and all vhosts set.
o DEL: /msg hostserv del nick
Deletes the vhost assigned to the given nick from the database.
o DELALL: /msg hostserv del nick
Deletes the vhost for all nick's in the same group as that of the given nick.
o LIST: /msg hostserv list key
This command lists registered vhosts to the operator if a Key is specified, only entries whos nick or vhost match the pattern given in key are displayed. e.g. Rob* for all entries beginning with "Rob" If a X-Y style is used, only entries between the range of X and Y will be displayed, e.g. 1-3 will display the first 3 nick/vhost entries.
o SET: /msg hostserv set nick hostmask
Sets the vhost for the given nick to that of the given.
o SETALL /msg hostserv setall nick hostmask
HostServ- of the given nick. * NOTE, this will not update the vhost for any nick's added to the group after this command was used.

* HTM: /htm option
Controls settings related to high traffic mode. High Traffic Mode (HTM) basically disables certain user commands such as: list whois who etc in response to extremely high traffic on the server. Options include:
o ON = Forces server into HTM
o OFF = Forces server out of HTM
o NOISY = Sets the server to notify users/admins when it goes in and out of HTM
o QUIET = Sets the server to NOT notify when going in and out of HTM
o TO value = Tell HTM at what incoming rate to activate HTM

* KILL: /kill user reason
Forcefully disconnects a user from an IRC Sever.

* KLINE: /kline user@host time to ban reason or /KLINE nick time to ban reason
Bans the hostmask from the server it is issued on. A kline is not a global ban. Time to ban is either: a) a value in seconds, b) a time value, like '1d' is 1 day or c) '0' for permanent. Time and reason are optional, if unspecified set::default-bantime (default: 0/permanent) and 'no reason' are used. To remove a kline use /kline -user@host

* LAG: /lag server
This command is like a Sonar or Traceroute for IRC server. You type in /LAG irc.fyremoon.net and it will reply from every server it passes with time and so on. Useful for looking where lag is and optional TS future/past travels.

* LOCOPS: /locops message
Similar to GLOBOPS, except only received by those IRCOps local to your server.

* MODULE: /module server
Lists all modules loaded.

* NACHAT: /nachat message
Sends a message to all Net Admins.

* OPER: /oper userid password
Command to give a user operator status if they match an Oper Block

* OPERMOTD: /opermotd
Displays the servers oper message of the day.

* REHASH: /restart server flags
Rehashes the servers config file. Including a server name allows you to rehash a remote servers config file. Several flags are also available. They Include
o -motd - Only rehash all MOTD and RULES files (including tld {})
o -opermotd - Only rehash the OPERMOTD file
o -botmotd - Only rehash the BOTMOTD file
o -garbage - Force garbage collection

* RESTART: /rehash server password
Kills and restarts the IRCD Process, disconnecting all users currently on that server. Password is required. You may also include a server name to restart a remote server.

* RPING /rping server
This will calculate the Lag (In milliseconds) between servers.

* SETHOST: /sethost new host
Lets an IRCOp change their own vhost to what ever they want it to be.

* SETIDENT: /setident new ident
Lets an IRCOp change their own ident to what ever they want it to be.

* SHUN: /shun user@host time to ban reason or /SHUN nick time to ban reason
Prevents a user from executing ANY commands and prevents them from speaking. Shuns are global (like glines). Time to ban is either: a) a value in seconds, b) a time value, like '1d' is 1 day or c) '0' for permanent. Time and reason are optional, if unspecified set::default-bantime (default: 0/permanent) and 'no reason' are used. To remove a shun use /shun -user@host

* SPAMFILTER: This command adds/removes global spam filters. Spamfilters can be used to get rid of spam, advertising, bots, etc.
o ADD: /spamfilter add type action tkltime reason regex
Adds the given nick or usermask to the Auto Kick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "You have been banned from the channel".
o DEL: /spamfilter del type action tkltime reason regex
Permanently bans the given mask on the channel. If someone tries to remove the ban, ChanServ will automatically set it again. You can't use it for registered nicks.
o REMOVE: /spamfilter remove type action tkltime reason regex
Cancels the effect of the AKICK STICK command, so you'll be able to unset the ban again on the channel.
o +: /spamfilter + type action tkltime reason regex
Removes the given nick or mask from the Auto Kick list. It does not, however, remove any bans placed by an Auto Kick; those must be removed manually.
o -: /spamfilter - type action tkltime reason regex
Displays the Auto Kick list, or optionally only those Auto Kick entries which match the given mask.
[type] specifies the target type, you can specify multiple targets.
o c = channel msg
o p = private msg
o n = private notice
o N = channel notice
o P = part msg
o q = quit msg
o d = dcc
[action] specifies the action to be taken (only 1 action can be specified).
o kill
o tempshun (only shun current session)
o shun
o kline
o gline
o zline
o gzline
o block (blocks the msg)
o dccblock (unable to send any dccs)
o viruschan (part all channels and join the virus help chan).
[regex] this is the actual regex where we should block on.
[tkltime] the duration of the *LINEs placed by action (use - to use the default set::spamfilter::ban-time, this value is ignored for block/tempshun).
[reason] the reason for the *LINE or blockmsg, CANNOT CONTAIN SPACES _ will be translated to spaces. Again, if you use - for this the default (set::spamfilter::ban-reason) is used.
A few examples:
o /spamfilter add p block - - Come watch me on my webcam
o /spamfilter add p block - Possible_virus_detected,_join_#help Come watch me on my webcam
o /spamfilter add p tempshun - - You_are_infected me\.mpg
o /spamfilter add p gline - - Come watch me on my webcam
o /spamfilter add p gline 3h Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam
o /spamfilter add p kill - Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam
o /spamfilter del p block - - Come watch me on my webcam*
o /spamfilter add cN gzline 1d No_advertising_please come to irc\..+\..+

* STATS: /STATS letter
Provides certain statistical information about the server (for example, u will provide uptime information).
Stat Flags:
o b = badword = Lists the badwords list
o B = banversion = Lists the ban versions
o C = link = Lists the link blocks (C/N:Lines, Servers to connect or accept connects from)
o D = denylinkall = Lists the current deny link (all) block list (D:Lines, Disallow Lines-Oper & Server Orig Connects)
o d = denylinkauto = Lists the current deny link (auto) block list (d:Lines, Disallow Lines-Autoconnects)
o e = exceptban = Lists the current except ban block list (e:Lines, Proxy scan exempt IPs)
o E = exceptthrottle = Lists the current except throttle block list (E:Lines, K:Line Exceptions)
o F = denydcc = Lists the current deny dcc block list
o f = spamfilter = Lists the current spamfilter list
o G = gline = Lists all the current G:Lines (Banned hosts)
Extended flags: [+/-mrs] [mask] [reason] [setby]
+ m = Return glines matching/not matching the specified mask
+ r = Return glines with a reason matching/not matching the specified reason
+ s = Return glines set by/not set by clients matching the specified name
o H = Lists all the current H:Lines (Hub Lines) & L:Lines (Leaf Lines)
o I = allow = Lists the current the allow block list (I:Lines, Client auth Lines)
o j = officialchans = Send the official channels list
o K = kline = Lists the current the ban user/ban ip/except ban block list (K:Lines, Z:Lines, E:Lines, Banned hosts/IP)
o l = linkinfo = Send link information
o L = linkinfoall = Information about current server connections
o M = command = Send list of how many times each command was used
o m = Gives the Server command list
o n = banrealname = Lists the current the ban realname block list
o N = Lists the Network Configuration report
o O = oper = Lists the current oper block list (O:Lines, IRC Operator Lines)
o P = port = Send information about ports
o Q = bannick = Lists the current ban nick block list (Q:Lines, Forbidden Nicks)
o q = sqline = Lists the SQLINEed Nicks
o r = chanrestrict = Lists the channel deny/allow block list
o R = usage = Send usage information
o S = set = Send the set block list
o s = shun = Send the shun list
Extended flags: [+/-mrs] [mask] [reason] [setby]
+ m Return shuns matching/not matching the specified mask
+ r Return shuns with a reason matching/not matching the specified reason
+ s Return shuns set by/not set by clients matching the specified name
o t = tld = Send the tld block list
o T = traffic = Send traffic information
o U = uline = Lists the current ulines block list (U:Lines, Usually Services)
o u = uptime = The server uptime and connection count
o v = denyver = Lists the current deny version block list (V:Lines, Version Deny)
o V = vhost = Send the vhost block list
o W = Gives the current Server Load
o X = notlink = List of servers that are not current linked
o Y = class = Lists the current class block list (Y:Lines, Connection classes)
o Z = mem = Send memory usage information
o z = zip = Send compression information about ziplinked servers (if compiled with ziplinks support)

* SQUIT: /squit server
Disconnects a server from the network.

* TEMPSHUN /tempshun +nick reason
Temporary shuns are shuns added on a specified target for the current session only, this means if the user reconnects the shun will be gone. To remove a tempshun use: /tempshun -nick

* TRACE: /trace server or /trace nick
When used on a user it will give you class and lag info. If you use it on a server it gives you class/version/link info.

* UNGLINE: /ungline hostmask
Removes a g:line from the server.

* UNZLINE: /unzline ip
Removes a currently active z:Line.

* WALLOPS: /wallops message
Sends a "message" to all those with the umode +w. Only IRCOps can send wallops, while anyone can view them.

* ZLINE: /zline *@ip time to ban reason or /ZLINE nick time to ban reason
Bans an IP Address from the local server it is issued on (not global). See kline for more syntax info. Time to ban is either: a) a value in seconds, b) a time value, like '1d' is 1 day or c) '0' for permanent. Time and reason are optional, if unspecified set::default-bantime (default: 0/permanent) and 'no reason' are used. To remove a zline use /zline -*@ip

How to add multiple network in PSYBNC?

/addnetwork EF

/addserver EF'irc.efnet.net :6667

/join #EF'#chan

then you can use multiple networks with one user

How to link two servers with unrealircd?

Server One
Open up your unrealircd.conf file in your favourite text editor (pico -w unrealircd.conf if you're using SSH) and go to the listen block (normally starting around line 383). Add this line:

listen serveroneip:12345
{
options
{
serversonly;
};
};

You must replace your ip with the IP that your IRCd provider gave you. This line tells UnrealIRCd to listen for connections from servers only (no clients) on port 12345. As a rule, I like to use a 5 digit port somewhere between 10000 and 65535 (for this tutorial I will use port 12345).

Now we'll need to edit your link block. This is the block after the block that we just put our listen information into; about 40 lines down. This is where we tell UnrealIRCd that another server will be connecting, and that UnrealIRCd should authorize the connection. Add the following block:

link two.server.com
{
username *;
hostname servertwoip;
bind-ip *;
port 12345;
leaf *;
password-connect "anything10";
password-receive "anything20";
class servers;
options {
autoconnect;
};

Great, now lets explain what each part means. The top, after the word link, just defines the hostname of the server you're trying to link; this will displayed if you type /map, /links or if you /whois somebody on that server. After username, you'll find the port, this must be the same as what we specified in the listen block above. The next line down can either be 'hub' or 'leaf', since we're editing the server one's config file, and server one is the hub, we'll put server two as a leaf. Below that line, we have the two passwords; connecting and receiving. Normally these two passwords are the same, but we'll make them different for this tutorial just in case you'd like to. Below we define the class, as we're linking a server we'll keep it at that, and we'll tell UnrealIRCd to try to autoconnect to this server. You don't have to include this option, but I find it useful.

Start your server, check it works ... and now on to server two!

Server Two
Open up your unrealircd.conf file in your favourite text editor (pico -w unrealircd.conf if you're using SSH) and go to the listen block (normally starting around line 383). Add this line:

listen servertwoip:12345
{
options
{
serversonly;
};
};

You must replace yourip with the IP that your IRCd provider gave you. This line tells UnrealIRCd to listen for connections from servers only (no clients) on port 12345. As a rule, I like to use a 5 digit port somewhere between 10000 and 65535 (for this tutorial I will use port 12345).

Now we'll need to edit your link block. This is the block after the block that we just put our listen information into; about 40 lines down. This is where we tell UnrealIRCd that another server will be connecting, and that UnrealIRCd should authorize the connection. Add the following block:

link one.server.com
{
username *;
hostname serveroneip;
bind-ip *;
port 12345;
hub *;
password-connect "anything20";
password-receive "anything10";
class servers;
options {
autoconnect;
};
};

Most of this block is the same for the block in server one, but there are a few differences. On the first line, we define the hostname of the hub server, server one in this case. On the hostname line, we put the IP address of server one, as this is the IP address that server two will try to connect to. On the port line, we put the same port that we have defined in the listen blocks on both server one and server two, in this case 12345. On the next line, you'll noticed we've changed 'leaf', what we had on server one, to 'hub'. This is because we're connecting to server one this time, which is a hub. When we wrote the block on server one, we were connecting to server two, which is a leaf server. Below this line, we have the two password lines, you'll notice that the passwords are now around the other way, as the password-connect line on server two communicates with the password-receive line on server one. Once again, we have the autoconnect option enabled just for ease of use.

Start this server ... connect to the hub, type /map and make sure both servers are displayed there.

That's all done! You now have a true IRC network.

How to setup PSYBNC

1) "wget http://www.psybnc.at/download/beta/psyBNC-2.3.2-7.tar.gz"
2) "tar -zxvf psyBNC-2.3.2-7.tar.gz"
3) "cd psybnc"
4) "make menuconfig"
5) Edit config - bouncer settings and set a port for your bnc to listen to. (port must be above 1024) - Exit the graphical config menu.
6) "make"
7) "./psybnc"

How to setup Anope

- Download Anope - Download the Anope

- Now Type: cd anope-1.7.19


- Now Type: ./configure

Otherwise, we will type:

./Config

- During configuration, the program may require additional options to be set, such as location of libmysql and includes.

Follow all the onscreen instructions, telling the program where you want to install, your IRCD type, and what additional features you want to enable. Once this is complete, we need to type:

- make followed by make install

If there are no errors, and services compile and install successfully, we can move onto Configuring Anope's config file.

Ok, so you have your installation of Anope. Now comes probably the most important part, you MUST get this right, or the services may not run as you expect, or at the worst, not at all. So lets get started by getting back to your services root directory:

cd ~/services - Or the directory you installed Anope into.

The configuration files name is services.conf and you need to now open this and configure it to your services needs. When Anope is first installed, services.conf doesn't exist, So:

cp example.conf services.conf

This will copy the default, example config file to services.conf, the file that Anope reads in. Now we can move onto editing it:

pico services.conf - You can substitute pico for your prefered text editor, for example, nano/vi/vim/joe/emacs etc.


-------------------------------------------------------------------------------------

If this is your first time editing a config file, then take this warning:

READ EVERYTHING CAREFULLY

We cannot stress enough that everything that you are using needs to be read and understood before being used.

-------------------------------------------------------------------------------------
The config file is explained with comments throughout, so it shouldn't be too much trouble, but below, there are a few examples of how to do it if you are unsure.

If you haven't taken notice of the first area below, then you should of done. This will help you to understand what you do and don't need and what is optional etc.

# [REQUIRED]
# Indicates a directive which must be given. Without it, Services will
# not start.
#
# [RECOMMENDED]
# Indicates a directive which may be omitted, but omitting it may cause
# undesirable side effects.
#
# [OPTIONAL]
# Indicates a directive which is optional. If not given, the feature
# will typically be disabled. If this is not the case, more
# information will be given in the documentation.
#
# [DISCOURAGED]
# Indicates a directive which may cause undesirable side effects if
# specified.
#
# [DEPRECATED]
# Indicates a directive which will disappear in a future version of
# Services, usually because its functionality has been either
# superseded by that of other directives or incorporated into the main
# program.



The first thing you come across in the config is the server linking configuration, which is covered in more depth in the 'linking tutorial'.


RemoteServer localhost 6667 "mypass"
#RemoteServer2 localhost 6667 "mypass"
#RemoteServer3 localhost 6667 "mypass"



The top one is the one you use. If your services are going to connect to another server, then uncomment the other one or two, depending.

(Comment is the # at the start of the line - means that line is ignored, unless removed)

Normally, you can leave the host as localhost (ie. if you run services on the same box as the IRCD). If you are unsure of your IP, consult your ISP or Service Provider. The port MUST be the LISTENING port for SERVERS on your IRCD. If this is incorrect, you will receive errors such as "Connection Refused", or "Unable to Connect". The password should be a unique password. This prevents unauthorized servers from connecting, and this should be the same as the RECEIVE password in the IRCD Config File.

If the services you are running need to connect to another seperate server, then use the address of the server like this:

It's always recommended that you use an IP Address in the field below.

RemoteServer 192.168.0.2 6667 "mypass"

-------------------------------------------------------------------------------------

Hints and tips for setting up:

Right, now you have that setup just a few hints and tips when creating your configuration:

1. Make sure you always edit any option with [REQUIRED] next to it. One of the most important is ServicesRoot. Make sure you put YOUR nickname, and the nicknames of any other ServicesRoot's you want here, seperated by a space.

PLEASE NOTE: You MUST register the ServicesRoot nicknames, otherwise any user may be able to gain ServicesRoot access. It is also recommended that the number of ServicesRoot's is kept to a minimum. You can add Services Admin's via OperServ later.

2. Always make sure, and sure again that you have made all the changes you need to suit your particular setup. If you don't this could impare your services full abilities to do their jobs.

3. When modifying a line, whether required or not, if you want that line to be a part of the config, you need to make sure you remove the comment (#) at the start of the line. If you don't that line will be ignored by the services.

4. Important: again, when modifying a line, always make sure you edit it completely, never half-edit a line if its not suitable for your setup.

5. Always make sure that you reload the config file after changes if the services are running, otherwise - they will NOT take effect!

-------------------------------------------------------------------------------------

So, thats about it. The config lines are explained anyway in reasonable depth, so you shouldn't have too much trouble. Of course, if you do need support check the main website. Our next step is to make our IRCD recognise Anope..

-------------------------------------------------------------------------------------

The next step in our journey is to make the IRCD recognise that Anope is a friendly server, and allow it to connect up to the IRC Server. The way we do this, is via Link Blocks.

If you are unsure of how to make a link block, please Click Here for a Link Maker

First thing, is to open the IRCD Configuration file, to do this, type:

pico unrealircd.conf - Or another suitable text editor (nano/vi/vim/joe/emacs/mcedit etc.)

You will now need to place YOUR link blocks, which should look like this:

link [services-name]
{
username [username];
hostname [services-ip];
port [services-port|*];
bind-ip [bind-ip];
password-connect "[password]";
password-receive "[password]";
class [class];
};

ulines {
[services-name];
};

into your configuration file. Either copy and paste them to the file, or copy them VERY CAREFULLY. One single typo could cause the servers not to link.

Once the information is in the file, you need to save it, and then rehash your IRCD. You can rehash by going onto IRCD, identifying yourself as an operator (via /oper), and then typing:

/rehash - If you are remote rehashing, you may wish to try: /rehash irc.server.net - Where irc.server.net is the server you wish to rehash

Once the configuration file is reloaded, you can check that everything is alright, by typing the following in IRC:

/quote stats c

You should see a list of your IRCD link blocks, one of which should say the address of your services. If it doesn't, try repeating this step. If it does, congratulations, you may now move onto the last step..

-------------------------------------------------------------------------------------
Right, so now you have everything setup, your config is sorted and you are ready to go. Whats next you ask? Well, now all you have to do is start Anope!

Lets get started with going to the services directory. So, type:

cd ~/services - Or the directory you installed your services to.

Now you should be back in your main Anope directory. To run the services, simple type:

./services

If you aren't already, connect to your IRC Server and check that the services are there. (/whois ChanServ for example)


Hope this helps you

Download Anope

Popular services for IRCD's.

Download Anope 1.7.18

DownLoad NeoStats

Statistics program for IRCD's.

Download Neostats:

How to Fix MAXCONNECTIONS

f your getting this error:

The OS enforces a limit on max open files
Hard Limit: 100 MAXCONNECTIONS: 1024
Fix MAXCONNECTIONS

You need to type "make clean" and re-run your config script.
usually ./configure
Unreal is ./Config

When it asks about the max file descriptors the IRCd may use enter the value shown in the error above as "Hard Limit" in this example it is 100

You must now recompile your ircd
make
or
make install

How to install ircu ircd server?

- First of all we need to download ircu on shell.
To download type: wget http://downloads.sourceforge.net/ircu/ircu2.10.10.tar.gz?modtime=1067990400&big_mirror=0

- Now we need to untar the downloaded file, for that type: tar -zxvf ircu2.10.10.tar.gz

- Now change directory to ircu2.10.10 by typing: cd ircu2.10.10

- Now type: ./configure

To see the various ways
in which you can customize your installation, run.

type: ./configure --help

The configure process will check your environment and prepare itself for compiling the source code. If one or more of the prerequisites cannot be found, configure will terminate with an error. You will need to resolve this and run configure again.

If configure runs without error(s), you are ready to compile.

- To compile ircu, type: make


- Once ircu is compiled, install it by typing: make install

- Next, you will have to configure your IRC server by setting up your ircd.conf file. Use the included doc/ircd.conf.sample as a starting point. Setting up ircd.conf can be a bit tricky, so if this is your first time doing it, begin with a bare-bones configuration and extend it as you go.

If you are upgrading from ircu2.10.10, use the tools/transition script to convert your existing configuration file(s).

Hope this helps You !!!

How to setup Eggdrop?

- Download eggdrop1.6.18.tar.gz in your shell:

to download type: wget ftp://ftp.eggheads.org/pub/eggdrop/source/1.6/eggdrop1.6.18.tar.gz

- then type: tar -zxvf eggdrop1.6.18.tar.gz

- then type: cd eggdrop1.6.18

- then type: ./configure

- then type: make config (compiles all modules) or make iconfig (allows you to select the modules to compile).

- then type: make

- then type: pico -w egg.conf

- now copy and paste the following lines in it:

set username _______ # replace with anything you want
set admin "________ " # replace with anything you want
set owner ________ # replace with anything you want
set nick "_______" # replace with botnick you want

set timezone "CET"
set offset "-1"

set realname "Real name" # replace with anything you want
set my-ip "66.252.13.2" # replace with vhost ip what ever you want to select.
listen 13381 all # it is the bot telnet port, you can telnet on this port and control the bot

##### LOG FILES #####

set network EFnet #make it dalnet if you want to connect the bot to dalnet or undernet etc.
addlang english

set max-logs 5
set max-logsize 0
set quick-logs 0
set raw-log 1
set log-time 1
set keep-all-logs 0
set logfile-suffix ".%d%b%Y"
set switch-logfiles-at 300
set quiet-save 1

##### CONSOLE #####

set console "mcobxs"

##### FILES AND DIRECTORIES #####

if {![file isdirectory $nick]} {
catch { exec mkdir $nick }
}

foreach file {user chan note pid} {
if {[file isdirectory $nick]} {
set ${file}file $nick/${file}file
} else {
set ${file}file $nick.${file}
}
}

set sort-users 1
set help-path "help/"
set text-path "text/"
set temp-path "/tmp/"

foreach path {help text temp} {
if {![info exists $path-path]} {
catch { exec mkdir $path-path }
}
}
set motd ""
set telnet-banner ""
set userfile-perm 0600

##### BOTNET/DCC/TELNET #####

set botnet-nick $nick
set remote-boots 1
set share-unlinks 1
set protect-telnet 0
set dcc-sanitycheck 0
set ident-timeout 5
set require-p 1
set open-telnets 0
set stealth-telnets 1
set use-telnet-banner 0
set connect-timeout 15
set dcc-flood-thr 3
set telnet-flood 5:60
set paranoid-telnet-flood 1
set resolve-timeout 15

##### MORE ADVANCED SETTINGS #####

set ignore-time 15
set hourly-updates 00
set notify-newusers ""
set default-flags ""
set whois-fields ""
set die-on-sighup 0
set die-on-sigterm 1

bind dcc n tcl *dcc:tcl
bind dcc n set *dcc:set

set must-be-owner 1
set max-dcc 50
set allow-dk-cmds 1
set dupwait-timeout 5

##### MODULES #####
set mod-path "modules/"

loadmodule dns
loadmodule channels

set force-expire 0
set share-greet 1
set use-info 1

set global-flood-chan 5:1
set global-flood-deop 2:1
set global-flood-kick 3:10
set global-flood-join 5:60
set global-flood-ctcp 3:60
set global-flood-nick 5:60
set global-aop-delay 5:30
set global-idle-kick 0
set global-chanmode ""
set global-stopnethack-mode 0
set global-revenge-mode 0
foreach var {ban exempt invite} {
set global-$var-time [expr {60 + [rand 60]}]
}

set global-chanset {
-autoop -autovoice
-bitch +cycle
+dontkickops +dynamicbans
+dynamicexempts +dynamicinvites
-enforcebans +greet
-inactive -nodesynch
-protectfriends +protectops
-revenge -revengebot
-secret -seen
+shared -statuslog
+userbans +userexempts
+userinvites -protecthalfops
-autohalfop
}

#### SERVER MODULE ####

loadmodule server
set net-type 0
set altnick [string range $nick 0 7]\

bind evnt - init-server evnt:init_server

proc evnt:init_server {type} {
global botnick
putquick "MODE $botnick +i-ws"
}

set default-port 6667

# Replace the below server list with servers of your network, it should be fine for efnet.
set _servers {
"irc.torix.ca:6667"
"irc.isdnet.fr:6667"
"efnet.skynet.be:6667"
}

while {[llength $_servers]} {
set index [rand [llength $_servers]]
lappend servers [lindex $_servers $index]
set _servers [lreplace $_servers $index $index]
}

set keep-nick 1
set strict-host 1
set quiet-reject 1
set lowercase-ctcp 0
set answer-ctcp 3
set flood-msg 5:60
set flood-ctcp 3:60
set never-give-up 1
set server-cycle-wait 30
set server-timeout 30
set servlimit 0
set check-stoned 1
set serverror-quit 1
set max-queue-msg 300
set trigger-on-ignore 0
set double-mode 0
set double-server 0
set double-help 0
set optimize-kicks 1
set stack-limit 4

#### CTCP MODULE ####

loadmodule ctcp
set ctcp-mode 0

#### IRC MODULE ####

loadmodule irc
set bounce-bans 1
set bounce-modes 0
set max-bans 20
set max-modes 30
set kick-fun 0
set ban-fun 0
set learn-users 0
set wait-split 600
set wait-info 60

set mode-buf-length 200
set no-chanrec-info 0

### IRC MODULE - IRCnet SPECIFIC FEATURES (net-type 1) ###

set bounce-exempts 0
set bounce-invites 0
set max-exempts 20
set max-invites 20
#set use-exempts 0
#set use-invites 0
set prevent-mixing 1

### IRC MODULE - OTHER NETWORKS (net-type 5) ###

#set kick-method 1
#set modes-per-line 3
#set include-lk 1
#set use-354 0
#set rfc-compliant 1

#### TRANSFER MODULE ####

loadmodule transfer
set max-dloads 3
set dcc-block 0
set copy-to-tmp 1
set xfer-timeout 30

#### SHARE MODULE ####

loadmodule share
set allow-resync 0
#set resync-time 900
#set private-global 0
#set private-globals "mnot"
#set private-user 0
#set override-bots 0

#### COMPRESS MODULE ####

loadmodule compress
set share-compressed 1
set compress-level 9

#### FILESYSTEM MODULE ####

#loadmodule filesys
set files-path "/home/mydir/filesys"
set incoming-path "/home/mydir/filesys/incoming"
set upload-to-pwd 0
set filedb-path ""
set max-file-users 20
set max-filesize 1024

#### NOTES MODULE ####

loadmodule notes
set max-notes 50
set note-life 60
set allow-fwd 1
set notify-users 0
set notify-onjoin 0

#### CONSOLE MODULE ####

loadmodule console
set console-autosave 1
set force-channel 0
set info-party 0

#### BLOWFISH MODULE ####

checkmodule blowfish

##### SCRIPTS #####

source scripts/alltools.tcl
source scripts/action.fix.tcl


- Now Save the file, to save type: ctrl + x

- Now once it is saved, it's time to start the eggdrop, type: ./eggdrop -m egg.conf

I hope this tutorial helps.

How to Install Unreal Ircd

Hopefully you have already downloaded the source. If not, you can find it here: http://www.unrealircd.com. After you have downloaded that, fire up your favorite ftp client and upload it to the root directory of your shell. You could also get the source by using lynx or wget. Example wget command:

The next step is to decompress this file (.tar.gz is kinda like a .zip file for all you windoze ppl out there). To do this, type:

tar zxvf Unreal3.2.3.tar.gz

Notice that it's case-sensitive. Everything in unix is case-sensitive. Keep that in mind for everything in the future. You can now remove the file you downloaded with the following command:

rm Unreal3.2.3.tar.gz

Now that we've untarred our UnrealIRCd file, we need to move to that directory:

cd Unreal3.2

And now that we're in the Unreal directory, we need to run the configuration wizard:

./Config

So we've got the script running. The first thing you're greeted with is the release notes for Unreal 3.2.3, now this is a lot of reading, and isn't really necessary, so just press enter once, then spacebar until you see:
==[ ADDITIONAL INFO ]==
* See ChangeLog
[Enter to continue]

Press enter and you'll be greeted with the first question.

Do you want to enable the server anti-spoof protection?
[No] ->

I've never actually come across a server that uses this, so just press enter to move on to the second question.

What directory are all the server configuration files in?
[/usr/local/username/Unreal3.2/] ->

Well we haven't changed the directory, so just press enter to move on to the third question.

What is the path to the ircd binary including the name of the binary?
[/usr/local/username/Unreal3.2/src/ircd] ->

Again, we haven't changed this path, so just press enter to move on to the fourth question.

Would you like to compile as a hub or as a leaf?
Type Hub to select hub and Leaf to select leaf.
[Hub] ->

If you're not going to link your server to any other IRC servers, just press enter. However, if you are going to link your server to another IRC server, and this server is going to be a leaf on that network, type 'Leaf' and press enter. If you are linking your server to another IRC server and your server will be the Hub, just press enter.

What is the hostname of the server running your IRCd?
[vortex.sh3lls.net] ->

This question has already been answered for you by the configuration script, so just press enter to move on to the next question.

What should the default permissions for your configuration files be? (Set this to 0 to disable)
It is strongly recommended that you use 0600 to prevent unwanted reading of the file
[0600] - >

The default value for this question is the one you should use, so just press enter.

Do you want to support SSL (Secure Socket Layer) connections?
[No] ->

Not many servers use this method of connection, and I doubt you will need to, and if you did, you'd know if you did, so just press enter to move on.

Do you want to enable IPv6 support?
[No] ->

You definitely don't need this feature, so just press enter to move on to the next question.

Do you want to enable ziplinks support?
[No] ->

You don't really need this feature either, and if you did, you'd know you did (sound familiar?) so press enter.

Do you want to enable remote includes?
[No] ->

You don't really need this, so just press enter to move on to the next question. Getting monotnous now isn't it? Hang in there.

Do you want to enable prefixes for chanadmin and chanowner?
This will give +a the & prefix and ~ for +q (just like +o is @)
Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient, PJIRC, etc.) with the notable exceptions of irssi, KVIrc and CGI:IRC.
This feature should be enabled/disabled network-wide.
[No] ->

Well now, this is a nice feature. It pretty much explains itself though... If you have registered the channel, you will be ~yournick instead of @yournick in the channel, and anyone who you have added to the SOP list, or who is +a in the channel, will be &theirnick instead of @theirnick. Either type 'Yes' if you want to enable this feature, or just press enter if you don't want it.

What listen() backlog value do you wish to use? Some older servers
have problems with more than 5, others work fine with many more.
[5] ->

This value doesn't need to be edited, so press enter to move on to the next question.

How far back do you want to keep the nickname history?
[2000] ->

This value doesn't need to be edited either, so press enter to move on.

What is the maximum sendq length you wish to have?
[3000000] ->

You guessed it, you don't need to edit this either. Press enter to move on to the next question.

How many buffer pools would you like?
This number will be multiplied by MAXSENDQLENGTH.
[18] ->

And yet again ... just press enter to move on.

How many file descriptors (or sockets) can the IRCd use?
[1024] ->

You do need to change this value (wahey!), to however many users are allowed to connect to your IRCd.

Would you like any more parameters to configure?
Write them here:
[] ->

No, we don't want to configure anything else, so just press enter and sit back while it compiles itself. You might be thinking that there were a lot of questions that you didn't need to answer, but some networks do, so don't worry any more about that.

After that has finished compiling (it should take about a minute) you'll see the following message amongst some fancy borders and other information:

Now all you have to do is type 'make' and let it compile. When that's done, you will receive other instructions on what to do next.

Hey, this script is taking over my job, telling you what to do! Okay then, just type 'make' and ... let it compile, this should take a little longer than it did last time. When it's finished, you'll see a message beginning with:

Compile is now complete. You should now read the documentation and learn how to configure your IRCd as it is out of scope as you have to configure it as per your requirements, all networks have different requirements.

After you have edited unrealircd.conf, you can start Unreal from your shell. In the Unreal3.2 directory, type the following command:

./unreal start

If you receive no errors, you should now be able to connect to your IRCd!