| DCC by Pai and updated by Tye |
DCC (Direct Client to Client) is a strange term for a simple concept.
When you chat on IRC, all of your messages go from your IRC server,
through the IRC server network, and finally to the target. This means
that the amount of time for your messages to reach your target is
affected by the IRC network's internal connections, and it also means
you cannot send large amounts of data.
The solution is DCC, which allows you to connect directly to another
user to chat or send files.
Normally, you use the /query command to chat with another user
privately. If you want to use a DCC chat, type /dcc chat nickname and
you will attempt to open a DCC chat with them. (You can also use
toolbar button
) The other user has to
accept the connection before it will work.
If another user tries to DCC chat you, mIRC will ask you whether you
want to accept the chat. You can select 'Chat' to accept the chat,
'Cancel' to not accept, and 'Ignore' to totally ignore the user.
Once the connection is established, you can talk freely in the DCC
chat window. Either end may close the window to end the chat and
close the connection.
Note that you can disconnect from IRC, and still chat in a DCC chat
window, as long as you don't close mIRC. (although you have to
connect to IRC to start the DCC chat.)
This table will help summarize when DCC chat is better, and when a
simple query window (chatting via IRC) would be better.
| Advantages |
Disadvantages |
| Not affected by network lag, IRC network problems, netsplits, etc. |
Other user must accept the connection |
| Can disconnect or change servers or networks and still chat |
Can only chat with one user (as opposed to a channel on IRC) |
| Usually much more stable and faster than chatting over IRC |
Not usually worth the time for a short message or conversation |
Many users don't accept DCC chats, especially with people they don't
know, and many users cannot accept or create a DCC connection due
to firewalls, proxies, gateways, or other problems, so DCC chats
may not always be a good solution.
Unlike DCC Chat, which 'duplicates' something IRC can do,
(private chat) there is no IRC-based alternative to DCC Send.
DCC Send allows you to send a file to another user using mIRC.
To send a file to a user, type /dcc send nickname filename. If you
leave out the filename, you will be prompted to select a file. You
can also send a file by dragging it from Windows Explorer or File
Manager and dropping it onto a query window with a user. (Or you can use
toolbar button
)

The first time you receive a file you will see the above warning message. Please take
the message seriously. If you are randomly sent a file its very likely it is a trojan
(a computer virus). Even if it is from somebody you know. The person sending may not know
their computer has been taken over by a virus and they may not know they are sending
out the file. If you are expecting the file, then click OK. You may uncheck 'Always show this warning' if you
do not want to see the message anymore. The other user must accept the file, and then it will be sent. If
another user tries to send you a file, mIRC will ask you whether
you want to accept the file. You can select 'Accept' to accept the
file, 'Cancel' to not accept, and 'Ignore' to totally ignore the
user. You can also choose to save the file as a different name.
Once the transfer is underway, mIRC will keep a window showing the
progress of the transfer, and other statistics. Note that the
sender's window is referred to as a DCC Send, while the receiver
has a DCC Get window.
Note that if a transfer dies partway through, just ask the person
to resend. mIRC will automatically give you the option to resume
the transfer.
Only accept files from people you know and trust, and if you receive
programs or other executable files, only run them if you know what
they are. IRC is a good (bad?) place to receive viruses and trojans,
and you don't want to mess your computer up because you ran a
damaging file which some idiot sent you.
Often, people cannot get a DCC Chat or DCC Send to work properly.
Some common problems-
- IP mismatch. This is easily the most common reason a DCC won't work. The person initiating the DCC should do the following-
- Type /localinfo -u
- Firewall. If either user is behind a firewall or a proxy server (such as Wingate), DCCs may not work. You may want to try working with mIRC's firewall setup, but I don't know how to help with this.
- Ignoring CTCPs. If the target of a DCC is ignoring a user, or ignoring CTCPs, they'll never see the DCC request.
Under the DCC menu, go to Options, and from here you can set a
number of DCC-related options. (Or press
toolbar button
)
- Select what to do when somebody sends you a file. You can have the 'Ask' dialog appear (shown above). You can auto-get files or ignore all DCC sends.
- If somebody sends you a file that you already have, you can select what mIRC should do. You can resume the file, overwrite the file (start the download again) or have mIRC ask what to do when it happens.
- If you turn your auto-get on, you should limit it to trusted users. You can click the Trusted button to configure the list of trusted users. You should never use auto-get to accept files from any user.
- For chat, you can select what should happen when somebody sends you a DCC chat request.
Under 'Ignore', you can-
- Configure mIRC to only except certain, safe, file types or ignore malicious file types
- You can cofigure the list of file types to accept or ignore
- You can temporarily disable the DCC ignore feature and have it turn back on after a few minutes.
By default, mIRC is configured to only accept certain file types. This should block you from most malicious files. You can keep
yourself even safer by using a virus scanner to scan all files downloaded.
A common complaint about DCCs is their lack of speed. mIRC's default DCC options leave the speed at a pathetically low level; to speed things up, try the following commands-
- /dcc packetsize 4096
- /fsend on
- /pdcc on
The first command tells mIRC to send files in 4096 byte packets, the largest possible, and usually the most efficient. (if you are on a slow or noisy connection, you may find a smaller number provides better results.)
The second command tells mIRC to send data without waiting for the other end of the connection to acknowledge the received data.
This means packets get sent in groups or streams instead of one at a time, and usually greatly speeds things up. This also disables
mIRC's error checking of files being sent. The error checking is redundant. The Internet Protocol
already has error checking.
The third command tells mIRC how much to 'pump' the DCC. This will cause mIRC to send data ahead, before the recipient has acknowledge the data
that was previously sent to them. This speeds up the transfer by not having to wait between packets for an acknowledgement.
Once these options are set, they should stay set unless you reinstall mIRC.
mIRC has more complex ways of sending files to people on demand,
known as file-serving. (using a File Server, or FServe.) To learn
more about FServes, see the File Server section.