Enable inactivity timer
This inactivity timer affects clients only. If enabled, any clients who aren't active, will be kicked after ten minutes.
Summarized, activity qualifies as non-request, non-ping messages received by a listening destination.
What is activity:
- Any client -> channel messages sent on a channel with other peers on it.
- Any client -> peer messages.
- Any client -> server messages, if you have triggering of server conditions enabled.
You can enable it with the Enable/disable conditions > On message from client to server action.
What is not activity:
- Name set requests, even approved ones
- Channel join/leave requests, even approved ones
- Receiving messages from other clients or from the server
- Any client -> channel messages sent on a channel with no other peers on it.
(Worth noting Blue Client will quietly drop channel messages sent to a channel with no one on it.) - Any client -> server messages sent when triggering of server message conditions is disabled.
- Responding to the TCP or UDP ping messages, covered under the ping timer section of the Appendix topic.
The last activity time is updated whenever activity happens, and the duration since is checked by the ping timer. If it has been 10 minutes, the user is sent a message, then disconnected, and a server-side error is generated.
The client will receive a text message directly from server on subchannel 0:
You're being kicked for inactivity.
…and the server-side error will look like:
Disconnecting client ID XX due to inactivity timeout; client impl "implementation".
…which includes the client ID (Client > ID expression), and the client implementation (Client > Get client protocol implementation expression).
Notes
Some old versions of Blue/Relay did not always close their connections properly, resulting in the client app staying open invisibly in background, and if the server did not close the connection, the app would stay open indefinitely, as the clients would respond to the TCP pings but not be doing anything else.
If you won't be encountering old Client versions, then you can disable the inactivity timer property.
Client apps that are non-responsive (e.g. frozen on quit) will still be automatically disconnected if the inactivity timer is disabled, since they won't respond to the TCP pings.