Feature #5826
openFeature request: Custom ping timeout values.
0%
Description
Hey! Forgive me if this is already an option that I've just missed, but I've done a fair bit of searching around, and combed through the config files, and was unable to locate anything related to ping timeout values.
I like to participate on a network that has wildly varying ping times, this is unfortunately unavoidable and is normal behaviour for the network. This sometimes causes AdiIRC to disconnect when the ping exceeds whatever the built in timeout value is, even though the server I'm connected to is still up and will respond eventually.
I would really appreciate if an option could please be added either to the GUI or even just in the config files to define a custom ping timeout value, either on a per server basis, or program wide. Hopefully that isn't a big ask.
PA Updated by Per Amundsen 2 days ago
The ping timeout is 5 minutes, if you don't get a response in that time, something is wrong.
It's more likely a disruption in the network/socket connection which will disconnect you instantly, there is no way around that.
JV Updated by j v 2 days ago · Edited
Per Amundsen wrote in #note-2:
The ping timeout is 5 minutes, if you don't get a response in that time, something is wrong.
It's more likely a disruption in the network/socket connection which will disconnect you instantly, there is no way around that.
The IRC network in question is hosted over a peer to peer network, and the ping readings can indeed exceed five minutes. I actually just saw someone get a ping timeout of 320s a couple minutes ago, while still connected myself and able to use it just fine. I'm trying to increase the ping timeout because that's what other users of the network have done to mitigate this issue somewhat. I don't think the average latency is actually that high, because obviously over five minutes of latency would be virtually unusable, but this is what is reported as the disconnect reason, and as I said, increasing the timeout works for other users. I'm guessing that this is caused by some packets randomly taking a massively long amount of time to transit the network, just due to the nature of the network itself.
PA Updated by Per Amundsen 2 days ago
I see, you can try having Menubar -> File -> Rawlog open, when the disconnect occurs, copy/paste the last relevant few lines of the debug tab here.
JV Updated by j v 2 days ago
Per Amundsen wrote in #note-4:
I see, you can try having Menubar -> File -> Rawlog open, when the disconnect occurs, copy/paste the last relevant few lines of the debug tab here.
Here you go!
-> 11/21/25 02:11:37 - PING :irc.*******.*** <- 11/21/25 02:11:38 - :irc.*******.*** PONG irc.*******.*** :irc.*******.*** -> 11/21/25 02:12:39 - PING :irc.*******.*** <- 11/21/25 02:12:40 - :irc.*******.*** PONG irc.*******.*** :irc.*******.*** -> 11/21/25 02:13:41 - PING :irc.*******.*** -> 11/21/25 02:14:42 - PING :irc.*******.*** -> 11/21/25 02:15:43 - PING :irc.*******.*** -> 11/21/25 02:16:44 - PING :irc.*******.*** -> 11/21/25 02:17:44 - CAP LS 302 -> 11/21/25 02:17:44 - PASS ******************************** -> 11/21/25 02:17:44 - NICK *** -> 11/21/25 02:17:44 - USER *** 0 * :***
PA Updated by Per Amundsen 1 day ago
That looks like it's from the <servername> tab/list item in the left side, the "Debug" tab/list item should have the connect/disconnect information.
JV Updated by j v 1 day ago · Edited
Per Amundsen wrote in #note-6:
That looks like it's from the <servername> tab/list item in the left side, the "Debug" tab/list item should have the connect/disconnect information.
Oh, my mistake, here's a different disconnection incident's debug tab.
11/21/25 18:56:20 - Debug started 11/21/25 19:20:49 - ***.***.***.*** - SocketRead error: 0 bytes available 11/21/25 19:20:49 - ***.***.***.*** - OnError called Error = ReadError (Read error) 11/21/25 19:20:49 - ***.***.***.*** - AutoReconnect enabled 11/21/25 19:20:49 - ***.***.***.*** - AutoReconnect: 0 <= 99 11/21/25 19:20:49 - ***.***.***.*** - AutoReconnect: disconnecting 11/21/25 19:20:49 - ***.***.***.*** - Disconnect called True 11/21/25 19:20:49 - ***.***.***.*** - Disconnect step0 done 11/21/25 19:20:49 - ***.***.***.*** - Disconnect step1 done 11/21/25 19:20:49 - ***.***.***.*** - Disconnect step2 done 11/21/25 19:20:49 - ***.***.***.*** - ConnectThread Stop() called 11/21/25 19:20:49 - ***.***.***.*** - ReadThread Stop() called 11/21/25 19:20:49 - ***.***.***.*** - WriteThread Stop() called 11/21/25 19:20:49 - ***.***.***.*** - PingThread Stop() called 11/21/25 19:20:49 - ***.***.***.*** - Disconnect step3 done 11/21/25 19:20:49 - ***.***.***.*** - Disconnect step4 done 11/21/25 19:20:49 - ***.***.***.*** - Queueing reconnect in 5 seconds 11/21/25 19:20:54 - ***.***.***.*** - Connect called 11/21/25 19:20:54 - ***.***.***.*** - Connect called and working 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop started 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop looking up ***.***.***.*** 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop lookup host OK 11/21/25 19:20:54 - ***.***.***.*** - OnConnecting called 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop init socket 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop starting Pingthread 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop Pingthread started 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop starting socket connection to ***.***.***.***:**** 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop socket connected 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop connection is IPv4 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop starting Readthread 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop Readthread started 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop starting Writethread 11/21/25 19:20:54 - ***.***.***.*** - ConnectLoop Writethread started 11/21/25 19:20:54 - ***.***.***.*** - OnConnected called 11/21/25 19:20:54 - ***.***.***.*** - OnConnected running 11/21/25 19:20:54 - ***.***.***.*** - OnConnected server = ok, sent login info 11/21/25 19:20:54 - ***.***.***.*** - YOU ARE 100% CONNECTED 11/21/25 19:21:09 - Identd :A blocking operation was interrupted by a call to WSACancelBlockingCall
And here's the other tabs logs from the same time frame:
-> 11/21/25 19:15:41 - PING :irc.*******.*** <- 11/21/25 19:15:42 - :irc.*******.*** PONG irc.*******.*** :irc.*******.*** -> 11/21/25 19:16:44 - PING :irc.*******.*** -> 11/21/25 19:17:45 - PING :irc.*******.*** -> 11/21/25 19:18:46 - PING :irc.*******.*** -> 11/21/25 19:19:47 - PING :irc.*******.*** -> 11/21/25 19:20:48 - PING :irc.*******.*** -> 11/21/25 19:20:54 - CAP LS 302 -> 11/21/25 19:20:54 - PASS ******************************** -> 11/21/25 19:20:54 - NICK *** -> 11/21/25 19:20:54 - USER *** 0 * :***