Whoa - lots to break down here (3 second interval was a bit intense), but this also fits the pattern if we dig into it:
TCP 10.0.0.42:56657 137.221.97.120:3724 ESTABLISHED
Exiting the game to try and replicate DC
TCP 10.0.0.42:56657 137.221.97.120:3724 TIME_WAIT
When “exit game” is pressed normally, the connection goes into TIME_WAIT state, because a FIN was sent from the computer.
TCP 10.0.0.42:57046 137.221.97.120:3724 ESTABLISHED
Booted back to RECONNECT button on main screen
TCP 10.0.0.42:56657 137.221.97.120:3724 TIME_WAIT
TCP 10.0.0.42:57045 137.221.96.152:3724 TIME_WAIT
The session originating from 10.0.0.42:57046 has disappeared here, and only two sessions from above appear here - the connection from 10.0.0.42:57045 ↔ 137.221.96.152 that then dropped in favor of 97.120, and the 10.0.0.42:56657 ↔ 137.221.97.120 from the original “exit game”. An RST has been sent from either computer or server end - if a FIN had been sent from either end, 10.0.0.42:57046 should be in either “TIME_WAIT” or “CLOSE_WAIT”.
Logged back in, continued to play without getting disconnected well beyond me posting this
TCP 10.0.0.42:57141 137.221.96.152:3724 ESTABLISHED
After this, we reconnect to 137.221.96.152, and life is good again with no disconnects.
This all points to a similar issue that’s being experienced - thank you very much for the help!
Edit to explain what I’m looking at:
TCP: This protocol relies on two-way conversations called sessions. Netstat shows the status of these sessions.
ESTABLISHED: At the time of running netstat, a conversation is actively occurring between computer and server.
FIN: In the conversation metaphor, this is one end of the conversation saying “good talking to you, hope we chat again soon” - a graceful end to the conversation.
TIME_WAIT: This status is the “hope we chat again soon” part of the conversation. The conversation is over and has been terminated by the computer, but the server is still listening in case the computer wants to say “oh hey, I forgot to mention”.
CLOSE_WAIT: The inverse of TIME_WAIT. The conversation is over and has been terminated by the server, but the computer is still listening in case the server wants to say “oh hey, I forgot to mention”.
RST: This is one end of the conversation saying “don’t talk to me or my son ever again”. The conversation forcibly ends, and no "oh hey, I forgot to mention"s are allowed to happen. Any new conversation would require both computer and server to re-establish a completely new conversation.