FAQ Pages - Cannot Connect
Frequently, Eggdrop users can't connect to their bots from IRC using /DCC chat <botnick>, less but still a significant number can't connect from using /CTCP <botnick> chat. Some cannot even connect using a Telnet client. It is possible in the latter case that the administrators of your routing will not allow it, in which case nothing can be done other than communicate with them and discuss your needs.
Assuming you are allowed to use Telnet and you still cannot initiate a connection to your bot using Defero Eggdrop Telnet Client, read on. Just one word of caution. This FAQ page, by necessity, mentions two completely different types of host. One is the Telnet host, which is what you are using in Defero connection details to connect to your bot and get on the party line. The other is your host (or hostmask) in your userfile record on the bot. Distinction is made wherever possible in the remainder of this text to alleviate confusion.
The Telnet host you are using when entering connection details must be valid and must be the host/vhost your bot is using. I recommend using the numeric IP to connect rather than a named host. Even if underlying socket technology is non-blocking, as is the case with Defero, DNS resolution is always a blocking operation.
The Telnet port should not be the usual Telnet port (23), rather it should be the user listening port you have set in the bot's .conf file. This is usually 7500 or higher, but can be any valid port not otherwise commonly in use. A more detailed explanation of where and how to set the bot's user port can be found in the New Telnet Connection submenu option on the online help site.
If the Telnet host and/or port are incorrect, then you are most likely to eventually see a [10060] Connection timed out error as per the following screenshot. Note that you will get this same error if the Telnet host and port are correct but your bot process is not running, or there is significant connection lag.
Alternatively, if the Telnet host for your bot is incorrect yet does coincidentally represent the host of some manner of TCP/IP server socket, you may see a [10061] Connection refused error as follows.
If you are using a named Telnet host that will not DNS resolve, then you are most likely to eventually see a [11001] Host not found error as per the following screenshot, or possibly one which reads [11004] Valid name, no data record of requested type.
Assuming the Telnet host and port are correct and the bot process is running, yet you still cannot establish a connection to your Eggdrop. It is possible that you do not see an error. You seem to briefly connect to your Eggdrop then immediately disconnect. Something akin to the following screenshot.
It is likely that you have the setting set protect-telnet 1 in your bot's .conf file which will drop telnet connections from unknown userfile hosts and the bot does not recognise your host. I recommend you change the setting to set protect-telnet 0 and restart your bot. Rely instead on users setting a reasonably secure password, just as they would to protect a registered nick on IRC.
If you have an automatically generated minimised .conf file, the set protect-telnet setting may be missing in which case it will default to 1. Simply add set protect-telnet 0 to your .conf file and restart your bot.
If you are the bot owner then your userfile host should not be a problem since you will be given the blanket telnet host -telnet!*@* when your userfile record is created. Otherwise, using the party line command .adduser to add other users will create their userfile record with a suitable host, provided the bot can see them on irc.
The remainder of this FAQ Page will assume the bot's configuration includes set protect-telnet 0, in which case the host(s) stored against your userfile record are not relevant in terms of the Telnet connection.
Anybody connecting to the bot's party line by any method will require the +p flag in their userfile record. The .conf file defines a default of set default-flags "hp". This means that +p flag will be added to userfile records as they are created. If you withhold the +p flag from new users, then they will not be able to get on the party line, as illustrated by the following screenshot. Note that if your login nickname is incorrect you will get exactly the same error. Hence, one further recommendation. Use your handle on the bot as your telnet login nickname.
If you have not set a password in your userfile record, you will get an error as per the following screenshot.
If your password is incorrect, you will get an error as per the following screenshot.
The only other obstacle to a successful conection I can think of is the settings in any personal firewall you may be using. Traffic on the Telnet port must be allowed. Alternatively, most firewalls will allow you to define a rule for a program such as Defero to allow it to access the internet on any port.