Quote Originally Posted by DPZ2 View Post
Sending a FIN flagged packet does not mean the server is having problems. It means the server has not heard any acceptable traffic from your end for X number of seconds, indicating that something is wrong (hence the 'terminate session').
I'm not convinced that this is a server issue either, but there's not enough evidence here to say that the server hung up specifically because of a timeout. Though, per my edit, there's not enough evidence to rule it out, either.

All that "FIN, ACK" means is "I acknowledge receipt of all your segments up to n-1. Also, I'm hanging up." In a vacuum, there's no way to know why the server hung up. There could be a lot of reasons for that.

The game might use TCP keepalive; I don't specifically remember if it does. But I know for sure that it uses an in-band application-layer echo/response that goes out once per second. Even if your client continues to send data and respond to other application messages, missing too many of these specific heartbeat messages, will give you the DC icon, and eventually a server-side disconnect.

But there are plenty of other reasons it might hang up. The client might have sent a malformed or otherwise ah... "suspicious" client response (not that I'm accusing anyone), or the server/load balancer could have run into a resource limit, just to name a few.

Without a raw capture dump, it's pretty much impossible to say, and any conclusion would be premature. That includes the OP's assertion that there's something wrong server-side.

OP, could you provide a screenshot with more TCP history? At a minimum I need to be able to see the last time the server successfully ACK'd on of your segments so that I can determine how much time elapsed between that and the FIN, ACK response.