This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

DCC Problem, completely baffled.

General support and discussion of Eggdrop bots.
Post Reply
k
kenh83
Halfop
Posts: 61
Joined: Wed Sep 08, 2010 11:22 am

DCC Problem, completely baffled.

Post by kenh83 »

Eggdrop version: v1.6.19 + eggdrop-1.6.19-ssl_and_md5_and_thread-durex.patch

Hey all! I'll appreciate greatly, any support or idea that anyone can offer on this problem.. is quite strange.

I'll go ahead and do /ctcp <bot> chat .. The bot DCC Chat's me.. I accept it, I login to the bot's partyline.. Everythings good right? Yup!

AH! Thats what you think. If I stay active, by doing various commands on the bot, I don't have any problems. However, it seems if i'm idle for say, 10-15 minutes I loss connection. However, it doesn't tell me the DCC was closed until I a command after being idle for X amount of time.

In mirc options, Connect > Options > Advanced .. DCC is checked, ports are from 1024 -> 5000. On my bot I have, "listen 62921 users" .. I'm behind a rounter so i also have:

set my-ip "192.168.1.3"
set nat-ip "<my real OUTSIDE ip>"

On my router, I have setup port forwarding for 62000-62500 and 1024-5000 and they are all forwarded to the server at my house, 192.168.1.3

I'm completely baffled at this and I'll fell really dumb if its a stupid question. I've actually been hesitant to post here.. out of fear of being ridiculed. :D

Thanks to any and all that reply!
User avatar
hm2k
Halfop
Posts: 57
Joined: Mon Sep 11, 2006 7:27 am
Location: UK

Post by hm2k »

Why aren't you using eggdrop 1.6.20?
n
nml375
Revered One
Posts: 2860
Joined: Fri Aug 04, 2006 2:09 pm

Post by nml375 »

Hi kenh83,
Sounds to me like it's an issue with your router... Since it's doing NAT, it has to keep track of current sessions (established tcp connections and others). Most firmwares does this by using a States-table, which is refreshed whenever a new packet passes through the router. Older (no traffic for a while) sessions are dropped from the States-table, in order to make room for newer sessions.
If a state is dropped for a still-established session, your router will then have no information where or how to forward inbound packets to the end system (port forwarding generally only appies to SYN-packets - connection requests), so any further packets will be dropped. Also, no TCP RST or ICMP Destination Unreachable packets can be forwarded to the client (to signal that the connection was closed or lost), as there once again is no information available to identify the session anymore.

Depending on how advanced control you've got of your router, you might be able to increase the lifetime of States, but other than that, the only thing else you could do is to keep traffic over the connection to refresh the State...
NML_375
w
willyw
Revered One
Posts: 1205
Joined: Thu Jan 15, 2009 12:55 am

Post by willyw »

nml375:

For what it is worth:

I've experienced the same thing, some time ago. I just lived with it, and never reported it.

Normally now, it doesn't happen. In other words, I can now DCC chat one of my bots, and leave it logged into the partyline for hours, and the connection will still be good. Almost all the time, anyway... occasionally it will still die.

What has changed?

Nothing on my end. Same DSL service, same little DSL "modem that is also a router"... no config changes to it.

What changed... that I can recall... is the bot's server... and OS.
I'm pretty sure that the bot that did the dropping most often, back then, was on a Windows shell.
n
nml375
Revered One
Posts: 2860
Joined: Fri Aug 04, 2006 2:09 pm

Post by nml375 »

Hi willy,
Keep in mind that different OS'es implement their IP-stacks differently; especially when it comes to the SO_KEEPALIVE sockopt.

That said, tracking down these issues is rarely trivial due to the numerous factors in play; though thankfully not that common.
NML_375
w
willyw
Revered One
Posts: 1205
Joined: Thu Jan 15, 2009 12:55 am

Post by willyw »

nml375 wrote:Hi willy,
Keep in mind
I haven't got a clue ... ... I'll believe you.
heheh

that different OS'es implement their IP-stacks differently; especially when it comes to the SO_KEEPALIVE sockopt.
...
ditto.

:)
k
kenh83
Halfop
Posts: 61
Joined: Wed Sep 08, 2010 11:22 am

Post by kenh83 »

hm2k: because the ssl patch by rootie or whatever that is available here does not work. It compiles and everything, but when starting the eggdrop I get an error and it will not run. SSL is a requirement and is not optional.

nml375: I've got a linux router running DD-WRT v24-sp2 (10/10/09) micro (SVN revision 13064)... any ideas on any more specific options for my router that I could try?


EDIT and added bonus. This happens on all eggdrops, whether its on my personal server, a shell account i've got and even on this linux vps i have. So I guess its likely a router issue.. just kind of looking for some sort of answers and most people here are pretty intelligent so thats why i posted here :)
n
nml375
Revered One
Posts: 2860
Joined: Fri Aug 04, 2006 2:09 pm

Post by nml375 »

Hi kenh83,
That sounds like a reasonable conclusion, even though DD-WRT is usually considered one of the more stable firmwares out there.

Try this though:
In your webadmin interface, head to the Administration->Management page
Check the values of the "IP Filter Settings"; especially the Max Ports and TCP Timeout.
Increasing these values will cause your router to use more memory, but should reduce the dropped connections. See if you can't find a combination of values that works out for you.
NML_375
k
kenh83
Halfop
Posts: 61
Joined: Wed Sep 08, 2010 11:22 am

Post by kenh83 »

nml375:
Maximum Ports: 4096
TCP Timeout (in seconds): 300

According to the page, the maximum port is 4096.

I've never changed these settings, I can assure you of this.

More notably, this problem I'm having has only seemed to reared its ugly head for about the last month of so.. Say 2 months ago, I could be connected to an eggdrop on partyline for 5 days if I wanted to be.
n
nml375
Revered One
Posts: 2860
Joined: Fri Aug 04, 2006 2:09 pm

Post by nml375 »

The Tcp timeout is very low: 5minutes..
Try increasing this to 3600 (60 minutes or 1h).
NML_375
k
kenh83
Halfop
Posts: 61
Joined: Wed Sep 08, 2010 11:22 am

Post by kenh83 »

That was suggested by someone else.. I just changed it to 3600 about 5 minutes ago, we'll see how it goes.
k
kenh83
Halfop
Posts: 61
Joined: Wed Sep 08, 2010 11:22 am

Post by kenh83 »

I believe this has solved my issues. :)
T
TheVillageIdiot
Voice
Posts: 2
Joined: Sun Apr 10, 2011 12:43 am

Post by TheVillageIdiot »

I have this same problem with my Eggdrop bot (latest no-addons version)... DCC CHAT will dissapear if i've been inactive for a while - say 10-15mins... sometimes longer.

However, i also have putty running... and it stays connected for days!

Both the eggdrop bot and the putty connections run on/to the same dedicated server, which makes this fairly unusual. I've checked the eggdrop config file for any setting that might relate to an idle timeout or something... and found nothing relevant.

What i might try... is telling the eggdrop bot to send me status infos every 5mins (or whatever). Which should fix the problem permanently.

But i've got other scripts to work on at the moment... so i might leave that til later.



Regards,

TheVillageIdiot
Post Reply