Using mIRC with...
Home About... Using mIRC with... Programs Add-ons

ICS   Firewalls   Wingate

Using mIRC with ICS - Internet Connection Sharing

Windows 98SE and Windows 2000 have built-in support for Internet Connection Sharing (ICS).  ICS enables several networked computers to share one internet connection and one internet account.  Unfortunately it can be a bit confusing on how to get certain mIRC features such as identd and dcc chat/send to work with it.  This page will explain how to configure mIRC and ICS so you can use all of mIRCs features on all of your computers.

The instructions on this page are based on hands-on testing with mIRC version 5.7 and ICS on Windows 2000 Professional.  These instructions may or may not work for other versions.  Furthermore, these instructions assume you followed the ICS installation instructions and have ICS up and running. 

Be sure to use STATIC IPs for all the computers on your LAN.  Assign 192.168.0.1 for the computer running ICS.  Assign 192.168.0.2 for the first client computer, 192.168.0.3 for the second one, and so on.  I know this is a pain.  DHCP is much nicer but I haven't figured out how to get ICS to use computer names.  If you know how please email me and I will post it here.

First, we must define some terms.  Let's call the computer that is running ICS the Server and we'll call all other computers on your network Clients.

Getting mIRC to work with ICS varies depending on whether you want to run mIRC on the Server or on the Clients.  I will explain how to do both. If you follow these instructions you will be able to run mIRC on every computer on your network simultaneously.

Common mIRC Configuration

Parts of mIRC must be configured one way when it is run on the Server and a different way when it is run on a Client.  Other parts are configured the same way on both.  This section describes the mIRC configuration that is common for both Server and Client.
Tell mIRC how to get your local host IP address.  mIRC Options/Connect/Local Info - clear the Local Host and IP Address fields, check the Local Host and IP Address checkboxes, and select the Server Lookup method.  This forces mIRC to get your public IP Address (assigned by your ISP when you connected to the internet) as opposed to your private IP Address.  This is the IP Address mIRC will use when you do /dcc send or /dcc chat.

mIRC On The Server

Getting mIRC to run on the Server is alot easier than getting it to work on a Client.  Just enable mIRCs Ident Server if your IRC network requires it and you're done.  No further ICS or mIRC configuration is necessary.

mIRC On A Client

Getting mIRC's Ident Server, DCC Server, and DCC Chat/Send facilites to work on Clients requires configuration changes to both mIRC and ICS.

To get to the ICS configuration dialog on Windows 2000:
Press the Start button on the task bar and select Network and Dial-up Connections
Right click on the entry that connects to your ISP and select Properties
Select the Sharing tab and press the "Settings..." button

Ident Server - Most IRC servers will send an Ident request and wait for a reply when you attempt to connect .  If you don't have an Ident server running the IRC server will eventually timeout and either let you on anyway or drop the connection.  The Ident request always comes in to your Server on TCP Port 113.  

This used to be the least configurable facility until I wrote DidentD.  It lets you run Ident servers on all of the computers on your LAN.  See the DidentD page if you want to use this facility.

If you don't want to use DidentD then follow these instructions:

Only one computer can act as the Ident Server.   You must tell ICS the IP of the computer that will run the Ident Server.   You do this by:
Selecting the Services tab on the Internet Connection Sharing Settings dialog box
Press the Add button
Enter a description in the "Name of service:" text box.  I use the following template for my names: Computername-mIRC-Service (e.g. Computer1-mIRC-Ident).
Enter 113 in the "Service port number:" text box
Select the TCP radio button
Enter the IP of the computer that will be running the mIRC Ident Server in the last text box (e.g. 192.168.0.3).

This will cause ICS to forward any TCP port 113 traffic to the specified IP address .  Be sure to enable mIRCs Ident Server on the computer you configued above via File/Options/Identd.

DCC Server - Unlike the Ident Server any and all computers on your network can run a mIRC DCC Server.  mIRC comes configured to use TCP port 59 for its DCC Server.   I let mIRC running on the Server use this port and configure the mIRCs on the Client computers to use different port numbers like 6059 for one, 7059 for a second one, etc.  

To configure mIRC to use a different port number for its DCC Server goto File/Options/DCC/Server and specify the port number in the "Listen on Port:" text box.  To get ICS to forward traffic on this port press the Add button on the Sharing tab of the Internet Connection Sharing Settings dialog box and add an entry like Computer1-mIRC-DCC Server, 6059, TCP, IP.  Be sure to tell your DCC Server users to use your port number (e.g. /notice nickname To connect to my file server type /dcc fserve $ip $+ : $+ $dccport or /notice nickname To dcc chat with me type /dcc chat $ip $+ : $+ $dccport).

DCC Chat/Send - This is very similar to configuring the DCC Server but involves adding several Services to ICS.  You'll have to add an entry for each simultaneous DCC Send or Chat you want to support for each Client.  In other words, if you want to support up to 3 DCC Sends and/or Chats on Client1 and 2 on Client2 then you will have to add 5 entries. 

mIRC comes configured to use ports 1024 to 5000 for DCC.  You'll have to changes these numbers in the File/Options/DCC/Options/DCC Ports: box.  Continuing our example above, I'd use ports 6024-6026 for Client1 and 7024-7025 for Client2. 

The Service entries would be something like:

Client1-mIRC-DCC,6024,TCP,IP of Client1
Client1-mIRC-DCC,6025,TCP,IP of Client1
Client1-mIRC-DCC,6026,TCP,IP of Client1
Client2-mIRC-DCC,7024,TCP,IP of Client2
Client2-mIRC-DCC,7025,TCP,IP of Client2

That's all there is to it.  Have fun.

Top

Using mIRC with  Firewalls

Firewalls are great for keeping unwanted "guests" from accessing your computer but they can get in the way of legitimate connections.

In general, if you want to use mIRCs Ident Server, DCCServer, and DCC Chat and Send features you must open up the ports these features use in your firewall.

By default the Ident Server uses port 113.  DCCServer uses 59, and DCC Chat and Send use ports 1024-5000.  

The Ident Server port can be changed via File/Options/Identd.  The DCCServer port is at File/Options/DCC/Server.  The DCC Chat and Send ports are at File/Options/DCC/Options in the DCC Ports: box.

New IRC users are often confused about DCC Chat and Send.  They tend to think that if they are initiating the Chat or Send then they are making an outgoing connection so they don't have to worry about a firewall.  However, DCC Chat and Send don't work that way.  Instead they cause mIRC (and all other IRC clients) to create a "Listening" socket on their computer.  mIRC then sends the DCC Chat or Send request to the remote user in a CTCP packet.  The packet includes the users IP address and the Listening socket port number.  The remote user is the one that acutally makes an outgoing connection to the listening socket.

BlackICE Defender

BlackICE Defender is a firewall by NetworkICE.  It is not free.

BlackICE leaves port 113 open by default.  

Protection level Cautious closes port 59 (DCCServer) but leaves ports 1024-5000 (DCC Chat and Send) open. Protection levels Nervous and Paranoid block these ports.  So, if you want to DCC Chat and Send using the default ports you should use the Cautious level.  If you want to use the default DCCServer port (59) you will have to hand edit the firewall.ini file. Locate the section:

    [MANUAL TCP low REJECT]

and add a line like:

    ACCEPT, 59,dccserver, 1999-07-19 20:50:26, PERPETUAL

By the way, if you want to close port 113 then find a line like:

    ACCEPT, 113, identd, 1999-07-19 20:50:26, PERPETUAL

and change it to:

    REJECT, 113, identd, 1999-07-19 20:50:26, PERPETUAL

ZoneAlarm

ZoneAlarm is a firewall by Zone Labs.  I don't have any information about how to configure ZoneAlarm at this time.  I list it here in case you are curious and want to check it out.  ZoneAlarm is free.  Zone Labs recently came out with ZoneAlarm Pro which is not free.

The interesting thing about ZoneAlarm is that it can block outgoing connections as well as incoming connections.  This means that not only do you have to open up the ports that mIRC uses but you must also allow mIRC to make outgoing connections.

Top

Using mIRC with  Wingate

WinGate is a very useful program that enables several networked computers to share one internet connection and one internet account.  Unfortunately it can be a bit confusing on how to get certain mIRC features such as identd and dcc chat/send to work with it.  This page will explain how to configure mIRC and WinGate so you can use all of mIRCs features.

Before I get into the details I must note that WinGate has gotten a bad reputation on IRC.  This is because early versions of WinGate installed with defaults that enabled "hackers" to use them in ways that were not intended.  The folks that make WinGate got the message and changed the defaults but not before the IRC community took action.  At first scripters (mirc and eggdrop), including me, implemented WinGate checkers that automatically kick and ban unsecured WinGates.  The problem got so bad that IRC servers were modified to check for unsecured WinGates when you connect.  [If you run a WinGate checker on Undernet I suggest that you reevaluate your need to do so because the Undernet servers are checking Telnet and SOCKS.]  You can use mIRC from WinGate as long as WinGate's Telnet and SOCKS Proxy servers are secured.  You can verify their security by viewing their Bindings tabs in GateKeeper and ensuring that "Allow connections coming in on any interface" is NOT selected.

The instructions on this page are based on hands-on testing with mIRC version 5.61 and WinGate Standard version 3.0.5.  These instructions may or may not work for other versions.  Furthermore, these instructions assume you followed the WinGate installation instructions and have TCP/IP and WinGate running.

First, we must define some terms.  WinGate can be installed as a server or a client.  WinGate should be installed as a server on the computer that has the physical connection (modem, cable modem, etc.) to the internet.  I will refer to this computer as the WinGate Server.  WinGate should be installed as a client on all other computers on your network that need access to the internet.  I will refer to these computers as WinGate Client's.  [Note: WinGate is licensed for a certain number of simultaneous connections and enforces the limit.  Therefore, if you have say five computers and have only a three computer license then don't expect to run internet applications (including mIRC) on all five at the same time.]

Getting mIRC to work with WinGate varies depending on whether you want to run mIRC on the WinGate Server or on one or more WinGate Clients.  I will explain how to do both.   If you follow these instructions you will be able to run mIRC on every computer on your network, simultaneously.

Common mIRC Configuration

Parts of mIRC must be configured one way when it is run on a WinGate Server and a different way when it is run on a WinGate Client.  Other parts are configured the same way on both.  This section describes the mIRC configuration that is common for both WinGate Server and Client.
Tell mIRC how to get your local host IP address.  mIRC Options/Connect/Local Info - clear the Local Host and IP Address fields, check the Local Host and IP Address checkboxes, and select the Server Lookup method.  This forces mIRC to get your public IP Address (assigned by your ISP when you connected to the internet) as opposed to your private IP Address.  This is the IP Address mIRC will use when you do /dcc send or /dcc chat.

mIRC On A WinGate Client

Getting mIRC to run on a WinGate Client is alot easier than getting it to work on a WinGate Server. 
Run the WinGate Internet Client application (Start/Settings/Control Panel/WinGate Internet Client).  Select the advanced tab.  Press the Add button.  Type in mirc32.exe, select Global mode, and press the Ok button. 

mIRC On A WinGate Server

The WinGate Internet Client really makes using mIRC a breeze but unfortunately you can't run the WinGate Internet Client on the WinGate Server.  All internet applications running on the WinGate Server, including mIRC, must be configured to use SOCKS or various WinGate proxies. 

  1. To be able to connect to any IRC server AND use DCC Send and DCC Chat:
    mIRC Options/Connect/Firewall, check Use SOCKS firewall, select Socks 5, set Hostname to "localhost", set Port to 1080, check Initiate DCCs through firewall.
  2. To get mIRCs identd server to work:  (This setup will cause WinGate to listen for ident requests on port 113 and relay them to mIRC on port 8113):
    mIRC Options/Connect/Idend, check Enable Identd server, enter your User ID, set System to UNIX, set Port to 8113. 
    Add a reverse TCP mapping service to WinGate:  WinGate GateKeeper, press Services tab.  Right click in Services window, select New service, TCP Mapping Service.   General tab: set Service Name: to "mIRC Identd Server".  In the Connections to service box check the Accept connections on port checkbox and enter 113 in the editbox.  In the Default Mapping box check the Enable default mapping to checkbox, enter "localhost" in the Server editbox, and 8113 in the on port editbox.  Select the Bindings tab and select Allow connections coming in on any interface.  GateKeeper will display a warning, just accept it.
  3. To get mIRCs DCC Server to work:
    mIRC Options/DCC/Server, check Enable DCC Server, set Listen on Port: to 8059, check the Listen for: check boxes that you want. 
    Add a reverse TCP mapping service to WinGate:  WinGate GateKeeper, press Services tab.  Right click in Services window, select New service, TCP Mapping Service.   General tab: set Service Name: to "mIRC DCC Server".  In the Connections to service box check the Accept connections on port checkbox and enter 59 in the editbox.  In the Default Mapping box check the Enable default mapping to checkbox, enter "localhost" in the Server editbox, and 8059 in the on port editbox.  Select the Bindings tab and select Allow connections coming in on any interface.  GateKeeper will display a warning, just accept it.

Running Multiple mIRCs on a WinGate Network

Yep, it can be done.  I've successfully use DCC Chat, DCC Send, fserve, etc. between several mIRCs on my WinGate network but here are some pointers.

  1. Only one mIRC can run its identd server.  The ident service can only use port 113 and only one application can listen on a given port in a WinGate network.  Set up one mIRC to run its identd and set all of the others not to.
  2. Similar to mIRCs identd server is its DCC Server.  Fortunately however the DCC Server port is configurable.  The default port is 59.  I recommend you use the 59/8059 combination on the mIRC that runs on the WinGate Server and use other port numbers on the mIRCs that run on the WinGate Clients.  These other port numbers must be unique, for example: 60 on one, 61 on the second, 62 on the third, etc. One word of note... when you tell someone to connect to your DCC Server they will by default try to connect to port 59.  I recommend you use mIRCs $dccport identifier when you tell someone to connect to your DCC Server when you are running mIRC on a WinGate Client.   Reserve port 59 for the mIRC running on the WinGate Server because its $dccport will return 8059 which remote clients will not be able to connect to. 

Top