Proper client timeout detection (#19906)

- Properly detect client timeout when logged into a character after a configurable time (default 60s) has passed without the client sending any packets.
- Fixes issues with crashed clients leaving characters in the world for a very long time (default 15 minutes), as well as edge case exploits involving intentionally pausing client execution for some amount of time.
This commit is contained in:
Treeston
2017-06-27 00:22:33 +02:00
committed by GitHub
parent 19fefbb72b
commit 7dfd472f8d
6 changed files with 27 additions and 10 deletions

View File

@@ -304,6 +304,15 @@ InstanceMapLoadAllGrids = 0
SocketTimeOutTime = 900000
#
# SocketTimeOutTimeActive
# Description: Time (in milliseconds) after which an idle connection is dropped while
# logged into the world.
# The client sends keepalive packets every 30 seconds. Values <= 30s are not recommended.
# Default: 60000 - (1 minute)
SocketTimeOutTimeActive = 60000
#
# SessionAddDelay
# Description: Time (in microseconds) that a network thread will sleep after authentication