IRCXpro v1.2 Technical Manual

SUMMARY

This article describes how to configure your chat server, connecting to your server, securing your chat server, trouble shooting, (IRC) commands, Extensions to the Internet Relay Chat Protocol (IRCX) commands and setting up a Java IRC client for your chat server and frequently ask questions.

TABLE OF CONTENTS

1. Introducing IRCXpro Server ...... 2 2. Configuring your chat server 2.1 Connection Monitor ...... 3 2.2 General Settings ...... 3 2.3 Client Rules ...... 4 2.4 Operators ...... 8 2.5 Operator Groups ...... 9 2.6 Security ……………...... 11 2.7 Advanced Security ...... 12 2.8 Miscellaneous ...... 14 2.9 Port Scanner ...... 15 2.10 Version Checker ...... 16 2.11 Filtering ...... 17 2.12 Channels ...... 18 2.13 Channels Advanced...... 22 2.14 Nicknames ...... 22 2.15 News Flashes ...... 23 2.16 Memorandum Services ...... 24 2.17 Transcripts ...... 24 2.18 Messages ...... 25 2.19 Server Linking...... 25 3. IRC Command Reference ...... 27 4. Channel Modes …...... 41 5. User Modes ...... 46 6. Frequently Asked Questions ...... 50

- 1 - 1. Introducing IRCXpro Server

IRCXpro is an Internet Relay Chat Server (IRC) that supports the Extensions to the Internet Relay Chat Protocol (IRCX). Features and services provided make administration easy and more effective then ever before. The security and reliability makes the chat experience for your users a more enjoyable one.

Administration

Administering your chat server is done through the Remote Control utility. This utility can be used to connect locally or remotely allowing you to run your chat server at one place and administering it anywhere.

Security

Securing your chat server has never been so easy. It is no fun for your clients or for yourself having to deal with people trying to flood the server with text messages or trying to disrupt other users.

Here are some of the security features provided.

• Multiple Connection Limit • Connection Throttling • Server / Channel Attack Protection • Client Rules • Local and Network Wide bans • In/Out Flood Detection • IP/DNS Masking • IP Spoof Protection • Insecure Proxy Scanner • Version Checker • Message Filtering • And much more...

Compatibility

This chat server supports IRC and IRCX commands defined by the Request for Comment (RFC) 1459 specification.

• Commands defined by RFC 1459 standard • Commands defined by the extension to RFC 1459 referred to as Extensions to the Internet Relay Chat Protocol (IRCX)

IRCX commands can only be used if the ‘Server is IRC only’ option is disabled.

- 2 - Here are some of the following chat clients we have tested:

• mIRC • PIRCH • Klient • TurboIRC • Microsoft Chat • Microsoft V-Chat

2. Configuring your chat server

You need to use the Remote Control utility provided to configure your chat server. You can access this in two ways. If running as an NT Service you can simply click the IRCXpro shortcut in the Start Menu otherwise double click the IRCXpro icon in the system tray. This will automatically start the Remote Control utility and log you in.

2.1 Connection Monitor

This is the first screen on the Remote Control utility. Here you will be able to monitor the number of users and servers connected, how many channels are open, server processor usage (total usage on the machine) and server uptime. From this screen you also have the ability to stop the chat server using the button next to Server Status (this will stop the chat server but continue to accept Remote Control connections)

2.2 General Settings

Server Name – This is the field you enter the hostname that resolves on the Internet or Intranet to your server.

Obtain – This button takes you to the DNS Manager where you can request a free sub domain of [something].ircxpro.com. If you register a sub domain, this sub domain will always point to your chat server. IRCXpro automatically updates DNS whenever it starts up or a dial-up connection is established. This is ideal for administrators who don’t own a domain name or ones which have a dynamic IP Address.

Network Name – This field is used for specifying your network name, if your server is part of a network.

Description – The first description box is where you would enter a short mission statement, the second box is used typically for the geographical location of your server.

Contact Info – The administrator contact name and URL or email address is normally entered in this field.

Ports – The ports your server will listen on separated by commas.

- 3 - Only this IP – You can bind the chat server to a single IP address if the system running the IRC server has multiple addresses. If you require specifying different IP addresses on different ports click the Bindings button.

Ping Frequency – How often the server will send pings to make sure the connection still exists.

Keep Connection Alive – Prevents long connections from timing out in case of inactivity.

Limit clones – Clones are multiple users from the same address. These are sometimes harmless like a Cyber-Cafe and other times they can be malicious.

Limit connections – How many users may be connected on this chat server before it is considered full and cannot be used until someone disconnects.

Connection backlog – This is the maximum number of connections allowed to wait to establish a connection.

Enable DNS Lookups – Clients reverse DNS address will appear rather then their IP address.

Enable Connection Throttling – Connections will be throttled to prevent users from reconnecting too quickly to the server.

Enable Abrupt Disconnects – Forces an abrupt (hard) disconnection instead of connections being terminated gracefully.

Server is IRC only – This will disable the Extensions to the Internet Relay Chat Protocol (IRCX). We recommend you keep this option turned off.

2.3 Client Rules

Client rules allow you to treat clients differently based on their addresses. This can be useful in a number of ways, for example you can greet clients in a different language based on their domain or restrict a whole ISP if you have been receiving a lot of trouble from their users. The chat server will go through each rule in the order from the top, down until the server finds a match. If the user fits no client rule then the server does not allow the connection (if no client rules exist then the server will accept any connection). Client rules can be added, modified and deleted from this screen.

Selection

Class Name – The name you wish to call your class

Default Class – Tick here to make this rule the default one. This can be used to link the MOTD from other rules back to this one so you only need to maintain one copy.

Description – Here you can enter a brief description of the purpose of this rule.

- 4 -

Start Time & Stop Time – The time window in which this class is enabled for.

Client Protocol – Here you can select the Protocol for which the client is using.

Logon Mode – Here you can select if the user has been authenticated (for example a successful Ident Server lookup)

Only reverse DNS connections – This can be used to select only users who have a reverse DNS on their IP address.

Masks – This is where you can enter the masks of the clients you are trying to apply this rule for if the above has selected them. (if no masks are supplied, this will select anyone)

Supported Masks

@@:@$@$:

Wildcards can be used in Masks

MOTD

This is the place you enter the Message of the Day for your clients (/MOTD). The message of the day can be pasted in here and formatted using the Text Editing toolbar. (The majority of chat clients support color / text formatting)

Use Default Class – If you do not want to duplicate your message of the day, you can use this option and the clients will see the MOTD stored on the default class instead.

Constraints (only applies to clients selected by this rule)

Attack Protection – Creates an artificial delay (in seconds) before the server will process the next message.

Messages Invitation Join Wrong Messages Password (with host) Low 1 2 2 2 1 Medium 2 4 3 4 1 High 3 5 4 5 2

- 5 - Restrictions

Cannot Log on – Cannot connect to the server Cannot Create Dynamic Channels – Cannot create an unregistered channel. Cannot Join Dynamic Channels – The clients can only join registered channels. Cannot be Owner/Host in Channel – The clients cannot be given control of a channel. Cannot Change Nickname – The clients cannot change their nickname during their session. Cannot Send Private Messages – The clients can only send messages to channels. Cannot Send Receive Messages – The clients cannot receive messages sent from users allow to sending private messages.

Maximum Channels – The maximum number of channels a client can join at once.

Class Connection Limit – How many users may be connected on this class before it is considered full.

Nickname Delay – The number of seconds a client must wait before they can change their nickname again.

Password Protected – Here you can password protect your server. If you keep the Class Password blank this will allow clients to connect without a password otherwise you enter it here. Instead of a password you could select Registered Nickname. This means that clients can only connect if they own a registered nickname.

Modes

Use IP Address for identify – Use this option if you prefer the server to display their IP address instead of a hostname for clients in this class.

Authenticate Class Members – Here you can make clients who are selected by this class authenticated. You could use this to allow selected members to join channels that only allow authenticated members.

Static Domain – If you enter a domain name here, this will replace hostname of the clients.

- 6 - Initial Modes

Initial Language – If you know the clients selected by this rule speak a specific language you can select this language from the dropdown list. This will inform other clients that this person prefers to speak the selected language in a WHOIS lookup.

Does not wish to send or receive DCC – This will disallow the clients to chat peer to peer or send files. Does not wish to send or receive CTCP – This will disallow the clients to send or receive client software queries. Invisible to users outside of channels – This will prevent the user from showing up in WHO and NAMES queries. (useful to prevent users from receiving spam) Filter private messages being received – This will block any messages being received that contain any forbidden words specified in the filters.

Other Modes – This is used to force specified modes on clients. These can be unset unless they are locked.

Lock Modes – This is used to force specified modes on clients that cannot be changed. (for example using +i would mean they can’t remove this mode or using -i means they can’t set it).

During Log on

Alternate Welcome – This will alternate the Welcome Message selected to ‘Welcome to the [description]’. Send LUSERS – This will automatically send the LUSERS command upon connection. Send MOTD – This will automatically send the MOTD command upon connection. Auto Join Channels – Enter a channel name here if you want your clients to join it on connection. Multiple channels can be specified by using commas.

Services Registration

Cannot Register Nicknames – If you are providing nickname registrations, having this option on will block them from registering new nicknames. Cannot Register Channels – If you are providing channel registrations, having this option on will block them from registering new channels.

- 7 - 2.4 Operators

Operators help control your server and moderate your clients. Operators control the server with special commands which kill (break connections of) users who are violating policy or are attempting to disrupt the service, kline (ban from connecting) users who continue to cause problems and make or break connections between servers (if your server is part of a network). There are different types of operators which have varying degrees of system and network control.

The Operators screen allows you to create accounts which are used to gain operator status. There are six default levels: (started from the lowest level)

• Help Operator – Access to wallops, able to receive server messages and help messages from users • IRC Operator – Same as above and access to FNICK, GAG, KILL, KLINE, MOVE and SHUN • System Operator – Same as above and with HOST access to all local channels • System Manager – Same as above but with OWNER access to all local channels and able to register nickname and channels for clients • Global Operator – Same as above but with OWNER access to all global channels and access to CONNECT, SQUIT, AKILL and RAKILL. • Administrator – Full access to Server and Remote Administration

General

Operator – The name of the operator account

Password – The password required for the operator account

Real Name – The person’s real name (optional). The function of the ‘Use’ option will update the clients name field on IRC with the one supplied here.

Level – The privileges this operator has on the server. See above to find out which each level allows.

Modes – Here you can enter any additional modes you would like your operator to be given such as the modes ‘sw’ to receive wall op and server messages.

Masks – This is where you can enter the masks for who can use this account. If no masks are supplied, this will select anyone provided the password is correct.

Supported Mask

!@

Note: Server Operators cannot be killed, server banned and kicked or demoted on channels unless a Server Operator with the same or higher level is performing this action.

- 8 - How to become a Server Operator

Some chat client software may have the ability for you to enter these details as part of a server profile before connecting to the chat server. On others you can enter your account name in the userid or email address field (@something.com) and your account password in the server password field. This will allow you to become a Server Operator automatically upon connection and in the process bypassing anything that might prevent you from connecting such as kline or server full.

Alternatively you can use the OPER command after you have successfully connected to your server.

2.5 Operator Groups

This section allows you to modify the behaviour / actions which can be performed by your operators. You can also create additional operator groups.

General

Group Name – The name of your operator group. This can be changed at a later time.

Access Level – This option is used to prevent lower level operators from removing server / network access entries and executing commands such as kick, kill, fnick etc on operators belonging to this level or above.

Dynamic / Registered Channels – The status granted to the operator upon entering channels.

• None – The operator will be treated like a regular user upon entering. • Permit – Allows forced entry into a channel. This will bypass any limits, bans etc preventing regular users from entering. • Host – The operator will receive host status upon entering. • Owner – The operator will receive channel owner status upon entering.

Main Options

Administrator – This will grant special privileges such as the ability to issue commands such as mode, topic, kick, prop, access etc from outside or without host / owner status on channels. Also allows the use of additional command such as mimic and die.

Remote Access – This will allow the operator to login to your chat server using the Remote Control utility. If the operator does not have Administrator status, then they will not be able to view / modify / delete Operators, Operator Groups, Secure Nicknames or Channels under Local Administrator Control.

Global Operator – This will allow the operator to perform commands on network users (non local users).

- 9 - Network Controls – This allows the operator to manage the server link status which gives access to the connect, squit, cleardead and refresh command.

Help Assistant – This will allow the operator to view help messages being sent from clients using the helpops command.

General Options

Event Usage – This allows the operator to use the event command.

Wallops Usage – This allows the operator to use the wallops command which is used to send important messages to the other operators.

Bypass Restrictions – This allows the operator to bypass restrictions such as the class restrictions, maximum access, filtering, watch list, max channels, registration limits, etc.

Room Creation – This allows the operator to create new rooms if dynamic channels aren’t allowed to be created.

Visibility Options

Show All Channels – All channels (including hidden, secret and other classes) will appear in the channel lists.

Show All Users – All users (including invisible users) will appear in user lists.

Removal Options

Kill User – This allows the operator to disconnect users from the chat server.

Kill Channel – This allows the operator to destroy channels.

Ban User – This allows the operator to add and remove user bans.

Zap User – This allows the operator to add and remove local zlines.

Control Options

Force Nick – This allows the operator to force someone else to change their nickname.

Force Join – This allows the operator to force a user to join a channel.

Force Move – This allows the operator to force a user to move channel.

Gag User – This allows the operator to gag users.

- 10 - Shun – This allows the operator to view and modify the server shun list.

Services Options

Nickname Services – This allows the operator to register and manage nicknames stored on your server. To effectively perform this role the operator may need an additional privilege such as ‘Bypass Restrictions’.

Nickname Services – This allows the operator to register and manage channels stored on your server. To effectively perform this role the operator may need additional privileges such as ‘Bypass Restrictions’, ‘Room Creation’ and Owner status on all channels.

2.6 Security

This screen allows you to create (local or network wide) bans or view and delete existing ones.

Local Ban Types

• Deny – Allows you to create a ban that has the ability to expire after a specified amount of time. • KLine (Automatic Kill) – This is a common type of ban that prevents a user from connecting. • ZLine (Automatic Zap) – Allows you to block client and server connections. This is different from the normal type of ban as this one cannot be bypassed and does not report any error message to the client side. This is recommended to be used for blocking bots as it reduces the server load. • Grant – Allows a user to bypass any local deny bans.

Network Wide Bans

• AKILL – This is a common type of ban that prevents a user from connecting from any server on the network. • Deny – Same as the above • Grant – Allows a user to bypass any network wide deny bans.

Flood Detection – This is used to drop connections when an inbound flood is detected. An effective setting is 2 seconds between messages and 20 penalties.

Automatically K-Line offenders for x mins – Automatically bans flooders from the server.

Flood Protection in the past has been used by malicious users to boot people off. This would be achieved by the user opening multiple connections and sending a slow CTCP flood to the victim until the victim reaches the inbound flood limit and gets booted by the server. But this is not possible to do with this flood detection because the server will not

- 11 - relay messages to people who are on the threshold of the inbound limits. This will result in the victim going about his normal business and the malicious clones getting disconnected.

IP/DNS Masking

• None – This will turn off masking • Low – This will mask everyone’s address but channel hosts will be able to view their channel guest’s address unmasked in order to set effective bans. • High – This will mask everyone’s address. • Encrypted – This will use irreversible encryption to replace everyone’s address.

2.7 Advanced Security

Enable AntiBot verification system – This feature is used to prevent bots (automated programs) from connected to IRC. This is achieved by the server sending the connecting clients a pattern containing 3 random numbers. The user must quote the 3 numbers back in order to connect either by visiting the URL provided or using the /AB command.

Enable IP Spoof Protection – The server performs a spoof check upon accepting a client connection to ensure the connection isn’t being spoofed.

Display client QUIT as PART – When users disconnect from the server without a quit reason, the server will report them to other clients as leaving the room instead.

No aliases within channels – This will disallow nickname changes whilst talking on channels.

No Dynamic Channels – This will disallow users from creating unregistered channels server wide.

Restrict the STAT command – This will block users from using the STAT command to view information about active bans and server operator account names.

Restrict the use of wildcards – This will disallow users to query the server (NAMES, WHO and WHOIS) without an exact match. Effective to use if you are having problems with spam or mass inviting.

Suppress QUIT and PART reasons – This will disable the support to leave a message when the clients are departing from the server / channel.

Idle Connections – Use this option if you do not want clients to idle / away for excessive amounts of time.

- 12 - Output Flood Detection – Use this option here if you want a cut off point to the amount of information a user can receive. For example a client can trigger a big response from the server using a small command such as WHO or LIST. Having a limit set means the clients cannot repeatedly send commands in order to drum up processor load. When the client is near the saturation limit whilst receiving a large reply from the server, the server will abort with a message and if the client continues to send commands the user risks becoming disconnected.

Limits & Restrictions

Maximum Access Entries – This is the maximum number of access entries for a silence list, a registered nickname and channel (including bans, expects and invites items).

Maximum Nickname Length – This is the maximum length allowed for a nickname. By default this value is at 25.

Maximum Message Length – This is the maximum size of a message, it is not recommended for the size to be increased above 512 because this can cause some chat client software to crash when receiving large messages.

Maximum Watch List – This is the maximum number of people or channels you can add to your watch list. See the WATCH command for more information.

Nickname Tracking – The server will temporarily keep tracking information for clients that have recently changed nicknames. This is so that if a person has just changed nickname and you are attempting to kick the person, the server will know who the intended target is.

Miscellaneous

Enable Ident Lookups – This will enable your chat server to attempt to obtain clients ‘identd’ information if they are running an Ident Server on port 113. Clients with successful ident checks are considered authenticated.

Enable Safe List – This will enable the ability to query using the LIST command. If you are having problems seeing registered channels in the channel list when you have specified them to be ‘visible when empty’ then disabling Safe List may solve this problem.

Heavy Load Restrictions – If the machine your chat server is running on is experiencing high processor usage, the server will automatically switch into heavy traffic mode and will restrict the usage of heavy processor intensive commands.

High Invisibility – A user who is invisible (using mode +i) will not receive private messages from other users unless they are both on the same channel or the sender’s nickname is on the receivers watch list.

- 13 - Identify After Logon – Use this option if you prefer your clients to give their registered nickname password after connecting instead of prior.

Client Overflow Protection – IRC Clients such as PIRCH and Microsoft Chat are vulnerable to exploits which can crash / freeze the software. With this feature enabled, any messages which can potentially do this will be treated.

Refuse Invalid Hostnames – The server will only accept hostnames with a matching forward and reserve lookup.

2.8 Miscellaneous

This area allows you to change various options, mainly security related.

Maximum User Registrations

Limit nickname registrations – This allows you to set a maximum to the number of nicknames allowed to be registered by regular users.

Limit channel registrations – This allows you to set a maximum to the number of channels allowed to be registered by regular users.

Transmitting (Outbound)

Maximum Buffer Size – This is the buffer size used for transmission. If a user is on a slower connection and receives data beyond his connection speed, the server will store the information in this buffer until the user is ready to receive more data. When the maximum is reached, subsequent messages will be lost.

Nickname Security Options

Cannot register Guest nicknames – This option prevents users from registering nicknames that start with a Guest prefix.

Verify Email Addresses – This option forces the user to verify (by email) that their email address is valid before being able to use a registered nickname. Nicknames registered before the option was turned on will be unaffected until a new email address is set.

SMTP (Mail Server) – If you want the email addresses to be verified. A valid mail server must be specified here. If the mail server requires authentication, the logon details can be provided in the following format: :@:

Chat Back Settings

Default Replay – This allows you to set the default reply for when someone uses the chatback command with no parameters.

- 14 -

Maximum Replay – This allows you to set the limits for when someone uses the chatback command with parameters.

Display & Visuals Options

Hide Network Structure – This will block access to the links command and will hide the server IP addresses in server notifications and in the stats c response.

Display Channel Creation Date – This will display the channel creation date (sent via the mode command) which is usually displayed in IRC Clients after joining a channel.

Display Topic Set By Information – This will display when the channel topic was last changed and by whom (sent via the topic command) which is usually displayed in IRC Clients after joining a channel.

Hide Channel Access Masks – This will hide the masks used in the channel access lists.

Allow Null Real Name – This allows users to logon IRC with a blank Real Name specified in their IRC Client.

Force Nicknames to Lowercase – Users nicknames will be set to lowercase without exception.

2.9 Port Scanner

The port scanner is used to detect insecure proxy connections. Allowing insecure proxy connections can be quite a security risk. Because they allow anyone on the internet to bounce there connections off the proxy server. This can be used to bypass bans or connect an array of flood bots on your server.

Types of Scans

• Available – This will detect if the port is listening to accept connections. • Connection Event – This will detect if the port sends a greeting message in response to establishing a connection. • Send Response – This will detect if the port sends a message reply in response to you sending junk. • HTTP Proxy – This will detect if the port is running a HTTP proxy. • SOCKS Proxy – This will detect if the port is running a SOCKS proxy. • Custom – This will allow you to program a custom detection

- 15 -

Common Insecure Ports

• 80 – HTTP Proxy • 1080 – SOCKS Proxy • 3128 – HTTP Proxy • 8080 – HTTP Proxy

Enable Port Scanner – This will enable your port scanner

Automatically ban on detection – This will place a 60 min ban on the client.

Custom Detection

Our port scanner can be programmed to detect other things running on your user’s computers such as Trojan Houses and other malicious software. This is achieved by using the Hex Editor. This allows you to type (or paste) ASCII and Hex. Hex can be manually typed on the left side of the editor, the other side can be used to type ASCII characters. The detector works by sending the data entered in the ‘Send’ section to the open port. If a known response is received and matches one of the five ‘Receive’ sections, the detection will be triggered as successful. For text matching, there are 3 options available: Like, Exact and Anywhere. If using ‘Like’ matching, wildcards can be used.

2.10 Version Checker

The version checker is used to check the software version of the client software your visitors are using. If your policy is only to allow java applets, this can be used to block unauthorized use. It can also be used to warn users if their IRC Client has been recalled by the manufacture.

Enable Version Checker – This will activate the version checker.

Kill non answering users – If a users client does not response to the version scan within a reasonable amount of time, the user will be disconnected.

General

Group Name – The name of the version group.

Reason – The message given to the user should the person be disconnected or warned.

Action – The response taken should any clients match entries in this Version Group.

• Grant – Allow entry and not to be subjected to any further actions • Deny – Disconnect the user from the chat server • Ban – Disconnect the user and set a 15 minute ban • Warn – Will warn the user with the message entered in the Reason field

- 16 -

Alert Operators – Any users matching this version group will be alerted to the server operators via the WALLOPS.

Masks – This is where you can enter the masks for matching the version response. If no masks are supplied, the version group will not select anyone. E.g. mIRC *

2.11 Filtering

Filtering allows you to block, warn or censor messages, channels, nicknames and filenames that contain selected words. This could be used to reserve nicknames and channels or filter profanity.

When entering a word, all you need to do is enter it as normal. You don’t need to use wildcards. Then you can enter a warning message that is displayed to the client using the forbidden word or name.

Filtering only operates in channels which are enabled for filtering (Mode +F) and clients private messages are only filtered if enabled from a Client Rule or if the user has selected the Mode +L.

Redirect – Only available on the channel name filter. If a user attempts to specify a channel name which is being filtered, you can redirect the user to another channel. This can be used for example if your network support channel has changed name, you will be able to automatically redirect your visitors going to the old channel to the new one.

Filtering Actions (Actions are only available on messages and file sending entries.)

• Block – Message or file is blocked and warning message sent to user • Censor* – The troubled word in the message is censored then sent and the warning message is sent to the user • Warn – Message or file is allowed and the warning message is sent to sender

Filtering Modes (Only available on message entries)

• Check anywhere in a word – e.g. If ‘WORD’ is the word, it would be found in, textWORDtext

• Check anywhere in a word for mixed characters – e.g. If ‘WORD’ is the word, it would be found in, tWeORxDt

• Convert ASCII to Alphanumerical – e.g. If ‘IRCOP’ is the word, it would be found in, 1RC0P

• Search for word patterns – e.g. If ‘WORD’ is the word, it would be found in, W O R D

- 17 - 2.12 Channels

This screen allows you to create and manage registered channels. Only local registered channels appear in the list. All registered channels are classified as sticky. This means that the room will store channel settings such as properties, access and modes when the channel is empty.

Allow users to register channels – This allows clients to register their own channels via the IRC service called /CHANSERV.

Account required to register channels – This will only allow clients to register their own channel if they own a registered nickname.

Default channel limit – This is the default channel limit if no limit is set.

Channels per account – This is the number of channels allowed to be registered per registered nickname if accounts are required.

Automatically remove channels – This will allow the server to automatically remove unused channel registrations.

General

Name – Name of the channel with prefix at start.

Types of channel prefixes

• # – Global Channel (RFC1459) • & – Local Channel (RFC1459) • + – Does not support channel modes • %# – Extended Global Channel (IRCX, UNICODE) • %& – Extended Local Channel (IRCX, UNICODE) • %+ – Extended Channel, does not support channel modes

Topic – The nature of the conversation in the channel

Subject – Can contain subject keywords for search engines.

Welcome Message – This message will be displayed to clients upon joining the channel. Multiple lines are supported in this field.

Departing Message – This message will be displayed to clients upon parting the channel.

Access

Channel Passwords (Keywords)

- 18 -

• Owner – The channel owner password for full control of the channel • Host – The channel host password for control to moderate the channel • Voice – The channel voice password for speaker privileges on the channel (optional) • Member – The channel member password (same as +k ). If a password is set, clients must supply the password to join the channel.

To use a channel password, this must be supplied using the JOIN command or if you are already in the channel use the IDENTIFY .

Member Account – The nickname of the person who owns this registered channel. (optional)

Access List – The channel access list contains the bans, invites, etc for the channel. See the ACCESS command for more information.

Modes

View Mode:

• Public – Channel is visible in the LIST command and able to see who’s present. • Private – Channel is visible in the LIST command (the topic is not visible) and clients are unable to see who’s inside the channel from the outside, • Hidden – The channel is hidden from the LIST command and can only be queried if the exact channel name is known. • Secret – The channel is hidden from the LIST command cannot be queried from the outside.

Member Limit – The maximum number of members allowed inside the channel at one time. Channel owners and hosts are unaffected by this limit.

Access Options

Auditorium – Restricts visibility and messaging within a channel. Members will only see themselves and the hosts/owners in the channel. Any message sent by a member will only be received by the hosts and owners. Hosts and owners will see all members in the channel and messages from a host or owner are seen by all channel members. Ordinary members will not receive JOIN/PART messages from other members. This mode is designed for support channels or channels with so many members that they do not want to see each other.

Invitation Only – An invitation is required to join the channel. Invitations can be issued using the INVITE command or adding an INVITE access entry to the channel.

- 19 - Only Authenticated Users – Only clients who have been authenticated by the server can join the channel.

Moderated – Only people who have VOICE permissions can speak in the channel. Restrictions

Cannot Change Passwords – This option will prevent the channel owner from changing the passwords to the room.

Cannot Change Modes – This option will prevent the hosts from changing the channel modes.

Channel Host Guard – This option will prevent hosts from given host status to members.

Controlled Locally – This option will prevent server operators from other servers from gaining full access to the channel.

No Client Message Formatting – This option will turn off message formatting on supported chat clients.

No External Messages – This option will disallow clients who are not inside to send a message to the channel.

No Whispering – This option will disable the use of the WHISPER command inside the channel.

Only Host Change Topic – This option will prevent members from changing the topic of the channel.

Restrict Channel Access – This option will prevent the hosts from modifying channel access.

Restricted to Server Operators – Only server operators are able to join the channel.

Attack Protection

Join Flow – An interval in seconds before another member may join the channel next. This is designed to control the join flow in a channel and to prevent malicious clients from joining an array of flood bots. If your channel is cloneable, you may wish to disable the redirects. You can do this by using the minus symbol.

Lag – An artificial delay in seconds before the client can send another message into the channel.

Rate – The rate is used to slow down busy channels so users get the opportunity to read messages being sent. This option is also very effective for protecting channels as it makes it almost impossible for an array of bots to cause harm.

- 20 - Flags

Caps Lock – When clients send messages, if they contain a high percentage of capital characters (depending on the level), the message will automatically be converted into lower case.

Client GUID – The chat protocol of clients allowed to enter the channel.

Only this Class – Only clients from the selected Class / Rule may join the channel.

Client-specific data – This is used to store information that chat client software uses.

Content rating (PICS) – Used to store the content rating for the channel.

Language code: Used to store the language clients are expected to speak in.

Channel Services

Echo To Source – Normally when you send a message, your client software expects the message to be broadcasted. By using this option, you will be able to see your own message being broadcasted back at you. Depending on your client software, you may see double of everything you type.

Knock Notifications – If you are in IRCX mode, you will receive knock messages when a client fails to attempt to join the channel. The message will include the persons name and reason why they could not join e.g. channel full, banned, etc

Filter Channel Content – If this option is turned on, all messages being sent to the channel are being filtered using the message filter list.

Save Channel Transcripts – If channel transcripts are enabled, the conversation of this channel will be logged to file on the server.

Miscellaneous

Automatically Reset Access – When the last person leaves the channel, all the access entries included the channel ban list will be cleared.

Cloneable – When the member limit is reached, the channel will automatically clone itself with a copy of all its settings. e.g. 1, 2, 3, etc. Clients will automatically join the next available channel.

Permanent Channel – This flags the channel as being permanent, therefore the channel cannot be unregistered by the channel owner nor will it expire when not in use.

Visible when empty – This option will allow the channel to appear in the LIST command when empty.

- 21 - 2.13 Channels Advanced

Creation Modes – On this screen you can set the initial modes upon creation of a dynamic channel.

Miscellaneous

Chat Back on Channel Entry – Recent channel conversation from transcript file is automatically sent to users joining the channel.

Isolate clients by classes – If you wish to use your chat server multi-homed. You can separate your clients by classes / rules, so they are unable to see each other or join the same channels together.

Only Except overrides bans – When enabled only EXCEPT access entries can override a channel ban. If the option is off VOICE and GRANT entries can override a ban entry.

ServOp server operators – When an operator is granted owner or host status upon joining a channel. The OP’s can look as if it’s originating from the server instead of the client.

Show empty registered channels – This option will allow all registered channels to appear in the LIST command when empty.

Single line mode change – This option will show channel mode changes on a new line after a parameter is given. This is to enable better support with old chat client software.

2.14 Nicknames

This screen allows you to create and manage registered nicknames. Only local registered nicknames appear in the list.

A nickname list can be imported and exported by a Right Click in the list. These options will appear in a popup menu.

Allow users to register nicknames – This allows clients to freely register their nickname via IRC service called /NICKSERV.

Authenticate nickname owners – Clients who use a registered nickname are made authenticated.

Automatically remove nicknames – This will allow the server to automatically remove unused nickname registrations.

Action to take if user does not identify – If a client does not identify in sufficient time it can result in either the client being disconnected or a new nickname forced on them. Here you can select the server policy or allow the nickname owner to decide the action to be taken.

- 22 - General

Nickname – The name of the registered nickname

Secure – Select this option if you wish this nickname to be secure. This will make the nickname permanent and will only allow administrators to use it unless you can supply the password.

Password – The password for the registered nickname

Real Name – The real name of the nickname owner

E-Mail – The email address of the nickname owner

Action to take if user does not identify – As explained above, the administrator can decide the on the policy.

Supported Mask

@

Maximum registered channels allowed – This is the number of channels the client can register with this nickname.

2.15 News Flashes

The News Flash service is used for alerting your clients of important news, tips and perhaps advertising. All you need to do is create a list of messages and tick ‘Enable Newsflash’. The server will automatically broadcast each message in order and once finished will look again from the start.

Enable Newsflash – This option will enable the news flash service

Do not broadcast to Server Operators – This will not include server operators when sending broadcast messages.

Broadcast newsflashes to the network – Enable this option if you wish to send your news flashes across the network.

Broadcast Frequency – This option allows you to select the interval between news flashes.

- 23 - 2.16 Memorandum Services

This service is used by clients to send messages to people who are offline. When clients connect the server automatically alert them to new unread messages. Clients can access these messages via the IRC service called /MEMOSERV.

The main screen allows you to see and change whose nickname accounts are enabled for Memorandum Services. You will also be able to see the current and maximum size of there inbox. You can increase and decrease the inbox quota by selecting an account and using the Up and Down buttons located in the toolbar.

Enable for new nicknames – This will automatically allow new registered nicknames to use this service.

Restrict to receiving only – This will restrict the Memorandum Service so they can only read messages.

Default Mailbox Size – This will allow you to specify the default size of clients inbox size when they register a nickname.

Message receipts are supported. To use this feature the sender of the message must begin his message with a ‘$’ dollar symbol.

2.17 Transcripts

This screen allows you to turn on / off the various logging functionality. You can also use this screen browse, open and delete the log files.

Enable Chat Back command – This allows users to query recent events in the channel transcript file via the channel.

Enable channel transcripts – Channel conversations are saved to a log file.

Enable private message logging – Saves private conversations to a log file. This includes all private messages except DCC Chat.

Enable server auditing – Server activity is saved to a daily log file.

Automatically delete transcripts older then x days – This is used to automatically tidy up (and save disk space) from old log files. Log files are automatically (and permanently deleted) when they reach the specified age.

Opening large log files isn’t a problem. The log viewer can be used to open any size log file because it only downloads the portion you have visible on screen.

- 24 - 2.18 Messages

This screen allows you to customize your server messages. You will be able to change the phrasing or rewrite the whole message in another language. There is an option available to change a message back to default.

2.19 Server Linking

This screen allows you to manage the servers that are allowed to connect to your server and define the servers your server is allowed to connect to. By linking your server, you are merging all your clients and channels together, and in the process you create a network.

You will only be able to link your server to another server using the same chat server software. It is recommended you all run the same chat server version across your network in order to avoid problems.

A wizard is available to make it easy to setup a server connection. This wizard is accessible though the Wizard Icon on the toolbar. All you need to supply is the Remote Control information of the other server to establish a connection and the Remote Control utility will do the rest for you.

Things to think about when setting up a server connection

1. Your server name must be unique on the network 2. It is recommended for your server clocks to be synchronized. 3. Make sure there are no zlines in place that might block the connection.

What about channel collisions?

When two channels with the same name exist on both servers before linking, when the servers become one a decision is made. Both channels are merged together but the oldest channel will keep its settings and channel operators. The channel operators from the newest channel will automatically be demoted to channel member status.

What about nickname collisions?

When two clients with the same nickname are present on both servers before linking, when the servers do link both clients are killed with the message ‘nickname collision’.

General

Server Name – The exact server name (not the DNS/IP) of the other server you wish to link with.

- 25 - Share Licence – Depending on your licence you maybe able to share it. By having this option on, your server will offer to share your licence with the server you are trying to connect with, if the server does not already have a licence installed.

Description – Here you can enter a brief description of the server.

Ping Freq – How often the server will send pings to make sure the connection still exists.

Passwords

This is where you set the passwords for the server to server connection. If you specify a ‘Sent’ password here, then the same password needs to be placed in the ‘Expected’ field on the other server. And the same for the ‘Expected’ password but of course this needs to be placed in the ‘Sent’ password field on the other server.

Connect-Out Info

You only need one of the two servers to connect out. So you need to decide which server will be the one connecting out.

Allow connect-out to server – This will enable your server to connect out on request using the CONNECT command.

Hostname – You need to specify the other servers DNS/IP address here.

Port – You need to specify the chat port you intend to use. It is recommended for busy servers to use a different port for better connectively.

Enable Auto Connect – This option will allow your server to automatically attempt to connect instead of using the CONNECT command.

Connection Frequency – If Auto Connect is enabled, this will be the amount of time before re-attempting to connect.

- 26 - 3. IRC Command Reference

NOTE: To use an IRC command in a text box, type a forward slash and then type the command in the message box.

In the list below, certain characters indicate the type of information you must enter:

• A pipe character (|) indicates OR. • Angle brackets (<>) indicate the type of the information you must enter. • Square brackets ([]) indicate an optional part of the syntax. • Curly brackets ({}) indicate that the entry can be multiple.

ACCESS (IRCX)

Usage: ACCESS LIST ACCESS ADD|DELETE [ [:]] ACCESS CLEAR []

Used to create, delete and list access entries for an object. An object includes a channel, a user, or the server.

Parameters The object to which access is being granted or limited. Can be a channel name, nickname, $ or *. The level of access being given or taken away.

Can be: • DENY – Disallow access to an object that is accessible • GRANT – Allow access to an object that is inaccessible • HOST – Channel host access to specified channel • OWNER – Channel owner access to specified channel • VOICE – Voice access to specified channel • INVITE – Invited access to specified channel • EXCEPT – Bypass ban access to specified channel

Masks to identify user by nickname, userid, host or server characteristics.

Minutes until the access entry is removed. A value of 0 indicates unlimited duration.

An object with GRANT access entries but no DENY entries is assumed to be off-limits to those users not covered by the GRANT entries. If there are multiple entries in the access list, the list is processed in the following order: OWNER, HOST, VOICE, GRANT, DENY. Hosts and Owners may add and delete access entries for their channel. Hosts may not remove access entries added by owners. Any user may add and delete access entries for themselves. Server operators on a server may add and delete access

- 27 - entries for that server or the entire network. A user who has blocked another user does not get any messages from the blocked user, including invites

ADMIN

Usage: ADMIN

Used to find the name of the administrator of the server.

AKILL

Usage: AKILL [:]

Used to set a global wide ban for a client. See RAKILL command for information on the removal.

AWAY

Usage: AWAY []

The server will automatically send this message to anyone trying to message you. The message will also appear in your whois information. It is used to tell people when you are away from the computer. If you no longer wish to be seen as away you simply use the command with no message specified.

CHANSERV

Usage: CHANSERV

You can use this command to access your IRC service. For more information send ‘HELP’ as the command.

CHATBACK

Usage: CHATBACK [] []

You can use this command to retrieve recent activity from the channel transcript log file.

CHGHOST

Usage: CHGHOST [] [@]

You can use this command to change a client’s userid and hostname information.

- 28 - CLEARDEAD

This command is used to clear channel and nickname registration information left behind after a server connection.

CONNECT

Usage: CONNECT

This will connect your server to another server. Both servers must have defined each other properly in order for this command to succeed.

CREATE (IRCX)

Usage: CREATE [ []]

Creates a new channel and/or join an existing channel.

DATA / REQUEST / REPLY (IRCX)

Usage DATA :

Used to send tagged data, requests or replies. The syntax for each is the same, but clients can use REQUEST to indicate that a REPLY is desired, and use REPLY to indicate that a REQUEST was issued.

DIE

Usage: DIE []

This command will stop your chat server. If you use this command by mistake you can always go to the Remote Control to start your chat server back up.

EVENT (IRCX)

Usage: EVENT [ []]

Add, delete and view event logging. This allows you to monitor activity similar to the information saved in your audit logs.

Type of event, such as CHANNEL, MEMBER, SERVER, CONNECT, SOCKET or USER. Optional mask for applying a selection criteria per event.

- 29 - FJOIN

Usage: FJOIN

This will force a user the specified channel.

FNICK / GLINE

Usage: FNICK

This will force a user to change nicknames to the one specified.

HELPOPS

Usage: HELPOPS

This will broadcast the client’s messages to any available help operator otherwise the command will error saying no one is available.

IDENTIFY

Usage: IDENTIFY |

This command is used to identify your ownership of a registered nickname or access to a specified channel.

INFO

This displays information about the server you are connected such as the version, and up time.

INVITE

Usage: INVITE

This command is used for inviting clients to join a channel. The server will send a message to the client informing them of your invitation. In your channel is invite only, this will allow them to join the channel.

IRCX / ISIRCX (IRCX)

Enables IRCX mode and displays IRCX status. Use ‘ISIRCX’ or ‘MODE ISIRCX’ first to see if the server supports IRCX.

- 30 - ISON

Usage: ISON { }

This will check to see if one or more of the nicknames supplied are currently connected. The server will report back with all the online nicknames.

JOIN

Usage: JOIN {,channel>} [{,}]

The join command lets you enter a channel. If the channel is password protected you can supply your in this command. If you are a channel owner or host you can use your password here as well.

Remark: If you specify 0 as the channel, it will cause you to leave all channels.

KICK

Usage: KICK {,} [:]

If you are a channel owner or host you can force clients to leave the channel.

KILL

Usage: KILL [:]

This command is used for server operators to forcibly disconnect a client from the server. This is usually used when the client is being disruptive or rude. Global operators are able to kill any client on the network.

KLINE

Usage: KLINE [:]

Klines are used to ban clients from connecting back on the server. To remove a KLINE you need to use the UNKLINE command.

LASTSEEN

Usage: LASTSEEN

This command is used to find out when a client (with a registered nickname) was last online. Otherwise try using the WHOWAS command.

- 31 - LINKS

Usage: LINKS []

This command will show all the currently connected servers on the network.

LIST

Usage: LIST []

This command is used to show all the public rooms on the server. You can use options to limit the number of channels that are returned.

Example: LIST >100

LISTX (IRCX)

Usage: LISTX []

Extended version of the LIST command that returns additional channel properties. Only the channel modes that do not define an additional argument (TOPICOP, NOEXTERN, etc.) are included in the reply. Clients should use the query limit to avoid overloading the client or having the connection dropped by the server.

LUSERS

Usage: LUSERS []

This command displays information about the number of users currently connecting on your server and the network.

MEMOSERV

Usage: MEMOSERV

You can use this command to access your IRC service. For more information send ‘HELP’ as the command.

MIMIC

Usage: MIMIC

This command can only be used by administrators and can only target locally connected clients. It is used to send commands to the server on behalf of the client.

- 32 - MODE

Usage: MODE [<+|-> []]

This command is used to set modes on a channel or nickname. For information on supported modes see below.

MOTD

Usage: MOTD []

This command displays the current Message of the day for the server that you specify. If you do not specify a server it will return the Message of the day of the server you are currently connected to.

MOVE

Usage: MOVE

This command is used to move a client to another channel. It is like the FJOIN command but this one will make the client leave all currently entered channels.

NAMES

Usage: NAMES []

This command shows the nicknames that are in the specified channel. If you do not specify a channel then the server will reply with all the clients on the network.

NICK

Usage: NICK []

This command allows the client to change their nickname to something else.

NICKSERV

Usage: NICKSERV

You can use this command to access your IRC service. For more information send ‘HELP’ as the command.

- 33 - NOTICE

Usage: NOTICE {,} :

Sends a message to a channel or client. This is usually reserved for important messages.

OPER

Usage: OPER

This command is used by clients to gain there status as a server operator. This gives you access to all the operator commands on the server.

PART

Usage: PART {,} [:]

This command allows the client to leave the specified channel. If you include a message, the other clients in the channel will be able to see it. If you wish to leave all channels you can use the ‘JOIN 0’ command.

PASS

Usage: PASS

This command is normally used during sighing on to supply your server, nickname or operator account password.

PING

This command is used to PING the server to test the connectivity.

PONG

This command is used in response to a PING request.

PRIVMSG

Usage: PRIVMSG {,} :

This command will allow you to send a private message to a channel or client.

- 34 - PROP

Usage:

To query a property: PROP * PROP [{,}]

To set or change a property: PROP :

To delete a property: PROP :

This command allows you to add, change or delete a channel data property.

Each channel object contains a number of properties that can be queried and optionally updated via the PROP command. Owners and hosts may update a property for their own channel. Clients and members can read properties only.

Supported Properties:

• NAME (R/O) – This property is the name of the channel. • CREATION (R/O) – This property is the time that the channel was created. • LANGUAGE – This property is the preferred language type. • OWNERKEY – This property is the owner keyword that will provide owner access when entering the channel. • HOSTKEY – This property is the host keyword that will provide host (channel op) access when entering the channel. • MEMBERKEY – This property is the keyword required to enter the channel. This is backwards-compatible with RFC1459 because users can still use the MODE command as an alternative way to set this property. • PICS – This property is the current PICS rating of the channel. Chat clients that are PICS enabled can use this property to determine if the channel is appropriate for the user. • TOPIC – This property is the current topic of the channel. • SUBJECT – This property is a string that can contain subject keywords for search engines. • CLIENT – This property contains client-specified information. The format is not defined by the server. • ONJOIN – This property contains a string to be sent (via PRIVMSG) to a user after the user has joined the channel. The channel name is displayed as the sender of the message. Only the user joining the channel will see this message. Multiple lines can be generated by embedding '\n' in the string. • ONPART – This property contains a string that is sent (via NOTICE) to a user after they have parted from the channel. The channel name is displayed as the sender of the message. Only the user parting the channel will see this message. Multiple lines can be generated by embedding '\n' in the string.

- 35 - • LAG – This property contains a numeric value between 0 to 2 seconds. The server will add an artificial delay of that length between subsequent messages from the same member. All messages to the channel are affected. • RATE – This property contains a numeric value between 0 to 2 seconds. The server will artificially slow down the rate of the channel. All messages to the channel are affected. • CAPS – This property contains a numeric value between 0 to 3 that represents None, Low, Medium and High. The server will automatically make a message lowercase if a high number of capital characters are used. • JOINS – This property contains a numeric value between -60 to 60. The server will automatically control the flow of clients joining the channel and will only allow another client to join after x number of seconds. Using a minus value will disable the redirect on cloneable channels. • ACCOUNT – This property contains the account the channel is registered to. • CLIENTGUID – This property contains a GUID that defines the client protocol to be used within the channel.

QUIT

Usage: QUIT []

This command causes the server to terminate your current connection.

RAKILL

Usage: RAKILL

This command removes a specific global ban from the entire network. Any server that is split when you issue this command will not remove the entry.

REFRESH

This command is used to reset the TCP/IP ports the server is listening on. This will not disconnect any client connections.

REGISTER

Usage: REGISTER [ ] REGISTER

This command allows a client to register a channel or nickname instead of issuing the command via CHANSERV and NICKSERV.

- 36 - SERVICES

This command can be used by clients to access custom IRC services. Custom services are set by using the Service Agent mode.

SHUN

Usage: SHUN [<+|->]

This command allows you to specify a nickname or mask that will not be able to send private messages or notices on that specific server. To remove a shun from the server use the minus symbol to indicate you wish to remove the entry.

SILENCE

Usage: SILENCE [<+|->]

This command allows you to ignore a specific client. You will no longer receive notices, private messages or invitations. . To remove a silence, use the minus symbol to indicate you wish to remove the entry.

SQUIT

Usage: SQUIT []

This command is used to disconnect the specified server from the network. The CONNECT command can be used to re-establish the connection if your server is configured to connect out.

STATS

Usage: STATS

This command is used for viewing information such as existing bans, operator accounts, server link profiles, etc. The option is normally a single character such as k, o, c, etc.

TIME

This command displays the current local time and date of the server you are connected to.

- 37 - TOPIC

Usage: TOPIC [:]

This command is used to change the channel topic. The channel topic is usually the first thing people see about a channel.

UNKLINE

Usage: UNKLINE

This command is used to remove a server ban such as a KLINE.

UNREGISTER

Usage: UNREGISTER []

This command is used to drop a nickname or channel registration you no longer wish to keep.

UNZLINE

Usage: UNZLINE <*!*@ip>

This command is used to remove a server ban ZLINE.

USERHOST

Usage: USERHOST { }

This command returns the user and hostname information of the specified clients. If you use the USRIP command, the clients IP Address is returned instead of hostname.

USERS

Usage: USERS [*]

This command is only available to server administrators. It can be used to return a list of all locally connected clients. If you specify a *, the server will return a list of unknown connections.

- 38 - VERSION

This command gives you the version information about the chat server software.

WALLOPS

Usage: WALLOPS

This command is used to send messages to other server operators across your network. Only operators who have the wallop mode will be able to view the message.

WATCH

Usage: WATCH <+|->{,<+|->}

This command is used to create a notify list on the server. When a client connects or goes offline the server will automatically inform you. This also allows you to watch channels and tells you when they are in use.

WHISPER

Usage: WHISPER {,} :

This command is used to send private messages to people within a channel.

WHO

Usage: WHO [{,} []]

This command is used to query the server or channels. The command will reply with a list of nicknames, included is their status on channels, if they are away and real names.

WHOIS

Usage: WHOIS {,}

This command is used to display detailed information about a nickname. This includes information such as the time they logged on, how long they have been idle, if they are away, the channels they are occupying, etc.

- 39 - WHOWAS

Usage: WHOWAS [count]

This command is used to return information about a client who was previously connected. Information is only available for a certain amount of time.

ZLINE

Usage: ZLINE <*!*@ip>

This command is used to set a zap line ban. This is used to block connections from establishing a connection. This could also be used to ban a server connection.

- 40 - 4. Channel Modes a – Authenticated clients only (IRCX)

This mode will only allow authenticated clients to join the channel. b – Ban flag

Usage: +b

This mode is used to ban a client from the channel.

d – Cloneable channel (IRCX)

This mode will cause your channel to clone to 1, , etc when the channel limit is reached. Clients will automatically join the next available channel.

e – Except flag / cloned channel

Usage: +e

This mode is used to allow clients to bypass a ban.

f – No client message formatting (IRCX)

This mode is used to tell chat client software not to format messages.

g – Operator guard

This mode is used to prevent channel hosts from given host status to members.

h – Hidden channel (IRCX)

This mode is used to hide the channel from the LIST command and can only be queried if the exact channel name is known.

- 41 - i – Invite only

This mode will make it so only clients with an invitation can join the channel. Invitations can be granted using the INVITE command or adding an INVITE entry to the channel access list.

j – Restrict access list

This mode will block channel hosts from the channel access list.

k – Password protected

Usage: +k

This mode is used to password protect a channel. Clients must supply this password in the JOIN command in order to enter the channel.

l – Member limit flag

Usage: Setting the mode: +l Removing the mode: -l

This mode is used to set the maximum number of clients allowed in the channel at one time.

m – Moderated channel

This mode makes it so only members with voice status can speak in the channel.

n – No external messages

This mode blocks messages being sent from outside of the channel.

o – Channel operator flag

Usage: +o

This mode is used to give channel host status to the specified client.

- 42 - p – Private channel

This mode causes the channel to be visible in the LIST command (the topic is not visible) and clients are unable to see who is inside the channel from the outside,

q/O – Channel owner flag (IRCX)

Usage: +q

This mode is used to give channel owner status to a member. This can only be set by the channel owner.

r – Registered channel

This mode is the channel registration flag.

s – Secret channel

This mode is used to hide the channel from the LIST command can cannot be queried from the outside.

t – Only operators can change topic

This mode prevents channel members from being able to change the channel topic using the TOPIC command.

u – Show knock notifications (IRCX)

This mode will alert the channel owners and hosts if a client fails to join the channel.

v – Voiced flag

Usage: +v

This mode is used to give voice status to a member. This allows the client to speak in a moderated channel.

- 43 - w – No whispering flag (IRCX)

This mode is used to block people from being able to whisper in the channel using the WHISPER command. Channel members are still able to whisper to the channel owners and hosts.

x – Auditorium (IRCX)

This mode restricts the visibility and messaging within a channel. Members will only see themselves and the hosts/owners in the channel. See above under Access Options section for more information.

y – Lock channel modes

This mode will prevent the hosts from changing the channel modes.

z – Service channel (IRCX)

This mode marks a channel as being a service channel.

A – Channel under the control of local administrator

This mode will prevent server operators from other linked servers controlling the channel.

C – Clear channel access on empty

This mode will automatically clear the channel access and ban list when the last client leaves.

E – Echo messages back to source (IRCX)

This mode will echo sent messages back to the sender.

F – Filter message content

This mode will filter the message content sent to the channel.

- 44 - K – Cannot change channel passwords

This mode will prevent the channel owner from changing the channel passwords.

L – Show channel in list when empty

This mode will allow the channel to be visible in the LIST command when there is no body inside.

M – Server operators only

This mode will only allow server operators to join the channel.

P – Permanent channel

This mode will flag the channel as being permanent. The channel owner will not be able to unregister the channel.

T – Transcript flag

This mode will flag the channel to save the conversation to a transcript file.

I – Invite flag

Usage: +I

This mode is used to add a client to the channel invite list.

- 45 - 5. User Modes a – Administrator flag

This mode flags you as being the Server Administrator.

c – View local connections

This mode will alert you to local clients connecting and disconnecting from the server.

d – Invisible on channels

This mode makes you invisible on channels.

e – Does not wish to send or receive DCC

This mode makes you unable to send or receive DCC request such as Chat and Send.

f – Exempt from flood protection

This mode allows you to bypass the flood protection features on the chat server.

g – Global operator flag

This mode flags you as being a Global Operator.

h – Help operator flag

This mode flags you as being a Help Operator and is able to view help messages.

i – Invisible flag

This mode will prevent the user from showing up in WHO and NAMES queries.

k – View kills and unauthorized connections

This mode will alert you when a client has been killed via the KILL command.

- 46 - n – View nick change messages

This mode will alert you when a client has changed nicknames.

o – IRC operator flag

This mode will flag you as being an IRC Operator.

p – Does not wish to send or receive CTCP

This mode will make you unable to send or receive CTCP messages.

r – Restricted connection

This mode will flag your connection as being restricted based on the client rules.

s – View server messages

This mode will allow you to view server messages.

t – View command usage

This mode will alert you when a client using selected commands such as MOTD, LUSERS, etc.

w – View wallops messages

This mode makes you able to receive wallop messages.

x – Service agent

This mode flags you as being a Service Agent and able to view messages issued by the SERVICES command. Any messages being sent from the service agent will appear from SERVICES as the source.

- 47 - y – View whois and kick attempts

This mode will alert you if a client attempts to kick you out of a channel unsuccessfully or performs a whois on you.

z – Gag flag

Usage: MODE z

This mode can be used by Server Operators to gag a client without their knowledge. The client will be unable to send messages whilst gagged.

A – Administrator anonymous flag

This mode allows the administrator to appear as a regular client to whois queries.

C – Prefers to speak in Chinese

This mode is used to inform others of the language they prefer to speak in.

E – Prefers to speak in English

This mode is used to inform others of the language they prefer to speak in.

F – Prefers to speak in French

This mode is used to inform others of the language they prefer to speak in.

G – Prefers to speak in German

This mode is used to inform others of the language they prefer to speak in.

I – Prefers to speak in Italian

This mode is used to inform others of the language they prefer to speak in.

- 48 - J – Prefers to speak in Japanese

This mode is used to inform others of the language they prefer to speak in.

L – Filter incoming messages

This mode will filter your private messages, and block any offensive messages.

P – Prefers to speak in Portuguese

This mode is used to inform others of the language they prefer to speak in.

R – Readable text

This mode will remove the text formatting and colors in all incoming messages.

S – Prefers to speak in Spanish

This mode is used to inform others of the language they prefer to speak in.

- 49 - 6. Frequently Asked Questions

How can I connect to my chat server?

First of all you need an IRC client such as mIRC. Once you have installed mIRC load up the application. In the status window you should be able to type at the bottom. All you need to do is type: /SERVER . If you do not know your chat servers DNS/IP Address you can use 127.0.0.1 to connect locally (this is the local look-back address).

How do I become an IRC Operator?

You need to create an Operator Account first, see up above under the Operators section. Once you have done this you can get IRC Operator status by using the /OPER command.

Why do I get "No Authorization for this server"

This is because you do not have a rule / class that is selecting your connection. See the Client Rules section for more information on creating successful Client Rules.

How can I kick someone off my server and perhaps ban them?

First of all you have to be an IRC Operator. Then you can use the /KILL [] command to close the persons connection. To then ban this person from your chat server you can use your Remote Control (see section Security) or though IRC you can use the /KLINE command. You can reverse this using the /UNKLINE command and to view all existing server bans you can use the ‘/STAT k’ command.

I have registered a channel but how do I get Ops?

You should have a password such as an ownerkey or hostkey. You can use this in the ‘/JOIN ’ command. If you have already joined the channel you can use the ‘/IDENTIFY ’ command instead.

I have a friend who is running IRCXpro as well, can I link?

Yes, if your software licences allows it. Read the section above called ‘Server Linking’ for more information. There is a Link Wizard available to make this task easy.

- 50 - Can I bind an IP Address to the chat port numbers?

Yes, if you have a multi-homed system, you can have your chat server bind to a multiple number of IP Addresses. See the section above called General Settings for more information.

I can connect to my chat server but nobody on the Internet can.

The clients on the Internet need to be using your Internet IP Address in order to connect. If they are and you are still having problems this might be due to a number of reasons.

1. You are running your chat server on a machine on your LAN (local area network). In this case you need to configure your gateway (which is providing the routing) to redirect an inbound connection on port 6667 to the private IP Address of the chat server on port 6667. 2. Your network or machine has a firewall in place. In this case you need to reconfigure your firewall to allow inbound connections on port 6667. 3. Your internet access is provided by a cable company. In some cases inbound connections to port 6667, 8000, etc are blocked. Changing your chat ports to something else such as port 25 and having your clients use /SERVER :25 in most cases gets around this.

How can I get a domain name for my server?

You can register your domain name for a price through InterNic at http://www.internic.com and then you just need to find someone to host your domain name server if you are unable to host it yourself. Alternatively you can lease a free subdomain [your_name].ircxpro.com by clicking the Obtain button in the remote control.

I have a dynamic IP address, is it a problem?

Yes, it can be. Because your clients would need to know your current IP Address in order to connect to your chat server. You can obtain a free sub domain ([something].ircxpro.com) from us using the DNS Manager. This allows you to claim an alias that can be updated to point to your current IP Address when you come back online.

I am running Microsoft Windows 9x / Me, is it a problem?

These versions of Microsoft Windows are not designed to act as a server. You would only be able to hold approximately 80 to 100 concurrent connections depending on other Internet applications running.

- 51 - How can my clients chat from the web browser?

You will need to find a Java IRC client such as jPilot (located at www.jpilot.com) and install it on your website (Web Server). In most cases Java IRC clients must be stored from the same system providing the chat service for them to work but jPilot is an exception to this rule.

I am hosting a special guest / event, how can I coordinate this?

There are special features available that can be used for such events. One of these features is the ability to ‘Moderate’ a channel. This will only allow clients to speak if they have been given VOICE privileges. Another useful feature is to make the channel an ‘Auditorium’. This allows you to hide the audience from everyone except the channel hosts.

How can I log the activity of a channel?

This can be done by turning on Channel Transcripts though the Remote Control and enabling the feature on the selected channel. The activity will automatically be saved to a local log file on the server. Access to the logs can be gained though the Remote Control.

Are there versions of this server available on platforms other then Microsoft Windows?

Sorry, there are only Microsoft Windows versions available at this time but may become available in the future.

What sort of system requirements does this server require?

The system requirements vary depending on the number of concurrent connections you expect your system to handle on average or on special events where loads may increase by tenfold. If your server is expected to have on average over 400 concurrent connections we recommend you use Microsoft Windows 2000 Server operating system. We have a formula for calculating the recommended bandwidth for your server. This is the number of average concurrent connections multiplied by 2. The result will be the recommended line speed in Kbytes per second. Please note that Internet line speeds sometimes vary between upload and download and your IRC server will be uploading far more then downloading and also some Internet connection speeds are variable because they are being shared and the bandwidth may not always be available on demand unless you have a dedicated line. For optimal performance we recommend for under 200 average concurrent connections 64Mb RAM and 200Mhz processor, for 200 ~ 500 connections 128Mb RAM and 400Mhz and for 500 ~ 1000 connections 256Mb RAM and 600Mhz processor.

Check for updates at http://www.ircxpro.com

© Copyright 2002-2005 Paul Heinlein

- 52 -