For some players, when they disconnect from server, connection is not closed for 30 seconds

Issue #394 on hold
Matt Hands created an issue

When player leaves the server, his body (with name) remain behind for about 30 seconds, before the server actually removes the player pawn. Player can be shot and killed during this time. After 30 seconds the player dies and is announced as leaving the server.

During the 30 seconds, if the player attempts to reconnect, the server logs a duplicate connection received and does not accept it. The player hangs on the black connecting screen and has to F10 to exit, then reconnect again. The server logs:

NetComeGo: Open myLevel 09/13/15 15:17:09 192.168.1.5:61820 // new connection
Log: STEAMAUTH : Received duplicate connection for SteamID [1:12146380]
NetComeGo: Close TcpipConnection 192.168.1.5:64875 09/13/15 15:17:09 // old connection

When the player tries, unsuccessfully, to reconnect the 1st time, that action kills his body in game. It appears that on detecting a duplicate connection, as well as refusing the new connection, the server closes the old connection too, so properly disconnecting the player from the server. This is a Steam thing, I'm sure. But the root problem is that the player fails to disconnect from the server on exiting; all else is a symptom of that.

An old bug; at least in DH 5.1 and very likely RO as well. And for me this only happens with my main PC, all the time, but never with my old laptop. Both are using a wire connection through the same powerline adapter to the same router. I've tried with default DH.ini and User.ini files, so it's not a game config issue.

Comments (2)

  1. Andrew Theel

    You can modify the connection timeout for a server!

    [IpDrv.TcpNetDriver] ConnectionTimeout=30.0

    Having too low a value will cause people to disconnect all the time. We could probably safely lower to 15 seconds for our server (and recommend for other servers), but we should test it first.

    Now what I'm confused about. Is this you purposely losing connection or is this happening randomly? If you request to disconnect from the server this should not happen... but if you lose connection to the server then this WILL happen and server should drop your "pawn" within 30 seconds.

  2. Log in to comment